summaryrefslogtreecommitdiff
path: root/biblio/tib/tibdoc.tex
diff options
context:
space:
mode:
Diffstat (limited to 'biblio/tib/tibdoc.tex')
-rw-r--r--biblio/tib/tibdoc.tex1670
1 files changed, 1670 insertions, 0 deletions
diff --git a/biblio/tib/tibdoc.tex b/biblio/tib/tibdoc.tex
new file mode 100644
index 0000000000..ad3d659e17
--- /dev/null
+++ b/biblio/tib/tibdoc.tex
@@ -0,0 +1,1670 @@
+% Documentation for Tib reference formatting programs --- version 2.2
+% Plain TeX file August, 1986
+% Last revision November, 1989
+% Copyright (C) 1986, 1989 James C. Alexander
+%
+\def\TDOCDIR{AAAAA}%directory for Tib documentation
+\def\TMACDIR{BBBBB}%directory for Tib macros
+\def\TCOMMON{CCCCC}%name of Tib file of common words
+\def\DIRSEP{/}%directory separator in path names
+\def\OPTCH{-}%option character on program call
+
+\def\leftheadline{\rightheadline}% one-sided printing
+%\def\leftheadline{\bf folio\ \ --- \it\firstmark\hss\bfTib}%two-sided printing
+
+\baselineskip 1.2\normalbaselineskip
+\nopagenumbers\voffset=2\baselineskip
+\headline{\ifnum\pageno=1\hfill
+ \else{\ifodd\pageno\rightheadline\else\leftheadline\fi}\fi}
+\def\rightheadline{\bfTib\hss\it\firstmark\ ---\ \ \bf\folio}
+\outer\def\beginsection#1#2\par{\vskip0pt plus#1\vsize\penalty-250
+ \vskip0pt plus-#1\vsize\bigskip\vskip\parskip\message{#2}
+ \leftline{\kern-4pt\llap{$\bullet$\ }\bf#2\hfill}\mark{#2}
+ \nobreak\smallskip\noindent}
+\outer\def\beginsubsection#1#2\par{\vskip0pt plus#1\vsize\penalty-250
+ \vskip0pt plus-#1\vsize\medskip\vskip\parskip
+ \leftline{\bf\ \ #2}\nobreak\smallskip\noindent}
+\def\Tib{{\rm T\kern-.1667em\sevenrm I\rm b}}
+\def\bfTib{{\bf T\kern-.2em\sevenbf I\bf b}}
+\def\itTib{{\it T\kern-.2em\seveni I\it b}}
+\def\LaTeX{{\rm L\kern-.36em\raise.3ex\hbox{\sevenrm A}\kern-.15em
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
+\def\itLaTeX{{\it L\kern-.3em\raise.3ex\hbox{\seveni A}\kern-.15em
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
+\def\AmSTeX{$\cal A\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.125em
+ S$-\TeX}
+\def\\{\begingroup\catcode`\\=12\tt\char"5C\endgroup}
+\def\{{\begingroup\catcode`\{=12\tt\char"7B\endgroup}
+\def\}{\begingroup\catcode`\}=12\tt\char"7D\endgroup}
+\def\<#1>{\leavevmode\hbox{$\langle${\it#1\/}$\rangle$}}
+\def\[#1]{\leavevmode\hbox{\tt[#1]}}
+\def\({\/\rm(}\def\){\/\rm)}
+\newdimen\tableindent\newdimen\leftbox
+\def\tableset{\tableindent=\leftbox\advance\tableindent by 20pt
+ \leftskip\tableindent\rightskip10pt\parindent=0pt}
+\def\tableentry#1{%
+ \setbox0\hbox{{\tt\tablemark#1}\hss}\wd0=\leftbox
+ \item{\box0}}
+\def\listitem{\tt\obeylines\obeyspaces\parindent20pt}
+
+\immediate\write16{ **** Documentation for Tib ****}
+\indent\par
+\vglue-.5in
+\centerline{\bfTib\footnote{$^*$}{Version 2.2. \copyright 1986, 1989
+James C. Alexander. \Tib{} may be distributed whole, but not sold.}}
+\bigskip
+\centerline{A \TeX{} bibliographic preprocessor}
+\bigskip
+{\baselineskip10pt
+\centerline{J. C. Alexander ({\tt jca@lakisis.umd.edu})}
+\smallskip
+\centerline{Department of Mathematics}
+\centerline{University of Maryland}
+\centerline{College Park, MD 20742}}
+
+\bigskip\hfill\hbox{\vbox{\baselineskip10pt
+\hbox{\it Small have continual plodders ever won,}
+\hbox{\it Save base authority from others{\rm'} books.}
+\smallskip
+\hbox{\ \ W. Shakespeare, \it Love{\rm'}s Labour{\rm'}s Lost}}}
+
+\beginsection{.3} 0. General
+
+\Tib{} is a package of four programs for making citations and reference
+lists in \TeX{} documents. The main program, \Tib, operates on a \TeX{}
+file with incomplete or keyed citations, looks up the reference in a
+database, makes the complete citation and on command, makes a list of
+the references. The citations in the source document
+are enclosed in (non-\TeX) escape characters
+which \Tib{} recognizes. The output of \Tib{} is another \TeX{} file with
+complete citations and reference list formatted with a number of \TeX{} control
+sequences and with definitions for these control sequences, ready
+to be processed by plain \TeX, \LaTeX, or another \TeX. With appropriate
+options in \Tib{} and definitions of the control sequences, set by
+flags in the call to \Tib{} or as environment variables,
+the citations and references can be formatted in any
+of a large variety of styles, and in particular, in the styles of various
+journals. It is intended that \Tib{} be easy to use as is and yet also allow
+custom citation and reference formats to be created and implemented
+without undue effort.
+
+\Tib is a preprocessor in the style of {\it refer\/}, a similar
+preprocessor for the {\it nroff{\rm/}troff\/} textsetters. Indeed
+\Tib{} originally was to be a minor modification of the {\it
+nroff{\rm/}troff\/} preprocessor {\it bib\/} written by T. A. Budd
+(which was inspired by {\it refer\/}), but with \TeX{} output; however
+it has grown and changed considerably. The philosophy, though, is that
+of {\it refer\/} and {\it bib\/} (especially of {\it bib\/} in regard
+to modularity of the formatting files), and some of the code and
+subroutines from {\it bib\/} remain. The source code of \Tib{} is in
+the language C.
+
+The sections of this document are:
+\medskip
+\halign{\indent\indent\hfil#&\quad{\it#}\hfill\cr
+1.&Demonstration\cr
+2.&Program calls\cr
+3.&Available styles\cr
+4.&The input document\cr
+5.&Styles and files\cr
+6.&The reference file\cr
+7.&{\tt\\input} files\cr
+8.&Error and warning messages\cr
+&Disclaimer\cr
+A1.&Appendix: the example document\cr
+A2.&Appendix: local changes\/ {\rm(if any)}\cr
+}
+\medskip\noindent
+Section~1 is for first-time users. Indeed, probably the best course is
+to use the demonstration files as models and use the remainder of this
+documentation as reference when needed.
+
+The escape characters of \Tib{} do not interfere with \TeX{} processing.
+If \TeX{} is applied to the original pre-\Tib{} document, the escape
+characters and incomplete citations will appear as written.
+Thus it is suggested that a \TeX{} document be debugged before applying
+\Tib. When the \TeX{} bugs are eliminated, \Tib{} can be used
+for the final one or two runs.
+
+\beginsection{.3} 1. Demonstration
+
+{\leftskip3pc\parindent0pt\it
+\item{\rm1.} Copy the file\/ {\rm\TDOCDIR\DIRSEP test.tex}
+{\rm(}see appendix\/{\rm)} into a directory.
+This is a sample\/ \TeX{} document ready for \itTib.
+
+\item{\rm2.} Copy the file\/ {\rm\TDOCDIR\DIRSEP test.ref} into the same
+directory. This is a sample bibliographic database.
+
+\item{\rm3.} Apply the program \itTib dex to\/ {\rm test.ref\/}
+\smallskip\par\hskip40pt{\tt tibdex test} \hskip1em (the {\tt .ref} is appended
+automatically)\smallskip
+\par This creates an inverted index\/ {\rm INDEX\/} in the directory.
+
+\item{\rm4.} Apply \itTib{} to\/ {\rm test.tex\/}.
+\smallskip\par\hskip40pt{\tt tib test.tex}
+\par or
+\par\hskip40pt{\tt tib test}\smallskip
+\par {\rm(}the extension\/ {\rm .tex\/} need not be part of the call\/{\rm)}.
+The output is the file\/ {\rm test-t.tex}, which is ready for\/ \TeX.
+
+\item{\rm4.L.} For \itLaTeX, follow the instructions in\/ {\rm test.tex\/} before
+performing step 4.
+
+\item{\rm5.} Process\/ {\rm test-t.tex\/} with \TeX{} or \itLaTeX{} as usual.
+\bigskip}\noindent
+This call sets default options. A large variety of formatting options
+is available. Some of them are: other fonts (old English, boldface ...),
+alphabetizing and other sorts of sorts, replacing successive
+listings of identical
+author(s) by underlines, other citation styles (3 letter codes from authors'
+names, authors' names and date, superscripts), reversing and/or abbreviating
+authors' names, caps-small caps for names, hyphenating strings of references
+in citations, footnotes instead of endnotes, other listing formats. Any
+combination of these (and others) can be packaged in a format file and called
+with the \OPTCH s~\<style> option. For demonstrations of some of these,
+repeat steps 4-5 with the following calls on {\it test.tex} (see also
+section~3):
+\smallskip{\tt
+\par\indent\indent tib \OPTCH s demo1 test
+\par\indent\indent tib \OPTCH s demo2 test {\rm(for plain \TeX)}
+\par\indent\indent tib \OPTCH s demo2l test {\rm(for \LaTeX)}
+\par\indent\indent tib \OPTCH s demo3 test {\rm(for plain \TeX)}
+\par\indent\indent tib \OPTCH s demo3l test {\rm(for \LaTeX)}
+\par\indent\indent tib \OPTCH s demo4 test
+\par\indent\indent tib \OPTCH s demo5 test
+\par\indent\indent tib \OPTCH s demo6p test {\rm(for plain \TeX)}
+\par\indent\indent tib \OPTCH s demo6l test {\rm(for \LaTeX)}}.
+\smallskip
+
+\noindent The last two call for footnotes; note the instructions in
+{\it test.tex}. Note that occasionally, reformatting or additional editing is
+called for. \Tib{} is not meant to cover {\it all\/} formatting possibilities.
+
+\beginsection{.1} 2. Program calls
+
+There are four programs in the \Tib{} package:
+\medskip\halign{\indent\indent#\hfil&\qquad{\it#}\hfil\cr
+\Tib&bibliographic preprocessor for \TeX{} documents,\cr
+\Tib dex&makes inverted index from database\/{\rm(}s\/{\rm)},\cr
+\Tib list&lists all members of the database\/{\rm(}s\/{\rm)},\cr
+\Tib look&interactively locates listings in the database\/{\rm(}s\/{\rm)}.\cr}
+\medskip
+We consider the specifications for each. In the calls below angle brackets
+(\<name>) enclose names to be supplied by the user. Square
+brackets (\[\OPTCH {\it flag}]) enclose optional items. The brackets
+are not part of the call. The space indicated between a flag and a
+\<name> can be omitted. The flags need not be used in the order indicated
+below; files are processed in the order they appear, left to right.
+Note there is a distinction between {\it index\/}
+files and {\it reference\/} files. The latter is the database created by
+the user; the former is created by \Tib dex.
+
+\centerline{\vrule height0pt depth.5pt width8pc}
+\par\vskip0pt plus.3\vsize\penalty-250\vskip0pt plus-.3\vsize
+{\noindent\raggedright\tt
+\leftline{tib \[\OPTCH d \<directory>] \[\OPTCH i \<include file>]
+ [\OPTCH j] \[\OPTCH n \<initial flag>]
+ \[\OPTCH p \<private index file\/{\rm(}s\/{\rm)}>]}
+ \rightline{\[\OPTCH s \<style file>]
+ \[\OPTCH x] \[\OPTCH z] \[\OPTCH $|$] \[\<input
+ file\/{\rm(}s\/{\rm)}>]}}
+\smallskip
+\noindent\Tib{} is a program to construct a bibliography for a \TeX{} file
+and to include calls to macros files so that \TeX{} formats the citations
+and bibliography in any of a number of styles.
+The {\it input file} is a \TeX{} file augmented with incomplete or keyed
+citations surrounded by \Tib{} escape characters, as described in section~4.
+Multiple input files are separated by spaces on the call and amalgamated
+into one output file. If \<input file> is omitted, one prompt is given.
+If the input file is named {\it file\/} or {\it file.tex},
+the output file is named {\it file-t.tex}, unless the input file is
+{\it stdin}, in which case the output file is {\it stdout}.
+The following are the options:
+\par{\leftbox5pc\def\tablemark{\OPTCH }\tableset
+
+\tableentry{d \<directory>}Private directory of \Tib{} files. Obviates
+\OPTCH i~option. See Table~6.
+
+\tableentry{i \<file>}Include file of macros and \Tib{} commands.
+See sections 3 and~5.
+This option is used if there are private macro/command file(s).
+
+\tableentry{j}Process {\tt\\input} files.
+
+\tableentry{n \<initial flag>}Number (nonnegative) used as initial
+numerical citation flag (default 1). Ignored for nonnumerical flags.
+
+\tableentry{p \<files>}Private index files, separated by commas.
+The default is the file {\it INDEX\/} in the working directory.
+
+\tableentry{s \<file>}Style file, which contains formatting instructions and
+also may call other files. Style files are described in detail in section~6.
+The available style files are described in section~3.
+
+\tableentry{x}Output to {\it stdout}.
+
+\tableentry{z}Silent run. Informational (but not warning or error)
+messages are suppressed.
+
+\tableentry{$|$}Pipe. Input is {\it stdin\/}; output is {\it stdout}. Silent.
+\par}\centerline{\vrule height0pt depth.5pt width8pc}
+
+\par%\vskip0pt plus.3\vsize\penalty-250\vskip0pt plus-.3\vsize
+{\noindent\tt
+\leftline{tibdex \[\OPTCH c \<common-word files>] \[\OPTCH k \<key number>]
+ \[\OPTCH l \<length of keys>] \[\OPTCH n \<initial flag>]}
+ \rightline{\[\OPTCH p \<private output file>] \[\OPTCH z]
+ \[\OPTCH \%\<string>] \<reference file\/{\rm(}s\/{\rm)}>}}
+\smallskip
+\noindent\Tib dex makes an inverted index from reference file(s). The
+reference files are described in section~6. Names of multiple reference files
+are separated by spaces. The output is an inverted index for use by
+\Tib{} and \Tib look. The output index must not be moved or
+the links to the reference files will be broken.
+The following are the options:
+\par{\leftbox5pc\def\tablemark{\OPTCH }\tableset
+
+\tableentry{c \<file>}Common-word list, one word per line. Common words
+are not used as keys (default \TCOMMON).
+
+\tableentry{k \<number>}Maximum number of keys kept per record (default 100).
+
+\tableentry{l \<number>}Maximum length of keys (default 6).
+
+\tableentry{n \<initial flag>}Number (nonnegative) used as initial
+numerical citation flag (default 1). Ignored for nonnumerical flags.
+
+\tableentry{p \<file>}Private output file (default {\it INDEX\/} in the
+current directory).
+
+\tableentry{z}Silent run. Informational (but not warning and error)
+messages are suppressed.
+
+\tableentry{\%\<string>}Ignore lines in the reference file that begin
+with \%x where x is in {\it string\/} (see Table~10) (default CNOPVcnopv\\\%).
+\par}\centerline{\vrule height0pt depth.5pt width8pc}
+
+\par\vskip0pt plus.3\vsize\penalty-250\vskip0pt plus-.3\vsize
+{\noindent\raggedright\tt
+ tiblist \[\OPTCH d \<directory>] \[\OPTCH i \<include file>]
+ \[\OPTCH s \<style file>] \[\OPTCH x] \[\OPTCH z] \[\OPTCH $|$]
+ \[\<reference file\/{\rm(}s\/{\rm)}>]}
+\smallskip
+\noindent\Tib list makes a formatted plain \TeX{} file of all entries in the
+input reference file(s). Names of multiple files are separated by spaces.
+If \<input file> is omitted, one prompt is given. Unlike \Tib, \Tib list
+does not use inverted indices, but directly processes the reference files.
+The following are the options:
+\par{\leftbox5pc\def\tablemark{\OPTCH }\tableset
+
+\tableentry{d \<directory>}Private directory of \Tib{} files. Obviates
+\OPTCH i~option. See Table~6.
+
+\tableentry{i \<file>}Include file of macros and \Tib{} commands.
+See sections 3 and~5.
+This option is used if there are private macro/command file(s).
+
+\tableentry{s \<file>}Style file, which contains formatting instructions and
+also may call other files. Style files are described in detail in section~5.
+The available style files are described in section~3.
+
+\tableentry{x}Output to {\it stdout}.
+
+\tableentry{z}Silent run. Informational (but not warning and error)
+messages are suppressed.
+
+\tableentry{$|$}Pipe. Input is {\it stdin\/}; output is {\it stdout}. Silent.
+\par}
+
+\noindent Note: the \OPTCH p~option does not cause an error, but is ignored.
+\par\centerline{\vrule height0pt depth.5pt width8pc}
+
+\par\vskip0pt plus.3\vsize\penalty-250\vskip0pt plus-.3\vsize
+{\noindent\raggedright\hangindent1pc\hangafter0\tt
+ tiblook \[\OPTCH c \<common-words file>]
+ \[\OPTCH l \<length of keys>] \[\OPTCH p \<private indices>]
+ \[\<keywords>]}
+\smallskip
+\noindent\Tib look locates entries in reference files from keywords.
+If keywords are not entered on the command line, \Tib look gives
+instructions and operates interactively. \Tib look, like \Tib, works
+through inverted indices to get to the reference files.
+
+The following are the options:
+\par{\leftbox5pc\def\tablemark{\OPTCH }\tableset
+
+\tableentry{c \<file>}Common-word list, one word per line. Common words
+are not used as keys (default \TCOMMON).
+
+\tableentry{l \<number>}Maximum length of keys (default 6).
+
+\tableentry{p \<files>}Private index files, separated by commas.
+The default is the file {\it INDEX\/} in the working directory.
+
+\tableentry{\<keywords>}Keywords for noninteractive search.
+\par}\centerline{\vrule height0pt depth.5pt width8pc}
+\par\vskip0pt plus.1\vsize\penalty-250\vskip0pt plus-.1\vsize
+
+\bigskip
+\par\noindent The following can optionally
+be set as variables in the environment:
+\medskip\par{\leftbox5pc\def\tablemark{}\tableset
+\tableentry{\rm TMACLIB}Directory for macro files (no directory-separator
+character on the end).
+\tableentry{\rm TMPDIR}Scratch directory for temporary work files (no
+directory-separator character on the end).
+\tableentry{\rm COMFILE}File of common words.
+\tableentry{\rm SYSINDEX}System index file.
+\tableentry{\rm DEFSTYLE}Default style file.
+\par}\centerline{\vrule height0pt depth.5pt width8pc}
+
+\bigskip
+\par\noindent The options permit a variety of possibilities in file
+organization. At one extreme there can be a number of specialized
+reference files and \Tib dex can be run
+on particular ones to create an index for each particular document. At the
+other extreme, there can be one master reference file and one master
+index in a dedicated directory. This index can be accessed by \Tib{}
+with the \OPTCH p~option. In this case the \Tib{} programs could be {\it aliased\/}
+(or called from macros) so this index is automatically accessible. The same
+is true of private command files which are accessed with the \OPTCH i~option or made
+available with the \OPTCH d~option.
+
+\beginsection{.1} 3. Available styles
+
+The selection of style file for the \OPTCH s~option for the call to
+\Tib{} is the basic choice and is often the only choice necessary.
+It controls the format style of the citations and reference list. A
+number of styles are supplied; they are listed for reference (Tables 1 \&~2).
+A {\it name\/} listed is called by the option {\tt \OPTCH s~\<name>}
+(although {\it name\/} is only part of the actual name of the file). The
+effect of the choice on \Tib{} is described in section~5. There are
+a number of general styles and variations which are listed in Table~1.
+Also a number of journal styles are available. Journal styles
+currently available are listed in Table~2. One of the purposes
+of \Tib{} is generating citations and reference lists in journal styles
+so that papers can be sent to journals as \TeX{} files. As journals develop
+format specifications for \TeX{} files, more journal styles will be
+developed and refined to those specifications. Conversely, a journal
+which accepts papers in \TeX{} form and which has
+a copy of \Tib{}, or at least appropriate {\it .ttx\/} files
+(see section~5), could process a paper set in \TeX{} with \Tib{}
+control sequences and format it to its own journal style. See also the
+file {\tt\TDOCDIR\DIRSEP Styles}.
+
+\midinsert
+\centerline{\bf Table~1. General format styles}\smallskip
+{\tt\catcode`\u=12\parindent17pt
+\par num \hskip2pc{\rm(default unless reset at installation or in environment)}
+\par numo, numos, numb, numbs, numu, numub, numubs, numus, numul,
+numubl, numubsl
+\par alpha, alphab
+\par nmdt, nmdtb
+\par footp, footl
+\par intext, slyd}
+\medskip
+\centerline{Meanings:}
+{\leftbox5pc\def\tablemark{}\tableset
+\par\tableentry{num}standard numerical citations
+\par\tableentry{alpha}3 letter alphabetic citations
+\par\tableentry{nmdt}citations made from names and date
+\par\tableentry{foot}footnotes
+\par\tableentry{o}old English
+\par\tableentry{b}some boldface
+\par\tableentry{s}sorted (alphabetized)
+\par\tableentry{u}superscripts (up)
+\par\tableentry{p}plain \TeX
+\par\tableentry{l}\LaTeX
+\par\tableentry{intext}references in text
+\par\tableentry{slyd}for making slides
+\par\centerline{\vrule height0pt depth.5pt width8pc}}
+\centerline{\bf Table~2. Journal format styles}\smallskip
+{\leftbox5pc\def\tablemark{}\tableset
+\par\tableentry{acm}Association of Computing Machinery (all journals)
+[{\tt acml} for \LaTeX]
+\par\tableentry{}American Mathematical Society (all journals)
+\par\tableentry{amsa}\hskip1pc alphabetical citations
+\par\tableentry{amsd}\hskip1pc name-date citations
+\par\tableentry{amsn}\hskip1pc numerical citations
+\par\tableentry{aps}American Physical Society
+\par\tableentry{cmp}{\it Communications in Mathematical Physics}
+\par\tableentry{epes}{\it Electrical Power and Energy Systems}
+\par\tableentry{ijrr}{\it International Journal of Robotics Research}
+\par\tableentry{ieee}Institute of Electrical and Electronic Engineers
+(all journals)
+\par\tableentry{jgr}{\it Journal of Geophysical Research}
+\par\tableentry{lala}{\it Linear Algebra and its Applications}
+\par\tableentry{}Society for Industrial and Applied Mathematics (all journals)
+\par\tableentry{siamd}\hskip1pc name-date citations [{\tt siamdl} for \LaTeX]
+\par\tableentry{siamn}\hskip1pc numerical citations [{\tt siamnl} for \LaTeX]
+\par\tableentry{spln}Springer {\it Lecture Notes\/} and other publications
+\par\centerline{\vrule height0pt depth.5pt width8pc}}\endinsert
+
+\Tib{} is not universally successful with all styles. There are
+several features which don't work well in slyd; these are detailed in
+the master file {\tt\TMACDIR\DIRSEP slyd.tib}. Moreover, so that the
+alternate citation style (see section~4) works with footnotes, \Tib{}
+uses its own citation numbers in footnotes in plain \TeX. If numbered
+footnotes are used for purposes other than citations, conflicts will
+arise. \Tib{} works acceptably with \LaTeX, since it uses the footnote
+numbers generated by \LaTeX. Certainly the same process can be made to
+work in plain \TeX{} ({\it The \TeX book}, exercise 15.12). In
+addition, when using ``{\it loc.\ cit.}," \Tib{} refers only to the
+author(s). However, see the appropriate {\tt .ttx} files for
+modifications to include the title also in the citation. Also some
+styles call for amalgamating multiple references into one footnote or
+include comments and references in one footnote. This is presently
+beyond \Tib's capability. For example, \Tib{} has considerable trouble
+with the American Physical Society's style, which uses footnotes with
+all the above features, and in addition collects them at the end as
+endnotes.
+
+\beginsection{.2} 4. The input document
+
+\Tib{} operates on a \TeX{} file with incomplete citations. It recognizes
+its own set of escape sequences, which are summarized in Table~3. For an
+example document, see the appendix. For each
+such citation it locates the reference in a reference file, constructs the
+citation in one of several styles and on demand, creates a reference list.
+In this section we discuss the way \Tib{} reads the file.
+
+An {\it ordinary incomplete\/} citation is surrounded by the characters
+{\tt [.} {\tt .]}. For example:
+\medskip\centerline{\tt
+ \dots in Arnol'd's book,[.arnold singularities.]\ especially\dots}
+\medskip
+\noindent Words in the incomplete citation (separated by spaces)
+are matched against the inverted index created by \Tib dex
+and hence against the source reference files. The words are any words
+in the reference listing, except those in the excluded fields (see section
+6 for a discussion of the reference files; see the \OPTCH \%~option for \Tib dex
+for excluded fields). \Tib{} first searches the default index ({\it INDEX\/})
+or the indices designated with the \OPTCH p~option, in order from left to right
+and then the system index, if there is one. If an entry is found that
+matches all words, that reference is used. If no reference entry is found
+or if multiple entries are found, a warning message is sent to the console.
+The case of the letters in the citation is immaterial. The words in the
+citation are truncated (by default to 6 letters; see the \OPTCH l~option for
+\Tib dex). Thus {\tt [.arnold singularities.]} and {\tt [.ARNOLD singul.]}
+effect the same result. Embedded newlines, tabs and extra spaces are ignored.
+The format of the citation is controlled by \Tib{} format files (section~5).
+
+Note that punctuation is placed to the left of the citation. In some
+citation styles (e.g.\ brackets), punctuation comes after the citation,
+and in others (e.g.\ superscripts), it comes before. \Tib{}
+looks at the character immediately preceding the {\tt [.}\ and generates
+control sequences which are interpreted by \TeX{} via macro files appropriate
+to the citation style. Punctuation to the right of citations is passed
+through unparsed to \TeX.
+Such a citation placed in a line after a \TeX{} comment character `\%'
+(or other character of category~14)
+will cause the cited reference to appear in the listing, but not in the text.
+
+Multiple citations in one citation mark are indicated by commas:
+\medskip\centerline{\tt
+ \dots equations.[.arnold singularities, arnold equations.]}
+\medskip
+
+\noindent {\it Additional information\/} can be placed at the end of a
+citation by enclosing it in angle brackets {\tt< >}, e.g.\
+\medskip\centerline{\tt
+ \dots in.[.arnold singularities <, chap.\catcode`\~=12{~}2>.]}
+\medskip
+\noindent In citation styles which use brackets, such insertions are enclosed
+{\it verbatim\/} in the brackets. In other styles, such as footnotes, the
+information is appended to the reference listing.
+
+An {\it alternate citation} style can be used by surrounding the incomplete
+citation with {\tt<. .>}. This is mostly for citations in running text.
+Thus:
+\medskip\centerline{\tt
+ \dots discussed in reference <.arnold singularities.>.}
+\medskip
+\noindent Insertions are not permitted in this alternative style. Neither is
+punctuation handled specially; thus punctuation should be put in its
+usual place.
+
+A reference list is constructed and inserted in the document where the
+sequence {\tt .[]} is encountered at the beginning of a line. The remainder
+of that line is processed and inserted before the listing. The style and
+format of the listing is controlled by \Tib{} format files.
+
+If for some reason, one of \Tib's sequences is part of the text
+of the document, break up the sequence so \Tib{} will not recognize it
+(e.g.{} {\tt [\{\}.} or {\tt\$x< .5\$}).
+Note that the \Tib{} escape sequences are transparent to
+\TeX{} so they do not interfere with \TeX{} processing. Thus a \TeX{}
+document can be debugged without running \Tib{}. The citations
+will appear as typed in the document. After all \TeX{} bugs are eliminated,
+then \Tib{} can be used for the final one or two runs.
+
+\midinsert
+\centerline{\bf Table~3. \bfTib's escape sequences}\smallskip
+{\leftbox10pc\def\tablemark{}\tableset
+
+\tableentry{[.{\it key words}.]}Citation,
+
+\tableentry{<.{\it key words\/}.>}Alternate citation,
+
+\tableentry{[.\ $\dots$<{\it insertion\/}>.]}Insertion in citation,
+
+\tableentry{.[]}Make reference list after this line (must be at beginning
+of line).
+\par}\endinsert
+
+\beginsection{.2} 5. Styles and files
+
+\Tib{} controls the format of the citations and reference lists by means
+of files of \Tib{} and \TeX{} commands. For the most part the details of such
+controls can be ignored, with three possible exceptions.
+
+One: it is possible
+to ``define" code words for use in the reference files. For example, a file of
+1845 standard (= {\it Mathematical Reviews}) journal abbreviations is supplied
+and \Tib{} will automatically abbreviate journal names. The process is
+discussed below in the subsection on definitions. Additionally, private
+abbreviations can be defined and the standard abbreviations can be overridden.
+The method for doing such is discussed in this section.
+
+Two: \Tib{} can automatically format
+99\kern.25em\raise.5ex\hbox{\the\scriptfont0 {44}}
+\kern-.35em/\kern-.15em\lower.25ex\hbox{\the\scriptfont0 {100}}\%\ \thinspace
+of citation work. However it is only a computer
+program, and on occasion will require human assistance. There will be
+references which \Tib{} just cannot format correctly. Or an overfull
+{\tt\\hbox} may crop up. The output of \Tib{} is a \TeX{} document
+which may be edited before applying \TeX. However \Tib{} puts out
+a small jungle of control sequences and it is necessary to have some idea how
+to hack through them.
+
+Three: concerning those control strings, \Tib{}
+reserves fifty or so control strings for its use. The definitions of these
+strings can be modified for particular effects; however unintentional
+modification can result in chaos. Thus it is at least necessary to
+know what the reserved strings are.
+
+\beginsubsection{.2} Reserved control strings
+
+We take care of the last point first. Table~4 is a complete list
+of global control strings which \Tib{} may insert into a document.
+Also \Tib{} uses the plain \TeX{} strings {\tt\\bgroup}
+and {\tt\\egroup} as implicit left and right braces. For
+completeness, it explicitly defines them with their plain \TeX{} meanings.
+In addition \Tib{} sets a number of other control strings. However
+these are local and thus will not conflict with their possible other use
+in other parts of the document. For the meaning of these strings,
+see the file {\tt\TMACDIR\DIRSEP Macros.ttx}, where
+these control strings are given their default definitions.
+
+\midinsert
+\centerline{\bf Table~4. Reserved global control strings}
+\smallskip
+\centerline{(See file {\tt\TMACDIR\DIRSEP Macros.ttx} for definitions)}
+\smallskip
+{\tt\settabs4\columns
+
+\+\\TMACLIB &\\aand &\\Aand &\\aandd\cr
+\+\\Aandd &\\ACitefont &\\acomma &\\Acomma\cr
+\+\\Authfont &\\Citebrackets &\\Citebreak &\\Citecomma\cr
+\+\\Citefont &\\Citehyphen &\\Citenamedate &\\Citeparen\cr
+\+\\Citesuper &\\eand &\\Eand &\\eandd\cr
+\+\\Eandd &\\ecomma &\\Ecomma &\\Flagfont\cr
+\+\\Flagstyle &\\Initgap &\\Initper &\\LAcitemark\cr
+\+\\Lbang &\\Lcitemark &\\Lcolon &\\Lcomma\cr
+\+\\LIcitemark &\\Lperiod &\\Lpunct &\\Lqquote\cr
+\+\\Lquest &\\Lquote &\\Lrquote &\\Lscolon\cr
+\+\\Lspace &\\Nameand &\\Nameandd &\\Namecomma\cr
+\+\\RAcitemark &\\Rbang &\\Rcitemark &\\Rcolon\cr
+\+\\Rcomma &\\Reffont &\\Refformat &\\Refstd\cr
+\+\\Refstda &\\Resetstrings &\\Revcomma &\\RIcitemark\cr
+\+\\Rperiod &\\Rpunct &\\Rqquote &\\Rquest\cr
+\+\\Rquote &\\Rrquote &\\Rscolon &\\Rspace\cr
+\+\\Smallcapsaand &\\Smallcapseand&\\Smallcapsfont&\\Titlefont\cr
+\+\\Tomefont &\\Underlinemark&\\Volfont &\\zstr\cr
+\+\\Zstr &\\ztest &\\Ztest\cr
+\settabs3\columns
+\+\\journalarticleformat &\\conferencereportformat &\\bookformat\cr
+\+\\technicalreportformat &\\bookarticleformat &\\otherformat\cr
+}\endinsert
+
+\Tib{} is intended to be compatible with virtually all possible \TeX s,
+in particular plain \TeX, \LaTeX, and \AmSTeX.
+With only a few exceptions, all macros in \Tib{} are written
+in terms of primitive \TeX{} (starred commands in D. Knuth's
+{\it The \TeX book}). The exceptions are:
+\par{\leftskip2pc\parindent0pt
+\item{(1)} fonts {\tt\\rm} and {\tt\\sl} are assumed loaded; also
+{\tt\\sevenrm} if {\tt AX} or {\tt EX} is used,
+\item{(2)} footnote
+macros for plain \TeX{} and \LaTeX{} are used in the appropriate macro files,
+\item{(3)} the files of journal names are for Latin fonts and
+include plain \TeX{} diacritical marks
+(D. Knuth's {\it The \TeX book}, p.~52 or L. Lamport's \itLaTeX, p.~40);
+in particular, if a Cyrillic font is to be
+used, different journal word-definition files must be used.\par}
+\noindent On the other hand, \Tib{} requires
+that the category codes of plain \TeX{} be in force
+(see {\it The \TeX book}, p.~37). For example `\{' and `\}'
+are assumed to be grouping characters, `\%' is assumed to terminate a
+line, etc.\ \Tib{} occasionally puts out something in
+{\tt\$math mode\$}, but creates neither displayed nor tabular material.
+
+\beginsubsection{.2} \bfTib{} files
+
+\midinsert
+\centerline{\bf Table~5. A typical {\tt .tib}\ file}
+{\tt\obeylines\obeyspaces%
+\#
+\# standard format
+\#
+\# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+H hyphenate strings of citations
+
+\%The lines below are copied verbatim into the output document as TeX commands.
+\%First the file \\TMACLIB Macros.tib is \\input with Macros and default settings.
+\%The control string \\TMACLIB is just a path.
+\%
+\\input\\TMACLIB\ stdbra.ttx \%TeX macros for formatting reference list
+\\Refstda\\Citebrackets \%set general formats for reference list and citations
+}\endinsert
+
+\noindent The \OPTCH s and \OPTCH i~options of the call to \Tib{} both cause \Tib{} to
+process files. The files are processed in their orders in the call to \Tib.
+These files (Table~5) contain \Tib{} format commands (Table~7) which
+control how \Tib{} processes the input file and/or \TeX{} control
+strings which are printed {\it verbatim\/} in the output document. In turn
+these files can contain a command to process further files. In general
+the \OPTCH s~option causes \Tib{} to process a master style file which in turn
+effects processing of subsidiary files. For the most part the user need
+only be concerned with the master file. The \OPTCH d and \OPTCH i~options are available
+if some private commands (such as definitions for code words) or styles
+are to be incorporated.
+Although any \Tib{} command file can contain either \Tib{} commands or \TeX{}
+control strings or both, there is a general extension-naming convention:
+\medskip
+{\leftbox3.5pc\def\tablemark{}\tableset\everypar={\hangindent1em\hangafter1}
+\smallskip\tableentry{.tib}Master command files, which are usually called by
+the \OPTCH s~option. These files contain enough commands to completely set a style.
+It is possible for one of these files to call another.
+\smallskip\tableentry{.ttz}Subsidiary files consisting of \Tib{} commands
+and possibly \TeX{} commands, which are called by {\tt .tib} files.
+\smallskip\tableentry{.ttx}Files consisting of \TeX{} macros which are
+often {\tt\\input} by commands from the master {\tt .tib} file.
+\par}\medskip
+
+\noindent Thus there are files
+\medskip
+\par{\leftbox5pc\def\tablemark{}\tableset
+\par\tableentry{\tt num.tib} setting standard numerical flags enclosed in
+brackets,
+\par\tableentry{\tt amsabb.ttz} containing definitions
+(abbreviations) of code words for journals, and
+\par\tableentry{\tt ieee.ttx} containing the \TeX{}
+macros for formatting citations and references in the style of IEEE
+journals.
+\medskip}
+
+\midinsert\centerline{\bf Table~6. Order of file search}\medskip
+\par\vskip0pt plus4\baselineskip\penalty-250\vskip0pt plus-4\baselineskip
+\par\indent\indent\indent first: look in the current directory for \<filename>,
+\par\indent\indent\indent second: append {\tt .tib} to \<filename>
+and look in the current directory,
+\par\indent\indent\indent third: if the \OPTCH d~option is used, look in that
+directory for \<filename>,
+\par\indent\indent\indent fourth: append {\tt .tib} to \<filename> and look
+in the \OPTCH d~directory,
+\par\indent\indent\indent fifth: look in the system directory for \<filename>,
+\par\indent\indent\indent sixth: append {\tt .tib} to \<filename> and look
+in the system directory,
+\par\indent\indent\indent seventh: quit with an error message.
+\par\endinsert
+\bigskip
+\midinsert
+\centerline{\bf Table~7. \bfTib{} commands}\smallskip
+\par{\leftbox10pc\def\tablemark{}\tableset
+\everypar={\hangindent1em\hangafter1}
+
+\tableentry{\#}Comment, line ignored
+
+\tableentry{A}Format authors' names depending on following characters
+as follows:
+
+{\leftbox11pc\tableset
+\tableentry{AA}Abbreviate authors' first names
+
+\tableentry{AR\<num>}Reverse first and last names of first {\it num}
+authors. If {\it num} is omitted, all authors's names are reversed.
+
+\tableentry{AX}Print authors' names in caps-small caps. If {\tt AA} and
+{\tt AX} are called for, the abbreviated first names are not put in
+caps-small caps (relevant only for first names not beginning with a capital
+letter). Defining {\tt\\Authfont} as a caps-small caps font [such as
+{\it amcsc\/} (={\tt\\sc} in \LaTeX)] if one is available,
+is an alternative to using {\tt AX}.
+\par}
+
+\tableentry{E}Equivalent to the {\tt A} command, except for editors.
+
+\tableentry{C\<template>}Citation template. See discussion in text.
+
+\tableentry{D \<word> \<definition>}Definition of word. See discussion in text.
+
+\tableentry{f}Footnotes. Print out reference immediately, instead of
+saving for list (in which case the escape sequence {\tt .[]} is not used).
+
+\tableentry{F}Use special citations flags from reference file if they exist,
+instead of constructed flags.
+
+\tableentry{I \<filename>}Include {\it filename\/} for processing;
+{\it filename\/} may contain further \Tib{} commands.
+
+\tableentry{H}Hyphenate three or more citations in one citation mark that
+refer to successive entries in the reference list. For example, the citation
+2,3,4,5 is replaced by 2--5. The {\tt H}~option implies the {\tt O}~option.
+
+\tableentry{L}Use ``{\it loc.\ cit.}" and ``{\it ibid.}"
+for duplicate references.
+
+\tableentry{N\<string>}Turn off options indicated by {\it string}, which must
+be composed of the letters A (for AA), F, H, O, R, S, X (for AX).
+
+\tableentry{O}Citations in one citation mark are sorted according to the order
+given by the reference list.
+
+\tableentry{P}Print only first page numbers of articles.
+
+\tableentry{S\<template>}Sort reference list according to {\it template}. See
+discussion in text.
+
+\tableentry{T\<string>}Generate trailing character strings for reference fields
+coded in {\it string}. See discussion in text.
+
+\tableentry{U}Replace two or more successive reference listings of identical
+authors by underlines.
+\par}\endinsert
+
+\Tib{} searches for \<filename> called with the \OPTCH s or \OPTCH i~option in the call, or
+the I~command in a file (see next subsection) in the order listed in Table~6.
+Thus system {\tt .tib} files or private {\tt .tib}
+files can be called with short names. All other files require full names.
+Private files can be kept in the working directory or a directory designated
+with the \OPTCH d~option. If the \OPTCH d~option is to be used regularly, the calls to
+\Tib{} and \Tib list could be {\it aliased\/} or put in macros.
+The code {\tt TMACLIB} (followed by one or more spaces)
+is defined as the system directory \TMACDIR{}
+for use in command files, and the \TeX{} control string {\tt\\TMACLIB}
+is defined as the system directory name, for use in {\tt\\input} commands.
+
+A \Tib{} output file starts with the \TeX{} commands
+\smallskip\hskip20pt
+{\tt\\def\\TMACLIB\{\TMACDIR\DIRSEP\}\\input\\TMACLIB\ Macros.ttx}.
+\smallskip\noindent The file {\tt TMACLIB\DIRSEP Macros.ttx\/} contains
+default definitions for the reserved control strings. Then any \TeX{}
+commands from the files called with the \OPTCH s or \OPTCH i~options (and commands
+from files called by these files) are listed. Then comes the processed
+document. There are also {\tt\\message} commands to list the files
+called (in order with nesting) on the terminal and in the {\tt .log} file
+during the subsequent \TeX{} run.
+Note that any default \TeX{} definition can be overridden by a redefinition
+either in a file called with \OPTCH i or in the document proper. Similarly
+\Tib{} commands can be added in files called with \OPTCH i. If there is a
+standard private such file (e.g.\ containing definitions), it could be kept in
+a special directory and the call to \Tib{} could
+be {\it aliased\/} or put in a macro so that this file is always included.
+
+\beginsubsection{.05} \bfTib{} commands
+
+\Tib{} commands begin in the first column of a file and are one-letter commands
+possibly followed by character sequences. Table~7 lists the commands.
+The first line in the file that does not match one of the items in Table~7
+causes that line and all subsequent lines to be copied {\it verbatim\/} to the
+output file.
+
+\beginsubsection{.1} Citations
+
+\midinsert
+\centerline{\bf Table~8. Citation styles}
+\medskip\par{\leftbox2.5pc\def\tablemark{}\tableset
+\everypar={\hangindent1em\hangafter1}
+
+\tableentry{0}No citation -- used for inserting reference in the body of the
+text.
+\smallskip
+\tableentry{1}Numerical citation, starting at 1 (default style).
+\smallskip
+\tableentry{2}Alphabetic citation constructed from last names of author(s):
+if one author then first 3 letters of name; if two authors then
+first 2 letter of name of first and first letter of name of second;
+if 3 or more authors then first letter of name of first three.
+If the last name of an author does not begin with a capital letter,
+the citation is extended until the first capital letter is encountered.
+Can be followed by further code which denotes additional fields from the
+reference file. For example the template {\tt 2D-2} means follow the
+alphabetic citation with the last two characters in the date field.
+The two fields are separated by the \TeX{} control string {\tt\\Citebreak}.
+If {\tt\\Citebreak} is defined to be empty, the template {\tt 2D-2} will
+effect citations of the form ``AuD77." If there are no authors, citations
+are made from editors' names. If there are also no editors, the issuer
+is used.
+\smallskip
+\tableentry{3}Last names of authors or first author {\it et al.}\ if more
+than three authors. Can be followed by further code which denotes additional
+fields from the reference file, as above. If {\tt\\Citebreak} is defined to
+be \{, \}, the template {\tt 3D-4} will effect citations of the form
+``Hale, 1983." If there are no authors, editors or the issuer is used as
+above.
+\medskip
+\tableentry{4--9}Available for future use or for local styles.
+\par}\endinsert
+
+\noindent The citation command {\tt C} determines the style of the citation.
+The template is one number 0 through 3, which codes the citation,
+possibly followed by further instructions. The template
+codes are listed in Table~8. The numerical citation style is the default.
+%Each field in the template can be followed by either `u' or `l' and the
+%field will be printed in upper or lower case respectively.
+If necessary,
+the character `@' can be used to separate objects in the citation template.
+If two citations are identical (e.g.\ two works by one author
+in one year), \Tib{} appends letters `a', `b', etc.
+at the end of the citation to resolve ambiguities.
+
+\beginsubsection{.1} Sorting
+
+This command causes the reference list to be sorted according to the
+order encoded in \<template>. The template consists of letters
+denoting fields of the reference file, possibly followed by numbers.
+For example, the template AD will effect a sort on authors' last
+names, with a secondary sort on the date. The template A1D will effect
+a sort on the first authors' last names, with a secondary sort on the date.
+A minus sign after a field code will cause the sort to be in the reverse
+order, e.g.\ anti-alphabetically. Two references which test equally in the
+sort will be listed in order of citation.
+
+\beginsubsection{.05} Trailing characters
+
+If the \Tib{} {\tt T} command is set, for each {\it field\/} indicated in
+{\it template}, \Tib{} prints out a control string {\tt\\{\it field\/}trail}
+which is defined as the last character in {\tt\\{\it field\/}str}. This
+sometimes is used for determining the punctuation after the {\it data\/} in
+the listing.
+
+\beginsubsection{.2} Definitions
+
+\Tib{} is able to store a list of code words and their expansions.
+Such word-definition pairs are inserted with the {\tt D} command, followed
+by a space, followed by the code {\it word}, followed by another space,
+followed by the {\it definition} (expansion), e.g.
+\smallskip\par\hskip20pt {\tt D PROC Proceedings}\smallskip
+\par\noindent or
+\smallskip\par\hskip20pt {\tt D COMMA1 Comm.\ ACM}\smallskip
+\par\noindent
+Code words are restricted to alphanumeric, ampersand and underscore characters.
+Whenever \Tib{} encounters a $|${\it word\/}$|$ (enclosed between two vertical
+bars) in a reference file, it searches its list and replaces {\it word} with
+{\it definition}. Moreover {\it definition} can itself contain
+$|${\it another\_word\/}$|$. \Tib{} will iterate the process until all
+{\it words} are expanded. Also, more than one field can be part of the
+definition. For example (with reference to Table~10) the word-definition pair
+\smallskip{\par\hskip20pt\tt
+D AcPress Academic Press\\
+\par\hskip20pt\%C $|$NYC$|$
+}\smallskip
+\noindent causes {\tt$|$AcPress$|$} to expand to the publisher
+``Academic Press" and the city ``$|$NYC$|$", which of course further
+expands to ``New York, NY." Both fields are automatically available.
+Similarly {\tt$|$LNMath$|$} expands to the series ``Lecture Notes in
+Mathematics," the publisher ``Springer-Verlag" and the cities
+``New York--Heidelberg--Berlin."
+
+Files of word-definition pairs can be collected and
+processed by \Tib{} before processing the document.
+Thus expansions which are different in different styles can
+be changed by using different definition files. For example, one style
+may require ``Proceedings" where another may require ``Proc." Furthermore
+files of standard abbreviations can be made automatically available.
+In particular, {\it Mathematical Reviews\/} has supplied its databases of full
+journal names and abbreviations. These are available as
+{\it amsfll.ttz\/} and {\it amsabb.ttz\/} respectively, and are
+automatically processed by the supplied format styles.\footnote{$^*$}{\Tib{}
+thanks {\it Mathematical Reviews\/} for its
+generosity in providing these files as a service to the
+scientific community. The data in these files are copyright \copyright\ by
+{\it Mathematical Reviews\/} and are not to be used
+in any proprietary manner.}
+The styles of most journals call for abbreviated journal names in reference
+lists, although a few (such as the
+{\it Journal of Optimization Theory and Applications\/}) require full names.
+The 6-letter codes may be obtained by perusing the files. Any definition can
+be overridden by a later word-definition pair. Moreover, since \Tib{}
+iterates the process of expanding words, private (perhaps shorter) codes
+can be created which expand to the ones in the files. These could be kept
+in another file which is accessed with the \OPTCH i or \OPTCH d~option. For example:
+\smallskip\par\hskip20pt {\tt D CACM $|$COMMA1$|$}\smallskip
+\noindent There are other word-definition files
+{\it pub.ttz\/} (publishers) and {\it misabb.ttz\/} and {\it misfll.ttz\/}
+(miscellaneous) which are automatically included with the journal files.
+For run-time efficiency, extensive word-definition files should be amalgamated
+as much as possible and sorted alphabetically on the {\it word\/}s.
+
+\beginsubsection{.2} Reference lists
+
+For each reference to be listed, \Tib{} generates a local sequence of
+control strings for \TeX. The interpretation of these control strings
+is governed by the macros in the selected {\it .ttx\/} file. The relation
+of control strings with reference file fields is discussed in section~6.
+In this section we discuss the control strings \Tib{} generates. In Table~9
+is listed a typical reference listing in a \Tib{} output file.
+
+\midinsert
+\centerline{\bf Table~9. A typical \bfTib{} reference listing}\smallskip
+{\obeylines\obeyspaces\tt
+\{\\Resetstrings\%
+\\def\\Loccittest\{\}\\def\\Abbtest\{\}\\def\\Capssmallcapstest\{\}\%
+\noindent \\def\\Edabbtest\{\}\\def\\Edcapsmallcapstest\{\}\\def\\Underlinetest\{\}\%
+\\def\\NoArev\{0\}\\def\\NoErev\{0\}\\def\\Acnt\{1\}\\def\\Ecnt\{0\}\\def\\acnt\{0\}\\def\\ecnt\{0\}\%
+\\def\\Ftest\{\ \}\\def\\Fstr\{10\}\%
+\\def\\Atest\{\ \}\\def\\Astr\{Donald E. Knuth\}\%
+\\def\\Ttest\{\ \}\\def\\Tstr\{The \\TeX book\}\%
+\\def\\Itest\{\ \}\\def\\Istr\{Addison Wesley\}\%
+\\def\\Ctest\{\ \}\\def\\Cstr\{Reading, MA\}\%
+\\def\\Dtest\{\ \}\\def\\Dstr\{1984\}\%
+\\Refformat\%
+\}
+}\endinsert
+
+The control strings {\tt\\Loccittest}, etc.\ are printed out by \Tib{}
+depending on the setting of various \Tib{} controls. They are defined
+as \{\} or \{\ \} depending on whether the control is off or on, respectively.
+The control strings {\tt\\NoArev}, {\tt\\Acnt}, etc.\ are respectively set equal
+to the numbers of authors' names to be reversed, the number of authors, etc.
+These are for use in formatting, if needed. For certain fields, \Tib{}
+also prints out formatting aides. For example, for listings with page
+numbers, \Tib{} prints out a control string {\tt\\Pcnt}, which is
+defined as \{\} or \{\ \} if there is one or more than one page, respectively,
+so that for example, a choice can be made between ``p." and ``pp." in the
+listing. For each field {\it field\/}
+of the reference file which contains {\it data}, \Tib{} prints out
+\smallskip\par\hskip20pt
+{\tt\\def\\{\it field\/}test\{\ \}\\def\\{\it field\/}str\{{\it data\/}\}\%}.
+\smallskip\noindent A new field can be inserted in the \Tib{} output file
+before running \TeX{} by inserting such a line. In particular, anything put
+in the O field is appended to the end of the reference listing.
+Also if need be, the {\it data\/} can be changed. Depending on \Tib{}
+commands set, some fields, particularly author and editor fields,
+may contain inserted \TeX{} control strings. The control string
+{\tt\\Resetstrings} resets all the {\tt\\{\it field\/}test}s and
+{\tt\\{\it field\/}str}s to \{\} (except for the Z and z fields,
+see Table~10). The control string {\tt\\Refformat} effects the printing
+of the listing. Thus any changes between these two control strings affect
+the final printed document.
+%\vfill\eject
+
+\beginsection{.3} 6. The reference file
+
+\midinsert
+\centerline{\bf Table~10. Field tags}\smallskip
+\par{\leftbox2pc\def\tablemark{\%}\tableset
+
+\par\tableentry{A}Author(s) (may have multiple authors, separate
+field entry for each author in order)
+\par\tableentry{B}Book title
+\par\tableentry{C}City of publication
+\par\tableentry{D}Date
+\par\tableentry{E}Editor(s) (may have multiple editors, separate
+field entry for each editor in order)
+\par\tableentry{F}Special citation flag, use is governed by \Tib{}
+{\tt F}~command
+\par\tableentry{G}Government (NTIS) ordering number
+\par\tableentry{I}Issuer (publisher)
+\par\tableentry{J}Journal name or for unpublished conference report,
+the conference name
+\par\tableentry{K}Keys for searching, not printed out
+\par\tableentry{M}{\it Mathematical Reviews} number
+\par\tableentry{N}Number of issue (journal or series)
+\par\tableentry{O}Other information, appended to listing
+\par\tableentry{P}Page numbers
+\par\tableentry{R}Technical report identifier
+\par\tableentry{S}Series title
+\par\tableentry{T}Title of article or book
+\par\tableentry{V}Volume number (journal or series)
+\par\tableentry{Z}Reserved by \Tib{} for special insertions
+\par\tableentry{a}Translator(s), also editor(s) of translated compilations
+\par\tableentry{b}Translated book title
+\par\tableentry{c}City of publication of translated item
+\par\tableentry{d}Date of translated item
+\par\tableentry{e}Author(s)
+of reviewed material; reviewers' names go in {\tt A} fields in order
+\par\tableentry{i}Issuer of translated item
+\par\tableentry{j}Translated journal name
+\par\tableentry{k}Reserved for future use for secondary references
+\par\tableentry{l}Language of translation
+\par\tableentry{n}Number of translated item
+\par\tableentry{o}Other information, inserted after book title
+\par\tableentry{p}Pages of translated article
+\par\tableentry{r}Identifier of translated technical report
+\par\tableentry{s}Series of translated item
+\par\tableentry{t}Title of translated article or book
+\par\tableentry{v}Volume of translated item
+\par\tableentry{z}Reserved by \Tib{} for special insertions
+\par\tableentry{\\}Beginning of line of \TeX{} instruction(s)
+\par\tableentry{\%}Comment (passed as \TeX{} comment)
+\par}\endinsert
+
+\noindent A reference {\it file\/} is a database file containing any
+number of reference {\it items}, separated by one or more blank lines.
+Reference items consist of reference {\it fields\/} which in turn
+consist of data organized into field {\it tags\/} and field {\it data}.
+The meaning of field tags is an extension of that of {\it bib\/} and is
+suggested by that of {\it refer}. However there are enough differences
+that {\it bib\/} or {\it refer\/} reference files are not directly
+usable with \Tib. A field tag is a percent sign `\%' in column~1
+followed in column~2 by a single character. The currently recognized
+tags are listed in Table~10. Field data begins in column~4; the data
+can consist of any printable characters. Field data can be as long as
+necessary and can extend into the next line. Lines that do not begin
+with a percent sign are treated as continuation lines. Every line
+(including continuation lines) must begin in column~1. The {\tt A},
+{\tt E}, {\tt a}, {\tt e} and {\tt\\} fields can be repeated as often
+as necessary; other fields can occur at most once (more precisely the
+last occurance of a field is the one used). Fields can occur in any
+order except that authors, editors, etc.\ are listed in order of
+appearance. Lines beginning `{\tt\%\\}' are inserted {\it verbatim\/}
+into the output; they are assumed to be \TeX{} instructions. Lines in
+a reference item beginning `{\tt\%\%}' are comments.
+
+\midinsert
+\centerline{\bf Table~11. The control string {\tt\\Refformat}}\smallskip
+{\tt\obeylines\obeyspaces%
+\\def\\Refformat\{\%Determines the kind of reference by the presence or
+\% absence of certain fields in the database listing, and calls the
+\% appropriate macro.
+\noindent \\if\\Jtest\\present
+\noindent \{\\if\\Vtest\\present\\journalarticleformat
+\noindent \\else\\conferencereportformat\\fi\}
+\noindent \\else\\if\\Btest\\present\\bookarticleformat
+\noindent \\else\\if\\Rtest\\present\\technicalreportformat
+\noindent \\else\\if\\Itest\\present\\bookformat
+\noindent \\else\\otherformat\\fi\\fi\\fi\\fi\}}
+\endinsert
+
+As discussed in section~5, \Tib{} turns the field data in a reference
+item into a sequence of \TeX{} control strings. In each {\it .ttx} file,
+there are six basic format macros. Which one is used depends on the presence
+or absence of certain fields in the sequence (unless the process is
+overridden). The control string {\tt\\Refformat} (Table~11),
+which \Tib{} sets up to be processed by \TeX{}
+after the sequence of field strings (Table~9),
+is contained in the file {\it Macros.ttx}, and causes \TeX{} to choose
+one of the six. The control string {\tt\\Resetstrings} defines {\tt\\present}
+to be a space, so that if {\\\it field\/}test is {\{\ \}}, then
+{\tt\\if{\\\it field\/}test\\present} tests true.
+
+\midinsert
+\centerline{\bf Table~12. A macro to print a reference item}\smallskip
+{\tt\obeylines\obeyspaces%
+\\def\\conferencereportformat\{\\Reffont\\let\\uchyph=1\\parindent=1.25pc\\def\\Comma\{\}\%
+\noindent \\sfcode`\\.=1000\\sfcode`\\?=1000\\sfcode`\\!=1000\\sfcode`\\:=1000\%
+\noindent \\sfcode`\\;=1000\\sfcode`\\,=1000\%\\frenchspacing
+\noindent \\par\\vfil\\penalty-200\\vfilneg\%\\filbreak
+\noindent \\if\\Ftest\\present\\Flagstyle\\Fstr\\fi\%
+\noindent \\if\\Atest\\present\\bgroup\\Authfont\\Astr\\egroup\\def\\Comma\{\\unskip, \}\\fi\%
+\noindent \\if\\Ttest\\present\\Comma\\bgroup\\Titlefont\\Tstr\\egroup\\def\\Comma\{, \}\\fi\%
+\noindent \\if\\Jtest\\present\\Comma\\bgroup\\Tomefont\\Jstr\\egroup\\def\\Comma\{, \}\\fi\%
+\noindent \\if\\Ctest\\present\\Comma\\bgroup\\Cstr\\egroup\\def\\Comma\{, \}\\fi\%
+\noindent \\if\\Dtest\\present\\kern.16667em(\\bgroup\\Dstr\\egroup)\\def\\Comma\{, \}\\fi\%
+\noindent \\if\\Otest\\present\\Comma\\bgroup\\Ostr\\egroup\\fi.\%
+\noindent \\vskip3ptplus1ptminus1pt\}\%\\smallskip}
+\endinsert
+
+The six macros {\tt\\journalarticalformat}, etc.\
+that actually effect the printing of the reference listings are rather
+straightforward (see Table~12). They check for the presence of
+relevant fields and print them out in the desired form. Thus they consist
+mostly of a series of {\tt\\if\dots\\fi} conditional commands enclosing
+printing commands.
+
+If {\tt\\Reffont}'s selection for a particular reference item is
+unsatisfactory, it can be redefined locally on a one-time basis in the
+\Tib{} output document before running \TeX, or permanently by including
+control strings in the reference file (see the example below).
+Indeed of course, {\tt\\Refformat} or any
+of the six formatting macros can be redefined in the document or in an
+included file (called with the \OPTCH i~option or the \Tib{} I~command (Table~7)).
+
+\beginsubsection{.15} The K (keyword) field
+
+The K field is searched to identify references but is not printed out.
+Thus it can be used to facilitate identification. An example:
+\medskip\vbox{\catcode`\~=12{\listitem%
+\%A Dennie Van~Tassel
+\%T Program Style, Design, Efficiency
+\%I $|$PrHall$|$
+\%D 1978
+\%K testing debugging tassel
+}}\medskip
+\noindent Note also the use of the defined word in the \%I field.
+The city of publication is included as part of the definition.
+
+\beginsubsection{.2} Formatting techniques
+
+Most reference items are uncomplicated and present no formatting problems.
+In this subsection we discuss some techniques for the other cases.
+
+\TeX{} control strings in the reference file can be used to automatically
+effect the format of the reference listing. Consider the example:
+\medskip{\listitem%
+\%A R. Colt Hoare
+\%T A Tour through the Island of Elba
+\%C London
+\%D 1814
+\%O out of print
+\%\\def\\Refformat\{\\bookformat\}
+}\medskip
+\noindent This example of a book has no listed publisher (I field). The
+I field is used by {\tt\\Refformat} in its decision
+(Table~11) and the decision would be incorrect for this example. Thus
+{\tt\\Refformat} is redefined in the reference item. The redefinition
+is local to the one reference and does not affect other references.
+
+Most data in the reference file is passed through to \TeX{} unaltered.
+Thus \TeX{} control strings are permitted in the field data:
+\medskip
+{\listitem%
+\%T The development of the January 1983\\/\$1\^\\circ\\times1\^\\circ\$
+mean free-air anomaly data tape}
+\medskip
+The italic correction spaces things correctly if the title is printed in
+italic or slant. In the six formatting macros, the control string
+printing the data is preceded by {\tt\\bgroup} and followed by
+{\tt\\egroup}. This permits certain techniques. For example, either
+\medskip
+{\tt\raggedright
+\%T A refined gravity model from LAGEOS\\/ \\egroup(GEM-L2)\\bgroup}
+\smallskip\noindent or \smallskip
+{\tt\%T A refined gravity model from LAGEOS\\/ \{\\Reffont(GEM-L2)\}}
+\medskip\noindent
+causes ``(GEM-L2)" to be printed out in ordinary type (usually Roman),
+even if the font for titles is something else.
+
+It is necessary to be more careful with author, editor, reviewer,
+translator and possibly institution fields. \Tib{} operates on
+these fields in response to commands to abbreviate names, reverse
+names, and put fields in caps-small caps. We discuss how \Tib{}
+operates on these fields. The `a' and `e' fields
+are governed by the commands for editors. If a reference item
+has no authors, the editors are used in place of the authors, both
+in the listing and for sorting. If there are also no editors, the
+publishing institution is used. The last name is the last word
+in a field. If the name is compound, it can be connected with
+an active character or a space control character. Thus
+\smallskip
+{\tt\%A Dennie Van\catcode`\~=12{~}Tassel}
+\par\noindent or
+\par{\tt\%A Dennie Van\\\ Tassel}
+\smallskip\noindent is correct. The first style prohibits a line
+break; the second permits a break.
+
+For purposes of sorting, the first capital letter of the
+last name is used. The abbreviation routine has a certain amount
+of sophistication. It will abbreviate ``Heinz-Otto" to ``H-O."
+It will abbreviate ``d'Arcy" to ``d'A." However if both abbreviation
+and caps-small caps are called for, it will not set the `d' in ``d'A."
+in small caps. That will have to be done by hand or with \TeX.
+Making special letters with control characters in these fields
+(D. Knuth's {\it The \TeX book}, p.~52 or L. Lamport's \itLaTeX, p.~40)
+must conform to the following rules: they may not be nested and
+they must be enclosed in braces. When sorting or making caps-small caps,
+\Tib{} handles material in braces in special ways. The following are
+correct:
+\medskip\vbox{{\listitem%
+\%A Ol\{\\'u\}wol\{\\'e\} \{\\'O\}d\{\\'u\}nd\{\\'u\}n
+\%A S\{\\o\}ren \{\\AA\}ngstr\{\\"o\}m
+\%A Heinz-Otto O'Grady
+\%A Serge\{\\v\\i\} \{\\t I\}ur'ev}}
+\medskip
+There is one more rule. Caps-small caps turns lowercase letters into
+uppercase; accordingly lowercase strings must have uppercase analogues
+if \Tib's caps-small caps are to be used. If necessary these
+can be set up by {\tt\\def} (which are local to the references).
+Thus: \medskip\vbox{{\listitem%
+\%\\def\\SS\{\\ss\}
+\%A K. L. Weierstra\{\\ss\}}}
+\medskip
+\noindent The last example above is better:
+\medskip{\listitem%
+\%\\def\\I\{I\}
+\%A Serge\{\\v\\i\} \{\\t I\}ur'ev}
+
+In fact, such control strings can be created and used to fool \Tib,
+at least partially, if need be. For example:
+\medskip{\listitem%
+\%\\def\\PRESIDENT\{The President's Commission on Aging\}
+\%A \{\\PRESIDENT\}
+}\medskip
+\noindent This will ensure that the reference is alphabetized by ``PRESIDENT,"
+rather than by ``The." However, \Tib's caps-small caps will not work;
+the entry will have to be set by hand.
+
+\beginsubsection{.3} Reference items
+
+In this section we consider the forms in the reference database
+of various types of reference materials. The criteria used are
+those of {\tt\\Refformat} (Table~11). Tags are indicated in
+parenthesis.
+
+\beginsubsection{.2} Journal article
+
+A journal article must have a journal name (\%J) and a volume
+number (\%V). It usually also has one or more authors (\%A),
+a title (\%T), page numbers (\%P), and a date of publication (\%D),
+and sometimes an issue number (\%N). It may have
+a publisher (\%I) or be a translation. In the last case, certain lower case
+fields are used. Two examples:
+\medskip\vbox{\catcode`\~=12{\listitem%
+\%A Tammo tom~Dieck
+\%T Bordism of \$G\$-manifolds and integrality theorems
+\%J $|$TOPOL$|$
+\%P 345-358
+\%V 9
+\%D 1970
+\%K dieck
+}}\bigskip
+\vbox{\listitem%
+\%A V. I. Arnol'd
+\%T Singularities of smooth mappings
+\%J $|$USPMN1$|$
+\%V 23
+\%P 3-44
+\%D 1968
+\%K arnold
+\%j $|$RUSMS$|$
+\%v 23
+\%d 1968
+\%p 1-43
+}\medskip
+\noindent Note the use of journal codes to effect automatic
+standard abbreviation.
+
+\beginsubsection{.2} Conference presentation
+
+A conference presentation can be either an unpublished report
+or an article in a proceedings which has no editor and is identified
+by the conference. In this case the name of the conference is put
+in the journal field (\%J). There is no volume (\%V) field. There
+are likely also one or more authors (\%A),
+a title (\%T), a date (\%D) and a city (\%C), and in a proceedings, pages (\%P).
+\medskip\vbox{\listitem%
+\%A F. J. Lerch
+\%A S. M. Klosko
+\%T Gravity model improvement using laser data
+\%J First Crustal Dynamics Working Group Meeting
+\%C Goddard Space Flight Center
+\%D $|$SEP$|$, 1981
+}
+
+\beginsubsection{.2} Technical report
+
+A technical report has a report number or identifier (\%R). It
+probably also has one or more authors (\%A), a title (\%T), a date
+(\%D), and an issuing institution (\%I) (which may alternatively be
+part of the report identifier), and possibly a city (\%C), a government
+issue number (\%G) and perhaps pages (\%P).
+\medskip\vbox{\listitem%
+\%A F. J. Lerch
+\%A S. M. Klosko
+\%A G. B. Patel
+\%T A refined gravity model from LAGEOS\\/ \\egroup(GEM-L2)\\bgroup
+\%I $|$NASA$|$
+\%R Tech.\ Memo.\ TM 84986
+\%D $|$FEB$|$, 1983
+}
+
+\beginsubsection{.2} Book
+
+A book has a publisher (\%I) but no journal name (\%J) or report number
+(\%R). Usually it also has one or more authors (\%A), a title (\%T),
+a date (\%D) and a
+city of publication (\%C). It may also belong to a series, in which case
+it has a series name (\%S), and probably a series volume (\%V) or number (\%N).
+It may also have a government number (\%G). Note the use of the F field.
+In these examples, the city of publication (\%C)
+included as part of the definition of the abbreviated \%I field.
+In the first example there is no author (\%A) or editor (\%E); the issuer (\%I)
+is used in place of the author for citation making and sorting.
+
+\medskip\vbox{\listitem%
+\%T Software Engineering Automated Tools Index
+\%I $|$SRA$|$
+\%F SRA
+\%D 1982
+}\bigskip
+\vbox{\listitem%
+\%A R. E. Griswold
+\%A J. F. Poage
+\%A I. P. Polonsky
+\%T The SNOBOL4 Programming Language
+\%o (second edition)
+\%I $|$PrHall$|$
+\%D 1971
+}
+
+\beginsubsection{.2} Article in book
+
+An article in a book has two titles, the title of the article (\%T) and
+the title of the book (\%B). It probably has one or more authors (\%A), and
+the book probably has one or more editors (\%E). It also probably has page
+numbers (\%P). As well, the fields for a book are present.
+\medskip\vbox{\listitem%
+\%A C. A. R. Hoare
+\%T Procedures and parameters:\ An axiomatic approach
+\%B Symposium on Semantics of Algorithmic Languages
+\%E E. Engeler
+\%P 102-116
+\%S $|$LNMath$|$
+\%V 188
+\%D 1971
+}
+
+\beginsubsection{.2} Compilation
+
+A compilation is the work of several authors gathered together by one or more
+editors (\%E). Thus there are no authors (\%A). Other than that,
+it is treated as a book.
+\medskip\vbox{\listitem%
+\%E Heinz-Otto Peitgen
+\%E Hans-Otto Walther
+\%T Functional Differential Equations and Approximation of Fixed Points
+\%D 1979
+\%S $|$LNMath$|$
+\%V 730
+}
+
+\beginsubsection{.2} Dissertation or thesis
+
+Many manuals of style say to treat a PhD dissertation as a book, with the
+institution granting the degree as the issuer. However most journals
+format dissertation and thesis listings as technical reports.
+\medskip\vbox{\listitem%
+\%A Martin Brooks
+\%T Automatic Generation of Test Data for Recursive Programs Having
+Simple Errors
+\%R PhD Thesis
+\%I Stanford $|$UNIV$|$
+\%D 1980
+}
+
+\beginsubsection{.05} Preprint
+
+A preprint is also best handled as a technical report with ``preprint"
+or ``to be published" or even ``unpublished" in the R field.
+Sometimes a preprint has a report
+number which can be used and ``to be published" can be put in the O field.
+
+\beginsubsection{.2} Other
+
+Most sources fit in one of the above categories. A little experimentation
+may be necessary for less-standard sources, such as newspapers, archival
+sources, or correspondence. If the reference item does not meet any of
+the criteria of {\tt\\Refformat}, it is formated by {\tt\\otherformat}
+(see Table~11).
+
+\beginsection{.1} 7. {\tt\char"5Cinput} files
+
+With the {\tt OPTCH j} option ({\tt OPTCH i} was already assigned),
+\Tib{} will recognize {\tt\\input} statements,\footnote{$^*$}{In
+\LaTeX, there is a similar command, {\tt\\include}. However,
+{\tt\\include} is more complicated than {\tt\\input}. For examples,
+{\tt\\include} interacts with the {\tt\\includeonly} command and it
+involves dealing with auxiliary files. It was decided that trying to
+get \Tib{} to process {\tt\\include}d files could lead to mishandled
+files, and that it is safest not to include this capability.} and
+process the corresponding files. The processed contents of these
+files are incorporated in the master {\tt -t} file. Messages are
+printed out during the \Tib{} run and also messages ``{\tt \<file>
+input by Tib}'' are printed out during the subsequent \TeX{} run.
+\Tib{} will process a file {\it only\/} if a complete (relative or
+absolute) path is given (it will attempt to append the {\tt.tex}
+suffix to the name). In particular, it does not look through the {\tt
+TEXINPUTS} environment. It assumes anything without a complete path
+name is not a text file and should not be processed. If \Tib{} cannot
+find a file, it prints out a message and leaves the {\tt\\input}
+statement unaltered. If {\tt\\input} is part of a definition of a
+macro in the text, \Tib{} will be confused, but not fatally; it will
+leave the definition unchanged and the message it prints can be
+ignored. However files which are input by means of the macro will not
+be processed by \Tib. Indeed, to be safe, it is probably best to
+prevent \Tib{} from processing macro files, even if they are in the
+working directory; this can be accomplished by defining something else
+as {\tt\\input} (e.g., {\tt\\INPUT}) and using that for non-text
+files.
+
+\Tib{} incorporates any final blank lines and the usual final
+`newline' in the {\tt\\input} file. This generally effects a new
+paragraph after the material from the {\tt\\input} file. The new
+paragraph can be avoided by eliminating any final blank lines and
+either: (1) eliminating the final `newline' in the {\tt\\input} file
+(not recommended), or (2) continuing the text (possibly a comment
+character preceeded by at least one space) on the same line after the
+``{\tt\\input \<file>}'' statement in the master file.
+
+\beginsection{.1} 8. Error and warning messages
+
+{{\parindent0pt\filbreak
+\medskip{\tt Can't open index {\tt <}{\it indexname\/}{\tt>}}
+{\par\leftskip1pc Index \<indexname> does not exist or not readable.\par}
+
+\filbreak\medskip{\tt command line:\ invalid switch
+{\tt <}{\it switch\/}{\tt>}}
+{\par\leftskip1pc \<switch> not a valid option on the call.\par}
+
+\filbreak\medskip{\tt Can't open {\tt <}{\it filename\/}{\tt>} or
+{\tt <}{\it filename\/}{\tt>}.tex}
+{\par\leftskip1pc Neither document file \<filename> nor \<filename>.tex is
+available for reading.\par}
+
+\filbreak\medskip{\tt Cannot locate reference file {\tt <}{\it filename\/}{\tt>}}
+{\par\leftskip1pc File of references \<filename> not available.\par}
+
+\filbreak\medskip{\tt {\tt <}{\it index\/}{\tt>} not up to date}
+{\par\leftskip1pc One of the reference files antecedent to \<index> has been
+changed since \<index> was made.\par}
+
+\filbreak\medskip{\tt word {\tt <}{\it word}{\tt>} not defined in
+definition list}
+{\par\leftskip1pc Misspelled word in reference file?\par}
+
+\filbreak\medskip{\tt bad brackets in string {\tt <}{\it string}{\tt>} in
+references}
+{\par\leftskip1pc Unmatched, or badly placed, pair of brackets \{\} in a
+reference item has caused \Tib{} to get lost.\par}
+
+\filbreak\medskip{\tt word expected in definition}
+{\par\leftskip1pc A undefined word exists in word-definition file.\par}
+
+\filbreak\medskip{\tt too many definitions}
+{\par\leftskip1pc Word-definition file larger than limit set in source code.
+Reset and recompile.\par}
+
+\filbreak\medskip{\tt out of storage}
+{\par\leftskip1pc \Tib{} too big for system (either while making
+word-definition list or while processing citations). Possibly have to use
+smaller word-definition file.\par}
+
+\filbreak\medskip{\tt unexpected end of citation template}
+{\par\leftskip1pc Citation template not complete.\par}
+
+\filbreak\medskip{\tt can't open temporary reference file}
+{\par\leftskip1pc Work file cannot be opened---system or environment
+problem.\par}
+
+\filbreak\medskip{\tt can't open temporary output file}
+{\par\leftskip1pc Work file cannot be opened---system or environment
+problem.\par}
+
+\filbreak\medskip{\tt can't open temporary output file for reading}
+{\par\leftskip1pc Work file cannot be reopened---system or environment problem.\par}
+
+\filbreak\medskip{\tt ill formed reference}
+{\par\leftskip1pc Bad reference item has caused \Tib{} to get lost.\par}
+
+\filbreak\medskip{\tt end of file reading citation}
+{\par\leftskip1pc Probably {\tt.]} was omitted in document.\par}
+
+\filbreak\medskip{\tt citation too long}
+{\par\leftskip1pc Too many keys, or keys too long (truncate to 6 letters).\par}
+
+\filbreak\medskip{\tt inconsistent citation found in pass two}
+{\par\leftskip1pc \Tib{} found a reference earlier, now it can't---something
+funny's going on.\par}
+
+\filbreak\medskip{\tt citation not found in pass two}
+{\par\leftskip1pc \Tib{} found a reference earlier, now it can't---something
+funny's going on.\par}
+
+\filbreak\medskip{\tt tibdex:\ can't open temporary output file}
+{\par\leftskip1pc Work file cannot be opened---system or environment
+problem.\par}
+
+\filbreak\medskip{\tt tibdex:\ error in open of {\tt <}{\it filename\/}{\tt>}}
+{\par\leftskip1pc \<filename> doesn't exist or can't be read.\par}
+
+\filbreak\medskip{\tt tibdex:\ error in opening file for compression}
+{\par\leftskip1pc Work file cannot be opened---system problem.\par}
+
+\filbreak\medskip{\tt ill formed reference file}
+{\par\leftskip1pc Bad reference item has caused \Tib{} to get lost.\par}
+
+\filbreak\medskip{\tt too many references}
+{\par\leftskip1pc Number of reference larger than limit set in source
+code.\par}
+
+\filbreak\medskip{\tt locate:\ cannot open {\tt <}{\it filename\/}{\tt>}}
+{\par\leftskip1pc \<filename> not available for reading in subroutine
+{\it locate}.\par}
+
+\filbreak\medskip{\tt locate:\ no keys for citation}
+{\par\leftskip1pc Empty citation discovered in subroutine {\it locate}.\par}
+
+\filbreak\medskip{\tt locate:\ insufficient space for references}
+{\par\leftskip1pc \Tib{} too big for system---discovered in subroutine
+{\it locate}.\par}
+
+\filbreak\medskip{\tt locate:\ first key ({\tt <}{\it keyname}{\tt>}) matched
+too many refs}
+{\par\leftskip1pc Put another key first in citation.\par}
+
+\filbreak\medskip{\tt tibdex:\ too many common words}
+{\par\leftskip1pc Too many words in list of words not to be used as keys.\par}
+
+\filbreak\medskip{\tt no reference matching {\tt <}{\it citation}{\tt>}}
+{\par\leftskip1pc Probably mistyped keyword.\par}
+
+\filbreak\medskip{\tt multiple references match {\tt <}{\it citation}{\tt>}}
+{\par\leftskip1pc Need more keys in citation.\par}
+
+\filbreak\medskip{\tt end of file after \\input/\\include}
+{\par\leftskip1pc Missing file name.\par}
+
+\filbreak\medskip{\tt \\input/\\include files nested too deeply}
+{\par\leftskip1pc Nesting limited to a depth of 32 files.\par}
+
+\filbreak\medskip{\tt unable to locate file, assuming it has no
+references}
+{\par\leftskip1pc Cannot locate \\input/\\include file, and leaves
+command unaltered.\par}
+
+\filbreak\medskip{\tt truncated following reference \dots}
+{\par\leftskip1pc Reference too large and must be truncated.\par}
+
+\filbreak\medskip{\tt Warning:\ reference list not made -- .[] not encountered}
+{\par\leftskip1pc A reference list is made where the symbols {\tt.[]} begin a
+line.\par}
+}
+\filbreak\bigskip}
+Finally there is the possibility the \Tib{} output file will cause a
+\TeX{} error. It may be that a reference item does not have the
+right format (e.g.\ unmatched braces). In many cases a quick fix may be
+possible in the \Tib{} output file. If something goes completely
+haywire, a reserved control string may have been inadverdently redefined.
+There is also the possibility
+that \TeX{} will run out of room (see {\it The \TeX book}, p.~300),
+most likely because there are too many macros that
+are too big. The macros that \Tib{} creates are not particularly
+space efficient. None the less, they seem to have no trouble
+coexisting with the macros of \LaTeX{} or \AmSTeX. However, these
+macros together with a collection of private macros may be too much.
+In this regard, see {\it The \TeX book}, appendix~D.4. It is also
+true that there is much room for compactification in the macros
+\Tib{} creates. In particular, for any particular input document, many of
+the macros are probably not used and can be physically eliminated
+from the appropriate {\it .ttx\/} files.
+
+It is hoped, however, that all your \TeX nical referencing is
+trouble-free and that you never have read this section.
+\filbreak
+\bigskip
+\centerline{\bf Disclaimer}
+\medskip
+{\narrower\narrower In no event will the author be liable for any
+damages, including any lost profits, or other incidental or
+consequential damages arising out the use of or inability to use this
+program, even if the author has been advised of the possibility of such
+damages, or for any claim by any other party.\par}
+\filbreak
+
+\beginsection{.3}A1. Appendix: the example document
+
+\bigskip
+{\tt\obeylines\obeyspaces\indent%
+\% EXAMPLE PAGE FOR TIB -- FOR USE WITH test.refs
+\%
+\% For plain TeX:\ adjust \\vglue just below if necessary.
+\% For footnotes (demo.6.p) comment out (\%) the line "\\vsize ..."
+\% just below and the line near the end beginning ".[]".
+\%
+\% For LaTeX, comment out (\%) the line "\\vsize ..." just below
+\% and activate the three indicated lines.\ \ Also activate the
+\% line "\\end\{document\}" near the end.\ \ For footnotes (demo.6.l)
+\% comment out the second of the three lines and the line near
+\% the end beginning ".[]".
+\%
+\% next line for plain TeX
+\\vsize10.3truein\\nopagenumbers\\vglue-.5truein\% adjust \\vglue if necessary
+\%
+\% next 3 lines for LaTeX
+\%\\documentstyle\{article\}\\textwidth6.5truein\\nofiles\\oddsidemargin=0truein
+\%\\pagestyle\{empty\}\\textheight10.3truein\\topmargin=-.7truein
+\%\\begin\{document\}
+\\centerline\{\\bf Example Test Page\}\\smallskip
+This example shows a citation for a book,[.griswold poage polonsky.]
+a journal article,[.dieck.]\ a conference paper,[.lerch crustal.]
+a technical report,[.lerch patel.]\ an article in a book,[.hoare engeler.]
+and something that fits in no category.[.reagan.]\ \ Multiple citations
+[.brooks, hoare engeler.]\ look like this---or this,\%
+[.brooks.].[.hoare engeler.]\ \ A run of citations [.derham, sra, knuth, tassel.]
+can sometimes be hyphenated.\ \ The alternate citation style, for referring to
+reference <.knuth.> in running text, is different.\ \ Extra text can be
+inserted in citations.[.griswold poage polonsky <, chap.\catcode`\~12{~}2>.]\ \ Translations
+can be referenced.[.arnold equations, arnold singularities,gantmacher.]
+If necessary, letters are appended to citations to remove ambiguities.
+If desired, citations can be sorted by any of several templates.[.lerch
+crustal,lerch putney,hoare elba,hoare engeler.]\ \ If there are no authors,
+editors are used instead;[.peitgen walther.]\ if there are also no editors, the
+publishing institution is used.[.sra.]\ \ Sorting and citation creation is
+based on the first capital letter in the last name.[.tassel,dieck,derham.]
+Special strings can be part of references [.tex,momentum harmonic,derham,rapp.]
+and special citation strings can be used.[.sra.]\ \ Also note
+the performance of the abbreviation routine.[.thompson,peitgen.]
+.[]\\smallskip\\centerline\{\\bf References\}\\smallskip \%comment out for footnotes
+\%\\end\{document\} \%LaTeX
+\\bye \%plain TeX
+\par}
+
+%Insert local changes below after removing `%' from next line.
+%beginsection{.3}A2. Appendix: local changes
+
+%Leave blank line before insertions.
+\bye%After insertions