\documentstyle[glo_idx,oldlfont]{pamphlet} \def\GloTeX{Glo\TeX} \def\BibTeX{B{\sc ib}\TeX} \def\IdxTeX{Idx\TeX} \pagestyle{headings} \makeindex \makeglossary \begin{document} %\coverstyle{userguide} \title{\GloTeX\ Program} \author{R L Aurbach} \authorfacts{CR\&DS MIS Group \\ Monsanto Company \\ 800 N. Lindbergh Blvd. \\ St. Louis, MO 63167 \\ (314)--694--5453} \version{Version 1.1} \file{GloTeX} \date{August 27, 1986} \begin{thetitle} \begin{abstract} The \GloTeX\ program is used to automate the generation of a Glossary in a \LaTeX\ document. It uses the {\tt .glo} file generated by the \verb~\makeglossary~ command and one or more Glossary Definition Database Files to create a file which is \verb~\input~ in the document to generate the Glossary. \end{abstract} \end{thetitle} \makeheading \section{Why Automate Glossaries?}\index{#\GloTeX} Several programs already exist to augment the capabilities of \LaTeX\ to produce better documents --- \BibTeX\ supports the formatting and maintenance of bibliographies, \IdxTeX\ automates the generation of an Index, etc. Why is a program needed to automate the generation of Glossaries? There are several reasons:\index{\GloTeX>{\em raison d'\^{e}tre}} \begin{enumerate} \item Consider how you might actually make a glossary in a real document. \index{\GloTeX>{\em raison d'\^{e}tre}>Make writing easier} \begin{itemize} \item As you write the document, you come across words or phrases which should be included in a glossary. You jot them down on paper somewhere. \item When the document is nearly finished, you take your list of terms, alphabetize it, and write definitions for each one. \item Then you write these definitions into your document and complete it. \end{itemize} Think how much easier it would be if you could completely automate documents with glossaries: \begin{itemize} \item As you write the document and come across a word or phrase to be included in the glossary, you place a simple \verb+\glossary+ command into the document. \item You format the document with \LaTeX\ and use \GloTeX\ to build the glossary. The \GloTeX\ program will tell you about any terms you haven't yet defined. \item The definitions go into an external database, rather than directly into the document. This means that you can use them again in another document without retyping them. \end{itemize} So \GloTeX\ can be used to make the generation of a document which contains a glossary easier. \item \index{\GloTeX>{\em raison d'\^{e}tre}>Re-use definitions} Suppose you are writing a series of documents about related topics and you decide that each should have a glossary. You could carefully write the definitions for each term into each document. But, wouldn't it be easier to write the definitions only once and pull those definitions which are needed into each document? If you often write about a certain topic, wouldn't it be easier to create a {\bf database} of definitions of those terms you commonly use? \GloTeX\ helps you maintain a database of definitions for inclusion in glossaries. It supports the use of multiple definition files in a single document, so you can keep definitions for different terms in different places. For example, if you are writing about an application program, you might want to have one glossary of computer terms and another which describes the vocabulary appropriate to that application. \item \index{\GloTeX>{\em raison d'\^{e}tre}>Complete a partial implementation} The standard \LaTeX\ document styles already support the most important features needed to automate glossaries --- the \verb+\makeglossary+ and \verb+\glossary+ commands. Before \GloTeX, there was nothing available to allow you to take advantage of these \LaTeX\ features. \end{enumerate} \section{Building a Glossary --- Step by Step}\index{#Building a Glossary} To automate the generation of a Glossary, here is what you do: \begin{itemize} \item \index{Building a Glossary>\verb+\makeglossary+} In the preamble of your document, include the command \verb+\makeglossary+. This will cause a file to be generated when you run \LaTeX\ which has the same filename as your \LaTeX\ file and the file type {\tt .glo}. \item \index{Building a Glossary>\verb+\glossary+} In your document, for every word or phrase which you wish to appear in the glossary, include a \verb+\glossary+ command. The command format is \begin{verbatim} \glossary{label} \end{verbatim} where ``label\glossary{label}'' is an identifier which is compared with the contents of the Glossary Definition File to locate the correct definition. This will be discussed in more detail later. \item \index{Building a Glossary>Create {\tt .gdf} File}\glossary{gdf-file} \index{Building a Glossary&Glossary Definition File} If the definitions you wish to include are not already in a Glossary Definition File, create the appropriate file. This is discussed below. \item \index{Building a Glossary>Create {\tt .glo} File}\glossary{glo-file} Run \LaTeX\ on you document. This produces the {\tt .glo} file. \item \index{Building a Glossary>Create {\tt .gls} File}\glossary{gls-file} Run \GloTeX\ on the {\tt .glo} file, specifying the name of one or more Glossary Definition Files from which definitions are to be drawn. \GloTeX\ will produce a file which has the same filename as you \LaTeX\ file, but with the file type {\tt .gls}. \item \index{Building a Glossary>Include in Source File} In your document, insert an \verb+\input+ command, such as \begin{verbatim} \input{myfile.gls} \end{verbatim} to include the {\tt .gls} file in your document at the appropriate place. \item \index{Building a Glossary>Generate Final Document} Run \LaTeX\ twice. The second time is needed to get the Table of Contents entry for the Glossary to appear properly. \end{itemize} \section{Command Syntax}\glossary{glotex}\index{#Command Syntax} The \GloTeX\ program is run as a foreign DCL command.\footnote{On the Monsanto BB1T VAXcluster, the GloTeX symbol is defined by issuing the CRLSETUP command.} The \GloTeX\ program is run using a command line of the form \begin{verbatim} $ glotex file [/STYLE={Article | Report | Special}] [/GLOSSARY=(def1[,def2[,...]])] \end{verbatim} The ``file'' parameter \index{Command Syntax>File Parameter} is required. It is the name of the {\tt .glo} file which is \GloTeX 's input file. If you don't specify an input file, \GloTeX\ will prompt you for one. You need not specify the {\tt .glo} file type. The default file specification for the input file is file type {\tt .glo} in your current default directory. The {\tt /STYLE} qualifier \index{Command Syntax>{\tt /STYLE} Qualifier} is optional. It describes how you wish \GloTeX\ to format the glossary it builds. There are three possibilities: \begin{infomap} \item[Article] \index{Command Syntax>{\tt /STYLE} Qualifier>{\tt Article} keyword} The {\tt Article} keyword is used if your document uses the standard \LaTeX\ {\tt article} document style or any other section oriented style. If you specify this keyword, then the glossary is built as a regular, numbered section in your document. It will appear in your Table of Contents automatically. \item[Report] \index{Command Syntax>{\tt /STYLE} Qualifier>{\tt Report} keyword} The {\tt Report} keyword is used if your document uses the standard \LaTeX\ {\tt report} or {\tt book} document styles or any other chapter oriented style. If you specify this keyword, then the glossary is built as an unnumbered chapter in your document. It will appear in your Table of Contents automatically. \item[Special] \index{Command Syntax>{\tt /STYLE} Qualifier>{\tt Special} keyword} The {\tt Special} keyword is used if your document uses any of the Monsanto CR\&DS document styles ({\tt pamphlet}, {\tt manual}, or {\tt memo}). They already define commands to format the glossary appropriately --- using the {\tt Special} keyword tells \GloTeX\ not to include commands in its output file to redefine these commands for you. In section-oriented Monsanto CR\&DS document styles, the glossary is formatted as a numbered section. In the chapter-oriented {\tt manual} document style, the glossary is an unnumbered chapter, with page numbers of the form ``\mbox{Glossary--nn}''. If you do not include the {\tt /STYLE} qualifier, {\tt Special} is assumed. \end{infomap} The {\tt /GLOSSARY} qualifier \index{Command Syntax>{\tt /GLOSSARY} Qualifier} is used to specify the list of Glossary Definition Files which \GloTeX\ will search to find the definitions you wish to include. You may include as many files as you wish --- \GloTeX\ will search them in the order you specify. For each file, \GloTeX\ will look for a file with the file type {\tt .gdf} in your current default directory, unless you override the defaults. The {\tt /GLOSSARY} qualifier is optional. However, you must use it unless you are using a Monsanto CR\&DS document style, because there is no other way for \GloTeX\ to know where your definitions are to be found.\footnote{If you use a Monsanto CR\&DS document style, special commands are available to allow you to build the glossary definition file specifications into your document. They are described later.} \begin{note} \GloTeX\ prints a list of all those labels which are present in your input file, but for which it can't find any definition. This report is output both on your terminal and to a Glossary Log File ({\tt .glg} file).\glossary{glg-file} You can use this feature to make a list of terms needing definition. \end{note} \section{Building a Glossary --- More Detail}\index{#Building a Glossary} This section discusses the steps needed to build a Glossary in more detail. In this section, we assume that the source file for your document is named {\tt myfile.tex}. \begin{infomap} \item[{\tt makeglossary}\\Command] \index{Building a Glossary>\verb+\makeglossary+} \LaTeX\ creates a list of those terms to be included in the Glossary in a file named (in this example) {\tt myfile.glo}. This file is not created automatically. If you want one, you must include the \verb+\makeglossary+ command in your document. The \verb+\makeglossary+ command must be placed in the preamble of your source file --- that is, between the \verb+\documentstyle+ command and the \verb+\begin{document}+ command. \item[{\tt glossary}\\Command] \index{Building a Glossary>\verb+\glossary+} When you come across a word or phrase in your document which you would like to define in the Glossary, insert a \verb+\glossary+ command in your source file. The format of this command is \begin{verbatim} \glossary{label} \end{verbatim} where ``label'' is an identifier you assign to this word or phrase. This identifier is used to locate the definition in a Glossary Definition File which you wish to be included. That is, if ``label'' matches the identifier belonging to a definition in the database, then that definition will be included in the Glossary. For example, in this document, the entry \verb+\glossary{glo-file}+ \glossary{glo-file} appears. As you can see by examining the glossary, there is a definition for the term ``{\tt glo} File'', which was generated as a result of this reference. \item[Generating the\\{\tt glo} File] \index{Building a Glossary>Create {\tt .glo} File} Having prepared your document, the next step is to run it through \LaTeX. This will generate a file {\tt myfile.glo} which contains the collected information from the \verb+\glossary+ commands which you placed in your document. \item[Building the\\{\tt gls} File] \index{Building a Glossary>Create {\tt .gls} File} The next step is to use the \GloTeX\ program to generate the glossary information, using the {\tt myfile.glo} file and the appropriate Glossary Definition Files. In our example, we will make several assumptions. \begin{enumerate} \item Lets assume that your document {\tt myfile.tex} uses the standard \LaTeX\ {\tt article} document style. \item Lets also assume that you are using definitions from three sources --- a local glossary of application specific terms, a public glossary of biological terms, and a public glossary of computer terms. The biological glossary is assumed to be located in the {\tt GenLocDoc:} area, while the computer glossary is located in the {\tt CRL\_Documentation:} area. \end{enumerate} Then, the command line \begin{verbatim} $ glotex myfile /STYLE=Article - $_ /GLOSSARY=(myglos,GenLocDoc:BioDefs,- $_ Crl_Documentation:EDPDefs) \end{verbatim} will process the {\tt myfile.glo} file, using the three specified Glossary Definition Files, and produce the file {\tt myfile.gls}, formatted appropriately for the standard \LaTeX\ {\tt article} document style. \item[Including the\\{\tt gls} File] \index{Building a Glossary>Include in Source File} Normally, a Glossary is placed in the document at the end, just before the index. Most people place the Glossary {\bf before} the Bibliography, if both exist in the document, but that is a matter of personal choice. In any case, once you decide where to put the Glossary, it is merely necessary to add the command \begin{verbatim} \input{myfile.gls} \end{verbatim} in the appropriate place. \item[Generate the\\Final Document]\index{Building a Glossary>Generate Final Document} Now you are ready to generate the final document. To do this, run \LaTeX\ on the document twice. The first time you run \LaTeX, the Glossary will be included in your document and a reference will be made to include a Table of Contents entry for it. The second time you run \LaTeX, the Table of Contents will be updated to include an entry for the Glossary. \end{infomap} \section{Glossary Definition Files} \glossary{gdf}\glossary{label}\glossary{item}\glossary{definition} \index{#Glossary Definition File}\index{#{\tt gdf} file} A Glossary Definition File is a text file which contains one or more definitions of words or phrases (an ``entry'') in a special, defined format. A Glossary Definition File is also called a {\tt .gdf} file, because the default file type for these files is {\tt .gdf}. A entry in a {\tt .gdf} file has three parts. \begin{infomap} \item[label] \index{Glossary Definition File>Label} The {\em label\/} is an identifier used to associate a particular definition with a particular \verb+\glossary+ command from the document. The label is a {\bf case sensitive} string. If the label of an entry in the {\tt .gdf} file matches a label specified in a \verb+\glossary+ command exactly (character for character, including any whitespace characters), then the term will be included in the Glossary. \item[item] \index{Glossary Definition File>Item} The {\em item\/} is the word or phrase being defined by the entry. Visually, the item appears on the left-hand portion of the page, separated from the definition. Glossary entries are formatted in an {\tt infomap} environment,\footnote{for those familiar with the CR\&DS Extensions to \LaTeX.} a special variation of the {\tt description} environment.\footnote{If you specify /STYLE:ARTICLE or /STYLE:REPORT in your command line, \GloTeX\ will automatically include in its output file the commands needed to define this new environment.} In an {\tt infomap} environment, the item is placed in a \verb+\parbox+. If the item is too long for the space allotted it, it will be typeset in multiple lines. You can often help this process along by careful inclusion of \verb+\\+ commands in the item to control where the lines are split. The default formatting in an item is {\bf boldface}. Other possibilities are available, however. In this document, for example, the item ``glo File'' was entered as ``\verb+{\tt glo} File+''. Notice that the term appears in the correct alphabetical order, in spite of the presence of the special formatting characters. \item[definition] \index{Glossary Definition File>Definition} The definition is the body of the glossary entry. It consists of as much normal \LaTeX\ source as you wish --- multiple paragraphs, lists, etc., are all supported. However, experience has shown that a glossary entry which is two or three sentences long is normally plenty. Very long entries lose their effectiveness with the reader. \end{infomap} The format of an entry in a {\tt .gdf} file is \index{Glossary Definition File>Format} \begin{verbatim} @entry{label, item} definition definition (continued...) \end{verbatim} A new entry in the file begins with ``{\tt @entry}'' in lower case, and as the first characters on a new line. The {\tt @entry} command takes two arguments --- the label and the item strings. The item string is optional --- if it is not specified, then the label string will be used as the item string as well. The definition may begin on the {\tt @entry} line, although that is not required. All text is considered as definition, beginning with the first character after the closing brace of the {\tt @entry} command up to the next {\tt @entry} command or the end of the file. As an example, below is a portion of the {\tt .gdf} file used to generate the Glossary of this document. \index{Glossary Definition File>Example} \begin{verbatim} @entry{glo-file, {\tt glo} File} The {\tt .glo} file is produced by \LaTeX\ and contains a list of labels for terms to be included in the Glossary. It is one of the inputs to \GloTeX. @entry{item} An {\em item\/} is the word or term to be defined in the glossary. \end{verbatim} \appendix \section{\LaTeX\ Extensions Which Support Glossaries} Standard \LaTeX\ document styles define the \verb+\makeglossary+ and \verb+\glossary+ commands described above. If you are using standard \LaTeX\ document styles, these are the only commands available to you. If you use one of the CR\&DS document styles ({\tt pamphlet}, {\tt manual}, or {\tt memo}), then additional commands are defined which make glossary generation even nicer.\footnote{This section is only relevant at sites which use the Monsanto CR\&DS special document styles. It should be ignored otherwise.} \begin{infomap} \item[{\tt theglossary}\\Environment] \index{New Glossary Commands>{\tt theglossary} Environment} The {\tt theglossary} environment is the context for a glossary. That is, a glossary begins with the \verb+\begin{theglossary}+ command and ends with the \verb+\end{theglossary}+ command. Each CR\&DS document style defines this environment so that the formatting of the Glossary is appropriate to the document. When you specify {\tt /STYLE = Article} or {\tt /STYLE = Report}, \GloTeX\ includes in the {\tt .gls} file the necessary commands to define this environment for you. \item[{\tt glossaryfile}\\Command] \index{New Glossary Commands>{\tt glossaryfile} Command} The \verb+\glossaryfile+ command is used to specify one or more {\tt .gdf} files to be used to locate definitions. The format of the command is \begin{verbatim} \glossaryfile{filelist} \end{verbatim} where filelist is either a single file specification or a list of file specifications, separated by commas. You may specify more than one \verb+\glossaryfile+ command if you wish. The {\tt .gdf} files you specify are searched in the following order: \begin{enumerate} \item Any {\tt .gdf} files specified on the command line using the {\tt /GLOSSARY} qualifier are searched in the order specified. \item Any {\tt .gdf} files specified in the first \verb+\glossaryfile+ command in the source document are searched in the order specified. \item Addition {\tt .gdf} files are searched in order as specified by additional \verb+\glossaryfile+ commands. \end{enumerate} \item[{\tt insertglossary}\\Command] \index{New Glossary Commands>{\tt insertglossary} Command} The \verb+\insertglossary+ command is used to place a glossary at a particular place in the document. It is equivalent to issuing the \verb+\input{myfile.gls}+ command, where {\tt myfile} is the name of the source document. \end{infomap} \input{glotex.gls} \input{glotex.ind} \input{idxtex.mnd} \tableofcontents \end{document} %