Waterloo SCRIPT GML User's Guide Department of Computing Services University of Waterloo Waterloo, Ontario Canada N2L 3G1 October 18, 1988 (c) Department of Computing Services, 1988 page ii Waterloo SCRIPT GML User's Guide Waterloo SCRIPT GML User's Guide page iii ABSTRACT A generalized markup language (GML) provides a convenient way of anno- tating document source for computerized composition. With the GML, each component of the document is identified by a "tag". For example, the GDOC tag indicates the start of the document, and the eGDOC tag indicates the end of the document. This document describes a GML for use with Waterloo SCRIPT. The input for a GML-prepared document is a SCRIPT file of the following form: .im GMLxxxxx :GDOC :FRONTM the front-matter component :eFRONTM :BODY the body component :eBODY :APPENDIX the appendix component :eAPPENDIX :BACKM the back-matter component :eBACKM :eGDOC The "GMLxxxxx" file that you imbed at the beginning controls the lay- out of the resulting output. The layouts defined to date are described in the first appendix. The GMLguide layout was used to produce this document. Additional layouts are described in the second appendix. page iv Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Waterloo SCRIPT GML User's Guide page v ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ THE ROLES IN THE DOCUMENT-PRODUCTION PROCESS This User's Guide describes a mark-up language that has been designed to conform to a general class of documents encompassing a wide variety of layout styles. As such, the User's Guide describes two related but very different items: 1. the set of GML tags appropriate to that class of documents 2. the different layouts supporting that set of tags The extent to which you will need to know and need to use the informa- tion contained herein is, therefore, dependent on which role(s) you are fulfilling. Notes to Authors The information below describes an organizational-unit approach to the overall task of document preparation, production, and maintenance, in parallel with the authoring role. In many environments, the author may be the one and only person carrying out all of these tasks. Organizational Considerations The preparation, production, and maintenance of documentation involves four distinct and very different sets of responsibilities and skills. Document Administrator: This is the individual who has overall responsibility for determining what documents are to be produced, what the component parts of those documents are, for defining docu- ment layout standards (what the finished results must look like), and for the selection and supervision of those fulfilling the addi- tional roles described below. Requirements for this role include an understanding of the process of document-component analysis, the aesthetics of "good" layout design, and the capabilities of the computer-based system being used. Text Programmer: The Text Programmer implements a set of high-level markup tags that represent the component parts of the documents, implements the associated processing functions that will recognize those tags and produce a composed document that adheres to the lay- out standards, and documents the tags for use by those described below. Requirements for this role include programming ability and a thorough working familiarity with the process of document-component analysis and the capabilities of the computer-based system as they pertain to the application. Mark-up Editor: The Mark-up Editor receives manuscripts from authors and pencils in the markup tags to identify the component parts of the document. Requirements for this role include editorial authori- page vi Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ties and a thorough working familiarity with the set of markup tags that have been designed for the application. Text-Entry Operator: After the manuscript has been processed by the Mark-up Editor, the Text-Entry Operator uses the system to enter the manuscript text and markup tags into "document files" and to output formatted documents. Requirements for this role include an excel- lent typing ability and a working familiarity with the text-editor program of the system. In any organizational unit with responsibilities for preparing, pro- ducing, and maintaining documentation, the success of the overall effort is clearly dependent on matching the responsibilities with the individuals who have the required skills and the enthusiasm for using them. While the responsibilities of Document Administrator will be assigned to one and only one individual within the unit (for obvious practical reasons), the nature of the workload will determine how the other three roles are assigned ... the number of people per role, or the number of roles per person. Notes to Document Administrators Only you can determine whether these GML tags and layouts, as they currently exist, meet your requirements. It is possible that the GML tags described herein are appropriate for the kinds of documents you must produce, but there may not be a layout that meets your require- ments. In that case, your Text Programmer will have to create the additional layout(s) that you require. It is also possible that these particular GML tags do not adequately describe the components of the kinds of documents that you must produce. In that case, you and your Text Programmer can still use this document as a case-study example in designing a particular set of GML tags to meet your own requirements, and your Text Programmer can implement SCRIPT macros and whatever dif- ferent layout variations are required, and write a user's guide for use by your Mark-up Editor(s) and Text-Entry Operator(s). Waterloo SCRIPT GML User's Guide page vii ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ IMPLEMENTATION NOTES Compatibility of the Standard Tag Set and Layouts The tags described herein are an expanded version of a "GML Starter Set" that is part of an IBM program product called DCF, the Document Composition Facility [2]. The GML tags shown below are NOT described by the DCF/GML tag set, and should not be used if you are concerned about the portability of your document, either to a non-SCRIPT-based GML processor or to a computing installation that might use IBM's DCF instead of Waterloo SCRIPT. BIBID, BIBREF, BL, BIB, eBL the tags for bibliographic references and bibliography list BOX, eBOX the tags for boxes EN, eEN, ENDNOTES, ENREF the tags for endnotes INCLUDE include an external file SET set a global default (described in an appendix) TABID, FIGID the tags for pre-generating table and figure numbers tables the tags for tables * the comment tag, :* In addition, the following tags function differently: FN the footnote reference is always generated, independent of the ID attribute's presence or absence UL may be nested to a depth of six, instead of three. The Non-Standard Tag Sets and Layouts Neither the non-standard layouts nor the tags peculiar to them are known to exist with any other implementation of a GML-based document- composition processor. page viii Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Beware! While this implementation of GML is built on top of Waterloo SCRIPT, it is intended that you DO NOT USE SCRIPT control words in your docu- ments. The implementation of the processing function for each GML tag alters the underlying SCRIPT environment in various manners, and SCRIPT control words may only be used safely within the body of a table, a figure, or an example component. Waterloo SCRIPT GML User's Guide page ix ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ CONTENTS Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii The Roles in the Document-Production Process . . . . . . . . . . . v Notes to Authors . . . . . . . . . . . . . . . . . . . . . . . . v Organizational Considerations . . . . . . . . . . . . . . . . . v Notes to Document Administrators . . . . . . . . . . . . . . . . vi Implementation Notes . . . . . . . . . . . . . . . . . . . . . . vii Compatibility of the Standard Tag Set and Layouts . . . . . . vii The Non-Standard Tag Sets and Layouts . . . . . . . . . . . . vii Beware! . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Part 1: Tags, Attributes, and Text . . . . . . . . . . . . . . . . 1 GML Tag Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 1 Tag Name . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Tag Text . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Heading Tagtext . . . . . . . . . . . . . . . . . . . . . 2 Start of Text Block . . . . . . . . . . . . . . . . . . . 2 Continued Text . . . . . . . . . . . . . . . . . . . . . . 2 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . 2 GDOC and eGDOC Tags and Attributes . . . . . . . . . . . . . . . 3 Language Customization . . . . . . . . . . . . . . . . . . . . . 3 The INCLUDE Tag . . . . . . . . . . . . . . . . . . . . . . . . 4 The Comment Tag . . . . . . . . . . . . . . . . . . . . . . . . 4 Part 2: The Front Matter . . . . . . . . . . . . . . . . . . . . . 5 The Title Page . . . . . . . . . . . . . . . . . . . . . . . . . 5 Title . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Author . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Address . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Document Number . . . . . . . . . . . . . . . . . . . . . . . 7 Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Copyright Line . . . . . . . . . . . . . . . . . . . . . . . 7 Copyright Notice . . . . . . . . . . . . . . . . . . . . . . 7 Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Tables of Contents . . . . . . . . . . . . . . . . . . . . . . . 8 Part 3: The Body . . . . . . . . . . . . . . . . . . . . . . . . . 11 Heading Levels -- the Divisions of the Body . . . . . . . . . . 11 Layout-Dependent Considerations . . . . . . . . . . . . . . . 11 Level-Zero Components . . . . . . . . . . . . . . . . . . . . 12 Level-One Subheadings . . . . . . . . . . . . . . . . . . . . 12 page x Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Referring to Headings . . . . . . . . . . . . . . . . . . . . 12 Part 4: The Appendix Component . . . . . . . . . . . . . . . . . . 15 Part 5: The Back Matter . . . . . . . . . . . . . . . . . . . . . 17 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 The Bibliography . . . . . . . . . . . . . . . . . . . . . . . . 17 The Bibliographic Items . . . . . . . . . . . . . . . . . . . 18 Referencing Bibliographic Items . . . . . . . . . . . . . . . 18 Numbered Bibliography Lists . . . . . . . . . . . . . . . . . 18 Labelled Bibliography Lists . . . . . . . . . . . . . . . . . 19 Referencing a List or Range of Items . . . . . . . . . . . . 19 Other Back-Matter Components . . . . . . . . . . . . . . . . . . 20 Part 6: Basic Document Components . . . . . . . . . . . . . . . . 21 Paragraphs . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Footnotes . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Footnote Identifiers and References . . . . . . . . . . . . . 22 Creating a Footnote to a Level-One Heading . . . . . . . . . 23 Creating a Footnote to the Document TITLE . . . . . . . . . . 23 Endnotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Additional References to an Endnote . . . . . . . . . . . . . 24 Positioning the Endnotes . . . . . . . . . . . . . . . . . . 24 Citations . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Quotations . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Long Quotations . . . . . . . . . . . . . . . . . . . . . . . 25 Short Quotations . . . . . . . . . . . . . . . . . . . . . . 25 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Highlighted Phrases . . . . . . . . . . . . . . . . . . . . . . 26 Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 List Structures . . . . . . . . . . . . . . . . . . . . . . . . 27 Ordered Lists . . . . . . . . . . . . . . . . . . . . . . . . 27 Unordered Lists . . . . . . . . . . . . . . . . . . . . . . . 29 Simple Lists . . . . . . . . . . . . . . . . . . . . . . . . 29 List Items with Headings . . . . . . . . . . . . . . . . . . 29 Referring to List Items . . . . . . . . . . . . . . . . . . . 31 Definition Lists . . . . . . . . . . . . . . . . . . . . . . 31 Definition Lists with Term and Description Headings . . . . . 32 Glossary Lists . . . . . . . . . . . . . . . . . . . . . . . 32 Nesting Various Types of Lists . . . . . . . . . . . . . . . 33 Interrupting the Items in a List -- the List Paragraph . . . 33 Tables and Figures . . . . . . . . . . . . . . . . . . . . . . . 34 Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Defining the Body of a Table or Figure . . . . . . . . . . . 35 Pasted-In Material . . . . . . . . . . . . . . . . . . . . 36 Waterloo SCRIPT GML User's Guide page xi ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Textual Material . . . . . . . . . . . . . . . . . . . . . 36 Textual and Pasted-In Material . . . . . . . . . . . . . . 36 Referencing Tables and Figures . . . . . . . . . . . . . . . 36 Forward Out-of-Sequence References . . . . . . . . . . . . . 37 Referencing a List or Range of Figures or Tables . . . . . . 37 Formulae . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 In-Line Formula . . . . . . . . . . . . . . . . . . . . . . . 38 Display-Mode Formula . . . . . . . . . . . . . . . . . . . . 38 Numbering a Display-Mode Formula . . . . . . . . . . . . . . 38 Referring to a Numbered Display-Mode Formula . . . . . . . . 39 Process-Specific Code . . . . . . . . . . . . . . . . . . . . . 39 Tags for Constructing Indexes . . . . . . . . . . . . . . . . . 39 Index Terms and Page References . . . . . . . . . . . . . . . 39 The Index-Term Tags . . . . . . . . . . . . . . . . . . . . . 40 An Example . . . . . . . . . . . . . . . . . . . . . . . . . 40 Index-Term Identifiers . . . . . . . . . . . . . . . . . . . 40 Special Page References . . . . . . . . . . . . . . . . . . . 41 Repeating an Index Term . . . . . . . . . . . . . . . . . . . 41 The Index-Header Tags . . . . . . . . . . . . . . . . . . . . 42 Printing the Resulting Index in the Back Matter . . . . . . . 42 Multiple Indexes . . . . . . . . . . . . . . . . . . . . . . 42 Appendix A: Layouts for the Standard Tagset . . . . . . . . . . . 45 Major Features of the Standard-Tagset Layouts . . . . . . . . . 45 Miscellaneous Layouts . . . . . . . . . . . . . . . . . . . . . 45 GMLgdoc . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 GMLfoils . . . . . . . . . . . . . . . . . . . . . . . . . . 45 GMLsdoc . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 GMLresum . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Manuals and Reports . . . . . . . . . . . . . . . . . . . . . . 47 GMLguide . . . . . . . . . . . . . . . . . . . . . . . . . . 47 GMLman . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 GMLrefg . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 GMLss . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 GMLworkt . . . . . . . . . . . . . . . . . . . . . . . . . . 47 GMLuwcpc . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Layouts for Papers . . . . . . . . . . . . . . . . . . . . . . . 47 GMLpaper . . . . . . . . . . . . . . . . . . . . . . . . . . 47 GMLaipj . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 GMLapaj . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 GMLieee . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 GMLmwcs . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 GMLnhcrc . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Layouts for Theses . . . . . . . . . . . . . . . . . . . . . . . 48 GMLthesi . . . . . . . . . . . . . . . . . . . . . . . . . . 48 GMLapa . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 GMLmla . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Additional Tags for the Front Material of a Thesis . . . . . . . 48 THESIS . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 COURSE . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 page xii Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DECLARE . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 BORROW . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Appendix B: Layouts for the Non-Standard Tagsets . . . . . . . . . 50 GMLgroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 GMLlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 GMLmemo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 GMLmins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Confidential Minutes, Drafts, Etc . . . . . . . . . . . . . . 55 Meeting Agendas . . . . . . . . . . . . . . . . . . . . . . . 56 GMLagree . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 GMLpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Using GMLpp for Job-Description documents . . . . . . . . . . 57 Appendix C: The SET Tag . . . . . . . . . . . . . . . . . . . . . 58 Number of Heading Levels . . . . . . . . . . . . . . . . . . . . 58 Page Settings . . . . . . . . . . . . . . . . . . . . . . . . . 58 Line-Spacing Modes . . . . . . . . . . . . . . . . . . . . . . . 59 Font Selections for Special Output Devices . . . . . . . . . . . 59 Relative Numbering . . . . . . . . . . . . . . . . . . . . . . . 60 Bibliography-List Styles . . . . . . . . . . . . . . . . . . . . 61 Figure and Table Names . . . . . . . . . . . . . . . . . . . . . 61 Figure and Table Printing . . . . . . . . . . . . . . . . . . . 62 Heading-Level Names . . . . . . . . . . . . . . . . . . . . . . 62 Heading-Level Numbering Styles . . . . . . . . . . . . . . . . . 62 Heading Levels in the Table of Contents . . . . . . . . . . . . 62 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Ordered-List Annotation Styles . . . . . . . . . . . . . . . . . 63 Indentation for Basic Document Components . . . . . . . . . . . 63 Vertical Spacing for Document Components . . . . . . . . . . . . 64 Numbering All Display-Mode Formulae . . . . . . . . . . . . . . 64 Appendix D: Summary of Tags, Attributes, and Values for the Standard Tagset . . . . . . . . . . . . . . . . . . . 65 Appendix E: Multiple-Font Output Devices . . . . . . . . . . . . . 73 Appendix F: Using SCRIPT . . . . . . . . . . . . . . . . . . . . . 74 Output Devices and Output-Page Margins . . . . . . . . . . . . . 74 SCRIPT Options . . . . . . . . . . . . . . . . . . . . . . . . . 74 Specifying Your Own Fonts . . . . . . . . . . . . . . . . . . . 75 Beware! . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Waterloo SCRIPT GML User's Guide page xiii ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 FIGURES 1. This is the Figure Caption . . . . . . . . . . . . . . . . . . 34 TABLES 1. This is the Table Caption . . . . . . . . . . . . . . . . . . . 35 2. The Table Caption . . . . . . . . . . . . . . . . . . . . . . . 37 3. Major Features of the Standard-Tagset Layouts . . . . . . . . . 46 page xiv Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Waterloo SCRIPT GML User's Guide page 1 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Part 1 TAGS, ATTRIBUTES, AND TEXT GML TAG SYNTAX A tag can appear anywhere on an input line; it does not have to start at the beginning of the input line. The various ways in which a GML tag can be specified can be represented as follows: :tagname :tagname.tagtext :tagname attribute list :tagname attribute list.tagtext In this document, items enclosed in "<" and ">" characters represent optional specifications; for example, :tagname< attributes>.tagtext documents a tag for which attributes are optional but tagtext is required. Tag Name In its simplest form, a GML tag consists of the GML tag-indicator character (the colon) followed by the tagname; for example, :tagname The tagname may be specified in uppercase, lowercase, or a mixture. Throughout this document, uppercase characters are used to represent things that you must specify exactly as documented, and lowercase characters are used where you are to specify something of your own choosing. Tag Text Some tags either require or accept "tag text". In that case, the GML tag is used as :tagname.tagtext The period is only required after the tagname in those cases where tagtext appears. page 2 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Heading Tagtext: Some of the GML tags treat the tagtext as a heading (see H1, for example). These tags are documented as :tagname.Heading Tagtext The first letter of each significant word in the heading text should be capitalized. The appearance of the heading in the resulting docu- ment is dependent on the layout you have selected. Start of Text Block: With tags that are documented in the form :tagname.Start of text block ... the tagtext represents the start of text for a block (see P, for exam- ple). It is not necessary that the tag be used with tagtext; :tagname Start of text block ... will produce the same result. Continued Text: With tags that are documented in the form :tagname.continued text the first character of the tagtext (if any is specified) will be placed immediately after the last character already on the output line, without any intervening blanks (see eFN, for example). There- fore, you should not specify tagtext with such tags unless that is what you want to achieve. Attributes In their fullest form, some GML tags can consist of the GML tag indi- cator, the tagname, an "attribute list", a period, and tagtext; for example, :tagname attribute list.tagtext There are two forms of attributes. In the more common form, an attri- bute consists of an attribute name, an "=", and a value, without intervening blanks. In the less common form, an attribute name by itself is used. For example, :tagname att1=value1 att2 att3=value3.tagtext If an attribute's value contains anything other than letters and dig- its, it must be delimited by apostrophes or quotes, such as :tagname attname='the value' :tagname attname="it's the value" :tagname attname='1.5' Waterloo SCRIPT GML User's Guide page 3 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ A reference summary of all tags and their attributes and values is provided in an appendix. GDOC AND EGDOC TAGS AND ATTRIBUTES The GDOC and eGDOC tags are always required. The SEC= attribute of the GDOC tag enables you to specify a "security classification" or to indicate that the document is a "draft" version. For example, :GDOC SEC='Confidential' indicates that the information in the document is confidential, where- as :GDOC SEC='Draft' indicates that the document is not yet in its final form. Most of the GML layouts utilize the value of the SEC= attribute as information to be included on the title page, if a value has been specified for SEC=. Some also include the SEC= value in top or bottom running titles; layouts that do not currently utilize the SEC= value will be enhanced to do so in some future version. LANGUAGE CUSTOMIZATION Many of the GML layouts cause words to appear in output pages in ways that are not associated with specific GML tags or the text from your input files. For example, the word "page" may be generated as part of the "page numbering" that a layout performs. By default, all such words are in English. However, it is possible to specify that such words should be generated in some other language, by specifying :GDOC LANGUAGE=value where "value" may be one of ENGLISH, FRENCH, GERMAN, SPANISH, or SWEDISH. (Doing so will also cause the Waterloo SCRIPT document- composition program to use a set of hyphenation rules appropriate to the specified language.) page 4 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ THE INCLUDE TAG You may often find it useful to prepare large documents as a series of smaller input files. The INCLUDE tag allows you to specify that the contents of another file are to be included during processing: :INCLUDE FILE=filename The file to be included may contain whatever combination of text and/ or tags is appropriate. The INCLUDE tag may also be useful if you are preparing memos (see the GMLmemo layout), since it enables you to construct the distribu- tion list by including one or more files containing people's names. THE COMMENT TAG The :* tag may appear anywhere in an input line. It causes the rest of the input line to be ignored. Waterloo SCRIPT GML User's Guide page 5 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Part 2 THE FRONT MATTER The front matter of a document includes the title-page components and any other preliminary information, including the tables of contents. The start and end of the front matter are identified with the FRONTM and eFRONTM tags: :FRONTM tags and text for the front matter <:eFRONTM> With most of the GML layouts, all of the pages in the front matter of a document will be numbered in lowercase roman numerals. The tags that may be used to identify the components of the front matter are described below. THE TITLE PAGE The input for the title page is prepared in the following form: :TITLEP tags for the title-page components :eTITLEP The TITLEP tag indicates the start of the information that is to appear on the title page, and the eTITLEP tag indicates the end of that information. The layout of the title-page information depends on the GML layout that you have selected; some produce a "full" title page, and others produce a "partial" title page in which the title- page information occupies only as much of the first page as it requires. For layouts that produce a full title page, the title page will be considered as page "i", although a page number will not be printed on that page. The tags that describe the components of the title page are dis- cussed below. It is not necessary that you use all of them. Title The title of the document is described by the TITLE tag. It is of the form :TITLE.This is the Title of the Document page 6 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Some of the GML layouts also cause the title to be used as a running title at the top or bottom of subsequent even- and/or odd-numbered pages. If the title is too long to be suitable for this purpose, you can provide a shortened version of that title by including the STITLE attribute: :TITLE stitle='Short Title'.Full Title Multi-line titles can be defined by repeated use of the :TITLE tag: :TITLE.First Line of Title :TITLE.Second Line of Title :TITLE.Last Line of Title With those layouts that use the title as a running title, only the title (or short title) from the first TITLE tag is used for the run- ning title. Author The name of the author is specified as: :AUTHOR.Name of Author If the document has more than one author, repeat the AUTHOR tag for each author's name. Address If it is appropriate to place the name and address of the author's organization on the title page, then indicate the start of that infor- mation by using the ADDRESS tag, describe each line of the address information by using the ALINE tag, and indicate the end of the address information by using the eADDRESS tag: :ADDRESS :ALINE.Company name :ALINE.first line of address . . :ALINE.last line of address :eADDRESS Waterloo SCRIPT GML User's Guide page 7 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Document Number If the document is part of a series that has some form of publication series number, that number is specified as: :DOCNUM.document number Date The DATE tag, if specified by itself, will cause today's date to appear on the title page. If specified with text, as in :DATE.date of publication that text will be used as the date of publication of the document. Copyright Line The COPYRIGHT tag causes a copyright line to be included in the title- page information. It is of the form :COPYRIGHT<.Text Line> If tagtext is specified, the copyright line will consist of a copy- right symbol followed by the specified tagtext. If no tagtext is specified, the information in the resulting copyright line will depend on the layout you have selected. Copyright Notice The COPYNOTE tag indicates the start of a "copyright notice" text block that is to appear after the copyright line. The copyright notice is of the form :COPYNOTE<.Start of text block> more text for the copyright notice :eCOPYNOTE ABSTRACT If the document requires an Abstract, the heading and text are speci- fied as: :ABSTRACT<.Heading Text> text of the abstract <:eABSTRACT> page 8 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ If specified without heading text, the word "Abstract" will be used for the heading. PREFACE Any additional preliminary components that are required in the docu- ment must be identified as follows: :PREFACE<.Heading Text> text for this component <:ePREFACE> If used by itself without heading text, the PREFACE tag will use "Pre- face" for the heading. TABLES OF CONTENTS The tables of contents are the last components of the front matter. They consist of three optional components: the table of contents, the list of figures, and the list of tables. They are specified as :TOC<.Heading Text> :FIGLIST<.Heading Text> :TABLIST<.Heading Text> The information that will appear in these components is collected automatically from the tagtext of all heading-level, figure-caption, and table-caption tags in your document. If your document is not large enough to warrant the inclusion of any or all of these compo- nents, specify only the one(s) you want. All three tags are ignored by the layouts in the "paper" category, since papers are smaller docu- ments that do not warrant tables of contents. The table of contents will include the heading text of all level- zero through level-four heading tags in the document; if TOC is speci- fied without tagtext, the heading will be "Contents". The list of figures will include the figure captions of all of the figures in the document; if FIGLIST is specified without tagtext, the heading will be "Figures". The list of tables will include the table captions of all of the tables in the document; if TABLIST is specified without tag- text, the heading will be "Tables". Note: The tables of contents are the last components of the front matter of a document. If you are SCRIPTing your document in single- pass mode, however, the tables-of-contents entries for the body, appendix, and back matter have not yet been encountered. Therefore, the tables of contents will be printed at the end of the document, and it is your responsibility to move the resulting pages of output to Waterloo SCRIPT GML User's Guide page 9 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ their proper position in the document. If you SCRIPT your document in multiple-passes mode, the tables of contents will print in their prop- er place, as the last components of the front matter. However, multiple-passes processing consumes additional resources. It is therefore not recommended unless you have some other compelling reason for using it. page 10 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Waterloo SCRIPT GML User's Guide page 11 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Part 3 THE BODY The start and end of the body of the document are identified with the BODY and eBODY tags: :BODY tags and text for the body <:eBODY> HEADING LEVELS -- THE DIVISIONS OF THE BODY The body of the document will consist of one or more level-one divi- sions, each with a heading. The start of each level-one division is specified as :H1.Heading Text text and "basic document components" If a level-one division is large enough that it needs to be sub- divided, the start of each second-level division is specified as :H2.Heading Text text and "basic document components" In the same fashion, a level-two division can be sub-divided using a H3 tag, level-three divisions by H4, level-four divisions by H5, and level-five divisions by using the H6 tag. Layout-Dependent Considerations The tagtext for each heading level will be composed in a style appro- priate to the layout you have selected and the output device for which you are SCRIPTing the document. Some of the GML layouts also use the level-one and level-two head- ings as running titles at the tops and/or bottoms of subsequent even- and/or odd-numbered pages. If the heading text is too long to be suitable for this purpose, then you may specify the STITLE attribute, in the manner described for the TITLE tag. The ABSTRACT and PREFACE tags are logically level-one components. Therefore, you may also use the H2, H3, ... tags to subdivide those components. page 12 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Level-Zero Components A special tag, H0, is provided for large documents in which it is appropriate to group the level-one divisions of the body. For exam- ple, one might do this in a thesis or reference manual, thereby group- ing into "parts" the level-one divisions that comprise the "chapters". Level-One Subheadings A H1SUB tag exists for those situations in which additional heading text is required immediately after a level-one heading. For example, the input sequence :H1.Heading Text :H1SUB.Additional Heading Text :H1SUB.And Still More Heading Text text and "basic document components" specifies a level-one heading followed by two level-one subheadings. The tagtext for the subheadings will be composed immediately after the level-one tagtext, in the same style as the level-one heading. Level- one subheadings are not included in the table of contents. Referring to Headings In order to generate a reference to a heading, you must assign that heading an identifier. All of the heading-level GML tags (H0 through H6, and all other tags equivalent to H1) provide an ID= attribute that allows you define such an identifier. For example, the heading above was specified in the form :H2 ID=hd2ref.Referring to Headings The name of the identifier can contain from one to seven characters, and can be used in the HDREF tag to generate a reference to that par- ticular heading. For example, the input sequence This is discussed under the heading :HDREF REFID=hd2ref., and this particular example is known as a :Q.backward reference:eQ.. results in: This is discussed under the heading "Referring to Head- ings", and this particular example is known as a "backward reference". If tagtext is specified with the HDREF tag, it will be treated as con- tinued text. If the heading and the heading reference are on different pages of the composed document, then the words "on page" and the number of the page on which the heading appears will be generated as part of the heading reference. Waterloo SCRIPT GML User's Guide page 13 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Note: You will sometimes wish to generate a reference to a heading at some point in the document before that heading occurs. This is known as a forward reference ... you are referring to something that occurs later in the input sequence. In order to achieve the correct output, you must SCRIPT your document in multiple-pass mode. page 14 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Waterloo SCRIPT GML User's Guide page 15 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Part 4 THE APPENDIX COMPONENT If the document has appendices, they normally belong after the body and before the start of the back matter (if there is any). The start and end of the appendix component are indicated by :APPENDIX tags and text for each appendix <:eAPPENDIX> The start of each appendix is specified by the H1 tag, :H1<.Heading Text> page 16 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Waterloo SCRIPT GML User's Guide page 17 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Part 5 THE BACK MATTER The back matter of a document, if there is any, will usually consist of components such as bibliographies, glossaries, and indexes. The start and end of the back-matter components are identified with the BACKM and eBACKM tags: :BACKM tags and text for the back matter <:eBACKM> The tags specific to the back matter are described below. INDEX GML provides tags for generating index-item entries (discussed later). If you have used these index-item tags to create index entries for your document, then use the tag :INDEX<.Heading Text> to define the index heading and to cause the index entries to be com- posed and included in the output. The index heading is logically a level-one heading; if tagtext is not specified, the heading will be "Index". THE BIBLIOGRAPHY The heading for the bibliography is indicated with a H1 tag. The bib- liography is a list of bibliographic items. Its start is indicated by the BL tag, and its end by the eBL tag. The input sequence for a bib- liography will therefore be in the following form: :H1.Bibliography Text prior to the list, if desired. :BL first bibliographic item ... last bibliographic item :eBL Text following the list, if desired. page 18 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The Bibliographic Items The input sequence to define an item in the bibliography list is of the form: :BIB Author's Name, Initials. :CIT.Title of Cited Work:eCIT.. other information The CIT and eCIT tags indicate the start and end of the title of the cited work. Most manuals of style are quite specific as to the other information that is required in a bibliographic item; if you are using a GML layout that has been designed to adhere to the require- ments of some specific manual of style, please consult that manual for the exact nature and ordering of this other information. Referencing Bibliographic Items At various places throughout your document, you will need to make ref- erence to items that are in your bibliography. Most modern manuals of style suggest that you place some combination of the author's name and the date of publication in (parentheses) or [brackets] at the point of reference, since this provides both an immediate indication of the source and the least disruption in the readability of the document. Other manuals of style suggest that you use a footnote or endnote to provide that information. Still others suggest that you provide some form of numeric annotation reference number, and that the bibliograph- ic list be numbered accordingly. Unless you must adhere to this numeric-list-annotation style, you do not need to read the remaining information on "The Bibliography" on page 17. Numbered Bibliography Lists Some of the GML layouts will automatically number the bibliography list. To gain access to these reference numbers, you must assign a unique identifier to each of the BIB tags in your bibliography list, as :BL :BIB ID=name1 ... :BIB ID=name2 ... :eBL The identifier name may contain no more than eight characters. You must also use the BIBID tag to pre-generate the reference numbers at the beginning of the document, in the same order as you have defined the items in the bibliography list: Waterloo SCRIPT GML User's Guide page 19 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ :GDOC :BIBID REFID=name1 :BIBID REFID=name2 :BIBID REFID=name3 ... At any point in your document where you must refer to an item in your bibliography list, you then use the BIBREF tag: :BIBREF REFID=name<.continued text> For example, the input sequence As discussed in :BIBREF REFID=turab., this is how you refer to a bibliographic item. will produce a bibliographic reference in the style of the GML layout you are using; in the layout being used to produce this document, the above input sequence results in: As discussed in [12], this is how you refer to a bibliographic item. If you are using a GML layout that numbers the items in the bibli- ography list and you wish to eliminate that numbering, you must use the SET tag (described in an appendix) to set the bibliographic refer- ence style to NONE. If you are using a GML layout that does not num- ber the items in the bibliography list and you wish to force that num- bering, you must use the SET tag to set the bibliographic reference style to NUMBER. Labelled Bibliography Lists A few manuals of style suggest that you devise a short "label" for each item in your bibliography list, formed by taking the first few characters of the (primary) author's last name and the year of publi- cation, plus a letter to identify more than one work by that author in that year (if needed). To do this, you must use the SET tag (described in an appendix) to set the bibliographic reference style to LABEL, and specify the label as the ID attribute of BIB and the REFID attribute of the BIBREF tag. Do not use the BIBID tag. Referencing a List or Range of Items The REFID attribute can be specified in a list-notation and/or a range-notation form, as well; for example, :BIBREF REFID='one two three' :BIBREF REFID='one-two' :BIBREF REFID='one two-three four' page 20 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The first is a list of three items that will be punctuated as "1,2,3". The second is a range of two items that will be punctuated as "1-2". The third is a list of four items that will be punctuated as "1,2-3,4". OTHER BACK-MATTER COMPONENTS If additional back-matter components are required, they must be initi- ated by using the H1 tag. Waterloo SCRIPT GML User's Guide page 21 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Part 6 BASIC DOCUMENT COMPONENTS There are a great many document components that may appear (almost) anywhere in the front matter, body, appendix, and back matter. PARAGRAPHS The start of a paragraph is indicated with the P tag, :P.Start of text block ... rest of paragraph text block It is considered "bad style" in most publications to indent the first line of the first paragraph after a heading. Therefore, it is suggested that you avoid using P in the manner :Hn.Heading Text :P.Start of text block ... and instead think of P as that which marks the end of one paragraph and the start of the next. NOTES A note is a block of text that is intended to qualify or clarify. The NOTE and eNOTE tags are used to create a note, in the form :NOTE.Start of note block ... more of note block ... last of note block. <:eNOTE> For example, the above input sequence produces: Note: Start of note block ... more of note block ... last of note block. page 22 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ FOOTNOTES The FN and eFN tags are used to define the start and end of a block of footnote text: This is the sentence containing the word :FN.Start of text block ... rest of footnote text block. :eFN., and the footnote text appears below. The last word before the FN tag will have a footnote reference number appended to it, and the footnote text block will appear at the bottom of the current output page (or column, if the layout being used pro- duces its output in multiple-columns-per-page mode). For example, the sequence above produces the following result: This is the sentence containing the word¶, and the footnote text appears below. If tagtext is specified with the eFN tag, it will be treated as continued text. Footnote Identifiers and References The FN tag provides an ID attribute that defines a footnote identifier name: :FN ID=name.Start of text block ... The name can contain up to seven letters and/or digits. The FNREF tag allows you to generate another footnote reference to a previous footnote, by specifying its identifier name as the REFID attribute: :FNREF REFID=name.continued text For example, the input sequence One of the footnotes in this document :FNREF REFID=foot was defined with ID=foot. results in: One of the footnotes in this document¶ was defined with ID=foot. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ¶ Start of text block ... rest of footnote text block. This second sentence is included to demonstrate the offset of subsequent lines of the text block. Waterloo SCRIPT GML User's Guide page 23 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Creating a Footnote to a Level-One Heading The H1 tag accepts a special-case FNID attribute that causes it to generate a footnote reference symbol after the text of the level-one heading. The H1 tag is followed by the FN/eFN footnote block, as shown below. :H1 FNID=idname.Creating a Footnote to a Level-One Heading :FN REFID=idname This footnote refers to the above level-one heading. :eFN Creating a Footnote to the Document TITLE The TITLE tag also accepts the FNID attribute. However, the subse- quent FN/eFN block must not be contained within the range of the TITLEP/eTITLEP tags; instead, it must follow immediately after the eTITLEP tag. Note: This severely limits the usefulness of the FNID attribute with the TITLE tag when used with a layout that produces a full-page titlepage, since the footnote will appear at the bottom of the next page, not at the bottom of the titlepage. It is hoped that it may be possible to rectify this shortcoming in some future implementation. ENDNOTES A footnote is that which comes at the bottom (foot) of something. An endnote is that which comes at the end of something. Endnotes are created in much the same way as footnotes. The EN tag defines the start of the endnote text block, and the eEN tag defines its end. They are used in the following fashion: Sentence containing a word :EN.Start of endnote text block ... rest of endnote text block. :eEN<.continued text> for which an endnote is to be generated. The above input sequence produces the following: Sentence containing a word[1] for which an endnote is to be generated. page 24 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Additional References to an Endnote The ENREF tag allows you to make additional references to an endnote that has been specified with the ID attribute. For example, if the endnote above had been defined with :EN ID=above then This is an additional reference to the previous endnote :ENREF REFID=above.. produces: This is an additional reference to the previous endnote [1]. Positioning the Endnotes You control where you want the endnotes to be printed, by specifying the ENDNOTES tag.ý Any already-defined endnotes will be printed at that point in the document, and endnote numbering will resume at 1 for the first endnote defined thereafter. Therefore, you can use it as many times as you wish. For example, you might define endnotes and then cause them to be printed at the end of each level-one division of the body of your document. For example, the following input sequence :H2.Positioning the Endnotes You control where you want ... rest of text comprising the above discussion ... results in: :ENDNOTES followed by additional text. results in: [1] Start of endnote text block ... rest of endnote text block. This additional text has been added to demonstrate a larger number of lines in the endnote text block. followed by additional text. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ý If you do not, the endnotes will be printed automatically by SCRIPT at the end of your document ... and you will not like the result! Waterloo SCRIPT GML User's Guide page 25 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ CITATIONS References to other works are identified using the CIT and eCIT tags. For example, This is the :CIT.Waterloo SCRIPT GML User's Guide:eCIT document. results in: This is the Waterloo SCRIPT GML User's Guide document. If tagtext is specified with the eCIT tag, it will be treated as con- tinued text. QUOTATIONS Long Quotations These are also referred to as block quotations, to distinguish them from in-line quotations. A long quotation is identified as follows: text before long quotation :LQ<.start of> long-quotation text block :eLQ text after long quotation The result will be displayed in a manner determined by the layout you have selected. The layout selected for this document produces: This is a long-quotation text block. The indentation and spacing of the text in the block are controlled by the lay- out you select for your document. followed by whatever text comes after the long quote. Short Quotations These are also referred to as in-line quotations. The example shown in the following input sequence Text before short quotation :Q short-quotation text block :eQ text after short quotation. produces the following: Text before short quotation "short-quotation text block" text after short quotation. If tagtext is specified with the eQ tag, it will be treated as continued text. page 26 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ EXAMPLES The start of a block of text that represents an example is indicated with the XMP tag, and the end of the example block is indicated with the eXMP tag. For example, :XMP This is the first input line of the example block, and this is the last input line of the block. :eXMP produces the following result: This is the first input line of the example block, and this is the last input line of the block. HIGHLIGHTED PHRASES Four levels of highlighted phrases are provided by tags of the form :HPn<.start of> text to be highlighted (n=0,1,2,3) :eHPn<.continued text> The HP0/eHP0 tags enclose text that will appear as normal text (in other words, the text will not be highlighted). The HP1/eHP1, HP2/eHP2, and HP3/eHP3 tags result in increasing levels of highlight- ing.· If you wish to highlight text that is within a block that is being placed in the output document exactly as entered (line by line, instead of the block mode in which normal text is produced), you can do so by specifying the highlighted-phrase tags in the form This is level :HP0.zero:eHP0. highlighting. This is level :HP1.one:eHP1. highlighting. This is level :HP2.two:eHP2. highlighting. This is level :HP3.three:eHP3. highlighting. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ · If the document is SCRIPTed for an output device that supports mul- tiple fonts, these levels of highlighting will be (respectively) italic, boldface, and boldface italic. If the output device does not have multiple fonts or if the fonts provided by GML do not include those faces, alternative approaches to highlighting will result. For example, for simple terminals and line printers, under- scoring is used to represent italics, overprinting is used to repre- sent boldface, and both are used to represent boldface italics. Waterloo SCRIPT GML User's Guide page 27 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ For example, the above input sequence produces: This is level zero highlighting. This is level one highlighting. This is level two highlighting. This is level three highlighting. This same in-line technique can also be used for citations and short quotations within example blocks. BOXES The BOX and eBOX tags define the start and end of a text block that is to be enclosed in a box. They are used in the manner Text before box. :BOX This text block is enclosed in a box. The result has been ... :eBOX Text after box. and result in the following: Text before box. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | | | This text block is enclosed in a box. The result has been | | achieved through the use of the BOX and eBOX tags. You may | | include within the box any other GML tags that do not generate | | headings or indicate the start or end of a major component of | | the document. | | | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Text after box. LIST STRUCTURES Ordered Lists In an ordered list, each item in the list is annotated in some fashion -- with arabic numerals, with letters, or with roman numerals. The OL tag identifies the start of an ordered list. The start of each item in the list is identified with the LI tag. The eOL tag identifies the end of the ordered list. For example, the sequence page 28 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ :OL :LI.This is the text for ordered list item 1. :LI.This is the text for ordered list item 2. This second sentence demonstrates the offset of subsequent lines of the list item. :LI.This is the text for ordered list item 3. :eOL produces the following result: 1. This is the text for ordered list item 1. 2. This is the text for ordered list item 2. This second sentence demonstrates the offset of subsequent lines of the list item. 3. This is the text for ordered list item 3. Ordered lists can be nested within ordered lists, as is demonstrat- ed by the input sequence :OL :LI.This is ordered list item 1, level 1. :LI.This is ordered list item 2, level 1. :OL :LI.This is ordered list item 1, level 2. :eOL :LI.This is ordered list item 3, level 1. :eOL The maximum depth to which ordered lists can be nested is six, as is demonstrated below. 1. This is ordered list item 1, level 1. a. This is ordered list item 1, level 2. i. This is ordered list item 1, level 3. 1) This is ordered list item 1, level 4. a) This is ordered list item 1, level 5. i) This is ordered list item 1, level 6. Waterloo SCRIPT GML User's Guide page 29 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Unordered Lists Unordered lists are formed in the same way as ordered lists; the only difference is the style of annotation of the list items. The start of an unordered list is identified with the UL tag. The start of each list item is identified with the LI tag. The end of an unordered list is identified with the eUL tag. Unordered lists can be nested to a depth of 6, as is demonstrated below. ù This is unordered list item 1, level 1. Ä This is unordered list item 1, level 2. -- This is unordered list item 1, level 3. - This is unordered list item 1, level 4. - This is unordered list item 1, level 5. - This is unordered list item 1, level 6. Simple Lists Simple lists are formed the same as ordered and unordered lists; the only difference is that the list items are not annotated. The start of a simple list is identified with the SL tag. The end of a simple list is identified with the eSL tag. Simple lists can be nested to a depth of 6, as is demonstrated below. This is simple list item 1, level 1. This is simple list item 1, level 2. This is simple list item 1, level 3. This is simple list item 1, level 4. This is simple list item 1, level 5. This is simple list item 1, level 6. List Items with Headings As an alternative to LI, the LIHD tag can also be used to identify items in an ordered, unordered, or simple list. For example, :LIHD.List Item Heading The LIHD tag functions in the same fashion as LI with the exception that it treats the tagtext as a heading. The tagtext should therefore page 30 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ not end with any form of punctuation. The text on the lines following the LIHD tag will become the body of the list item. The following demonstrates the effect of using LIHD in the six levels of ordered lists. 1. LIST ITEM HEADING AT LEVEL 1 This is the text following the List Item Heading, and is format- ted as the body of the list item. a. List Item Heading at Level 2 This is the text following the List Item Heading, and is formatted as the body of the list item. i. LIST ITEM HEADING AT LEVEL 3: This is the text fol- lowing the List Item Heading, and is formatted as the body of the list item. 1) List Item Heading at Level 4: This is the text following the List Item Heading, and is formatted as the body of the list item. a) List Item Heading at Level 5: This is the text following the List Item Head- ing, and is formatted as the body of the list item. i) List Item Heading at Level 6: This is the text following the List Item Heading, and is format- ted as the body of the list item. Note that you can mix LI and LIHD tags in the same list, as has been done in the unordered list below: ù This is a list item and looks just like the list items in the pre- vious examples. ù LIST ITEM WITH HEADING This is the text following the List Item Heading, and is formatted as the body of the list item. ù And this is another list item without a heading. Waterloo SCRIPT GML User's Guide page 31 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Referring to List Items An identifier can be assigned to a list item on the LI or LIHD tags, and then a reference can be generated later to a list item: :OL :LI ID=one.List item one. :LIHD ID=two.List item two. :eOL These are references to list items :LIREF REFID=one and :LIREF REFID=two from the above list. produces: 1. List item one. 2. LIST ITEM TWO. These are references to list items "1. List item one." and "2. List item two." from the above list.¸ Definition Lists The start of a definition list is identified with the DL tag. The end of a definition list is identified with the eDL tag. The manner of identifying list items for definition lists is different than for ordered, unordered, or simple lists. Two GML tags must be used. They are of the form :DT.term :DD.text of definition list item The DT tag identifies the definition term, and the DD tag identifies the definition description. You can have multiple DT tags per DD tag, and multiple DD tags per DT tag. Definition lists can be nested to a depth of 6, as is demon- strated below. term This is definition list item 1, level 1. term one term two This is definition list item 1, level 2. It has multiple terms for one definition. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ¸ Because of the nature of the annotation styles for items in simple and unordered lists, there seems to be little point in referencing their list items; it works, but seems pointless. page 32 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ term This is definition list item 1, level 3. It has multiple definitions for one term. term This is definition list item 1, level 4. term This is definition list item 1, level 5. term This is definition list item 1, level 6. Definition Lists with Term and Description Headings The DTHD and DDHD tags provide a means for creating definition terms and descriptions as headings. For example, the input sequence :DL :DTHD.heading :DDHD.description heading :DT.term :DD.text of definition list item :eDL produces heading description heading term text of definition list item Glossary Lists Glossary lists are defined in a manner similar to definition lists. They are useful when the term is a phrase instead of a single word. The start of a glossary list is identified with the GL tag. The end of a glossary list is identified with the eGL tag. Each item in the list is defined in the fashion: :GT.word or phrase :GD.text of glossary list item Six levels of glossary lists are provided. A glossary list appears as follows on output. Waterloo SCRIPT GML User's Guide page 33 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This is a glossary term: This is glossary description 1. This second sentence demonstrates the offset of subsequent lines of a glossary description. This is another glossary term: This is glossary description 2. This second sentence demonstrates the offset of subsequent lines of a glossary description. Nesting Various Types of Lists The various types of lists can be intermixed, as shown below. 1. This is ordered list item 1, level 1. This sentence serves only to pad out the block of text to demonstrate offsets. 2. This is ordered list item 2, level 1. first This is definition item 1, level 2. This sentence pads the block to demonstrate offsets. second This is definition item 2, level 2. ù This is unordered list item 1, level 3. glossary term 1: level 4 ù This is unordered list item 2, level 3. This is simple list item 1, level 4. third This is definition item 3, level 2. This sentence serves only to pad out the block of text to illustrate offsets. 3. This is ordered list item 3, level 1. We are now back to normal text outside the list structure. Interrupting the Items in a List -- the List Paragraph The LP tag indicates the start of a list paragraph that will interrupt the items in a list. The text of the list paragraph will be posi- tioned so that it appears at the same level of indentation as the annotation symbols for the list. For example, the input sequence :OL :LI.This is the first list item. :LP.This is the first line of the list paragraph. :LI.This is the second list item. :eOL page 34 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ produces the following result: 1. This is the first list item. This is the first line of the list paragraph. 2. This is the second list item. The LP tag can be used anywhere in any type of list structure. TABLES AND FIGURES Tables and figures may be defined anywhere in your document. If there is room in the current output column, the table or figure will appear at exactly the position in which it was defined. Otherwise, it will be promoted to the top of the next output column. Figures The GML tags to define a figure are used as follows: Last text line of paragraph in which the first reference to the figure is made. :FIG Text for body of figure. Each input line will appear as entered. :FIGCAP.This is the Figure Caption :FIGDESC.And this is the figure description, which is optional text providing additional descriptive information about the figure. <:eFIGDESC> :eFIG The above input sequence produces the following ... Last text line of paragraph in which the first reference to the figure is made. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | | | Text for body of figure. | | Each input line will appear as entered. | | | | Figure 1: This is the Figure Caption. And this is the figure | | description, which is optional text providing addi- | | tional descriptive information about the figure. | | | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Waterloo SCRIPT GML User's Guide page 35 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The definition of the figure is then followed by an input line defining the start of the next paragraph, or a heading. Tables The GML tags to define a table are used as follows: Last text line of paragraph in which the first reference to the table is made. :TAB :TABCAP.This is the Table Caption :TABDESC.And this is the table description, which is optional text providing additional descriptive information about the table. :eTABDESC Text for body of table. Each input line will appear as entered. :eTAB This is text that comes before the table, just to show how formatting is currently being handled. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | | | Table 1: This is the Table Caption | | | | And this is the table description, which is optional text pro- | | viding additional descriptive information about the table. Note | | that the table description, if present, MUST be terminated with | | the eTABDESC tag! | | | | This is the body of the table. | | Each input line will appear as entered. | | | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ This is the first line of the next paragraph, to show that we are back to the normal formatting environment. Defining the Body of a Table or Figure The body of a table or figure may consist of textual information, or blank lines (if the body is to be pasted in after the document has been printed), or both. page 36 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Pasted-In Material: Both the FIG and TAB tags have a DEPTH attribute. This allows you to specify the number of blank lines that are to be generated as the body of the table or figure. For example, specifying :FIG DEPTH=36 :FIGCAP.Figure Caption :eFIG will cause 36 blank lines to be generated as the body of this particu- lar figure. Textual Material: Lines of text that occur after the FIG tag (for figures) and the TABCAP and eTABDESC tags (for tables), will be output in a one-line-in/one-line-out fashion. Textual and Pasted-In Material: You can specify the DEPTH attribute and also provide text. For a figure, the blank lines will be generat- ed before the text; for a table, they will be generated after the text. Referencing Tables and Figures The tags and text that define a table or figure should be positioned at the end of the paragraph that first references the table or figure. In some cases, you may wish to refer to that table or figure by its number, before or after the tags and text that define it. The FIGREF and TABREF tags are provided for this purpose.¹ If tagtext is speci- fied with these tags, it will be treated as continued text. For example, assume that you must now make your first reference to a particular table, before you have defined the table. At the point where you wish to reference it, use the TABREF tag to assign it an identifier: As is illustrated in :TABREF REFID=example., the rest of the sentence ... Identifiers can be a maximum of 7 characters long. The name that you chose for a table or figure identifier must be unique (you cannot have two figures with the same identifier, but you can have a figure and a table with the same identifier). The above input sequence produces the following result: As is illustrated in Table 2 on page 37, the rest of the sentence ... Then, at the end of the paragraph in which that sentence appears, use the ID attribute of the TAB tag: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ¹ For forward references when the document is SCRIPTed in single-pass mode, these tags pre-generate the figure or table number. Waterloo SCRIPT GML User's Guide page 37 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ :TAB ID=example :TABCAP.The Table Caption body of table :eTAB The table that the above defines appears below. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | | | Table 2: The Table Caption | | | | body of table | | | ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Forward Out-of-Sequence References Using the REFID= attribute of FIGREF and TABREF and the ID= attribute of FIG and TAB results in tables and figures that will each be num- bered in the order in which their identifiers occur in the input. However, those numbers will be incorrect if you are making out-of- sequence forward references to some tables or figures (that is, you reference the second table and then reference the first table and then define the first table and then define the second table). Two special tags, TABID and FIGID, allow you to pre-generate the table and figure reference values, at the beginning of your document, so that the iden- tifiers will already have values when they are encountered as attri- butes of the FIGREF, TABREF, FIG, or TAB tags. For example, :TABID REFID=dog :TABID REFID=cat will assign successive values to the identifiers. Thereafter, you can make out-of-sequence references to these two tables. Once you have associated an identifier with a table, you can use the TABREF tag to make other references to it, anywhere thereafter in your document. Referencing a List or Range of Figures or Tables The REFID attribute can be specified in a list-notation and/or a range-notation form, as well; for example, :FIGREF REFID='one two three' :FIGREF REFID='one-two' :FIGREF REFID='one two-three four' page 38 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The first is a list of three items that will be of the form "Figure 1, Figure 2, and Figure 3". The second is a range of two items that will be of the form "Figure 1 to Figure 2". The third is a list of four items that will be of the form "Figure 1, Figure 2 to Figure 3, and Figure 4". Each reference that is to a Figure on a page other than the current page will be followed by the words "on page" and the page number. FORMULAE The Waterloo SCRIPT implementation of GML provides two sets of tags for encoding mathematical, scientific, and engineering notation in either an in-line (F/eF) or display-mode (DF/eDF) block. The details of the encoding language are described in the publication Waterloo SCRIPT with Formula Processing, and will not be described here. In-Line Formula As its name implies, an in-line formula will be treated just like the rest of the text in a paragraph, rather than being set apart like the result of an XMP/eXMP block. The equation for a straight line can be represented by :F.y = a x + b:eF.. Display-Mode Formula If the in-line formula above were desired in display mode (that is, set apart from the rest of the text), then the input sequence becomes: The equation for a straight line can be represented by: :DF y = a x + b :eDF Numbering a Display-Mode Formula Any display-mode formula that is defined with the ID= attribute will be numbered. For example, :DF ID=line y = a x + b :eDF Waterloo SCRIPT GML User's Guide page 39 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Referring to a Numbered Display-Mode Formula The DFREF tag generates a reference to a display-mode formula that has been defined with an ID= attribute. For example, The equation for a straight line is given in :DFREF REFID=line. above. PROCESS-SPECIFIC CODE It is sometimes desirable to include in a document's input file infor- mation whose appearance in the resulting output is dependent on the output device for which the document is being processed. :PSC PROC='device1 device2 ... deviceN' process-specific code block :ePSC For example, a block to be processed only if the output device is a line printer, an IBM 3820 (or 3812), or a PostScript device would appear as: :PSC PROC='PRINT I3820 POSTS' contents of block :ePSC If the output device for which the document is being processed is not one of those specified in the PROC= list (or if no PROC= list is spec- ified), the contents of the block will not be processed. TAGS FOR CONSTRUCTING INDEXES Index terms are created throughout the document by using the I1, I2, I3, and IREF tags, and the resulting index is printed in the back mat- ter by using the INDEX tag. The IX attribute of these tags enables you to create up to nine indexes for a document. When any of the tags are used without the IX attribute, index number 1 is assumed. Index Terms and Page References An index consists of some number of index terms, each of which has a corresponding list of one or more page references to the locations in the document where that information is discussed. In the simplest case, a page reference will be the number of the page that was being produced at the time the index term was added to the index. page 40 Waterloo SCRIPT GML User's Guide ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Three levels of index terms can be created. When an index is printed, the index terms appear in alphabetical order, by level. For example, level-one term ... list of page references level-two term ... list of page references level-three term ... list of page references next level-one term ... list of page references The Index-Term Tags The index term specified with the I1 tag is added to the index as a level-one index term, and the current page number in the document is added to its list of page references. When an index term is specified with the I2 tag, that term is added to the index as a level-two term under the most-recently-specified level-one index term. Similarly, the I3 tag adds its index term as a level-three term under the most recent level-one and level-two index terms. An Example The following example demonstrates the use of the I1, I2, and I3 tags to add several index terms to the index for a document about house pets. Each line shown as "(text on page ..)" represents the number of the page