%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   Patch file for BoTeX; maintained by RJPI                                %
%   \inputting this file also \inputs BOTEX                                 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   Macros for LMI documentation; begun by Bob Ingria: 6/84                 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%  Macro to print out Month, Day and Year
%  Adapted from TeXBook \today macro

\def\datestamp{\ifcase\month\or
  January\or February\or March\or April\or May\or June\or 
  July\or August\or September\or October\or November\or December\fi
  \space\number\day, \number\year}

%  Similar macro; adds time of day, too.

\def\timestamp{\time\kern5pt\datestamp}

%  Macros for accessing useful fonts

\def\keyF#1{{\tt #1}}
\def\key{\parsearg\keyF}
\font\tteight=amtt8				       % MC
\font\ittten=amtt10				       % MC, for now.
\def\ittF#1{{\ittten #1}} % italic tt font -- used for representing italic 
                          % displays on LISPM screen
\def\itt{\parsearg\ittF}
\def\zfF#1{{\li #1}} % Font for ZMail fields
\def\zf{\parsearg\zfF}


% \def\key{\tty} % fixed width font for key labels
% \def\ls{\ssten} % san-serif font for in-line LISP forms
% \def\defls{\bf} % bold sans-serif font for heading of LISP defuns
                 % used to be ssbxten; using just bold until we
                 % get a non brain-damaged bold sans-serif font

%% Here's how to get my old PATBO macroes to have delimiters.

% \def\I{\parsearg\iF} \let\i=\I \def\iF#1{{\sl #1}}

%  Macros to make it easier to put Zmacs control sequences in documentation
%  The macros do automatic uppercasing of their arguments

\def\ctrlF#1{{\keyF {CTRL-\uppercase{#1}}}}
\def\metaF#1{{\keyF {META-\uppercase{#1}}}}
\def\hyperF#1{{\keyF {HYPER-\uppercase{#1}}}}
\def\superF#1{{\keyF {SUPER-\uppercase{#1}}}}
\def\ctrlxF#1{{\keyF {CTRL-X\tie \uppercase{#1}}}}
\def\cctrlxF#1{{\keyF {CTRL-X\tie CTRL-\uppercase{#1}}}}
\def\metaxF#1{{\keyF {META-X\tie #1}}}
\def\cmF#1{{\keyF {CTRL-META-\uppercase{#1}}}}
\def\cmxF#1{{\keyF {CTRL-META-X\tie #1}}}
\def\chF#1{{\keyF {CTRL-HYPER-\uppercase{#1}}}}
\def\hmF#1{{\keyF {HYPER-META-\uppercase{#1}}}}

\def\ctrl{\parsearg\ctrlF}
\def\meta{\parsearg\metaF}
\def\hyper{\parsearg\hyperF}
\def\super{\parsearg\superF}
\def\ctrlx{\parsearg\ctrlxF}
\def\cctrlx{\parsearg\cctrlxF}
\def\metax{\parsearg\metaxF}
\def\cm{\parsearg\cmF}
\def\cmx{\parsearg\cmxF}
\def\ch{\parsearg\chF}
\def\hm{\parsearg\hmF}

% Similar macro for X in ZMail

\def\xF#1{{\keyF {X\tie #1}}}
\def\x{\parsearg\xF}

%  Macros to talk about ``the CTRL key'' or ``META-X'' commands''

\def\ckey{{\keyF CTRL}}
\def\mkey{{\keyF META}}
\def\cxkey{{\keyF CTRL-X}}
\def\mxkey{{\keyF META-X}}
\def\cmxkey{{\keyF CTRL-META-X}}
\def\hkey{{\keyF HYPER}}
\def\skey{{\keyF SUPER}}
\def\gkey{{\keyF GREEK}}
\def\tkey{{\keyF TOP}}

%  Macro used to draw boxes around arbitrary strings of text
%  Used to represent mouse sensitive items

\def\testboxF#1{\leavevmode\thinspace\hbox{\vrule\vtop{\vbox{\hrule\kern1pt
	   \hbox{\vphantom{\tt/}\thinspace{\keyF {#1}}\thinspace}}
	\kern1pt\hrule}\vrule}\thinspace} % control sequence token

\def\testbox{\parsearg\testboxF}

%  More mnemonic ways to access this macro

\let\mousebox=\testbox
\let\mouseditem=\testbox
\let\mousesensitive=\testbox

%  Macros for representing mouse buttons in documentation

%  \mouse gives an upside down U; this represents ANY mouse button

\def\mouse{\smash{\raise.127in\hbox{{\tenex \char'134}}}}

%  These macros print single mouse clicks on particular keys
%  A single character is put in the upside-down U
%  R is put in for the right mouse button
%  L for the left mouse button
%  M for the middle mouse button

\def\mouseright{\kern2pt{\keyF R}\kern-8.25pt\smash{\raise.127in\hbox{{\tenex %
	\char'134}}}}

\def\mouseleft{\kern2pt{\keyF L}\kern-8.25pt\smash{\raise.127in\hbox{{\tenex %
        \char'134}}}}

\def\mousemiddle{\kern2pt{\keyF M}\kern-8.25pt\smash{\raise.127in\hbox{{\tenex %
	\char'134}}}}

%  These macros print double mouse clicks
%  R, L, M have the same meaning as above
%  2 is added below the letter in the upside down U

\def\mousetwo{{\tteight 2}}

\def\mousetimes{$\times$}

\def\greq{$\geq$}

\def\puparrow{$\uparrow$}

\def\pdownarrow{$\downarrow$}

\def\pdash{$-$}

\def\noop{}

\def\mouserighttwice{\kern2pt{\keyF R}\kern-4.5pt %
     \smash{\lower6pt %
      \hbox{{\tteight 2}}}\kern-8pt\smash{\raise.127in\hbox{{\tenex %
	\char'134}}}}

\def\mouselefttwice{\kern2pt{\keyF L}\kern-4.5pt %
     \smash{\lower6pt %
      \hbox{{\tteight 2}}}\kern-8pt\smash{\raise.127in\hbox{{\tenex %
	\char'134}}}}

\def\mousemiddletwice{\kern2pt{\keyF M}\kern-4.5pt %
     \smash{\lower6pt %
      \hbox{{\tteight 2}}}\kern-8pt\smash{\raise.127in\hbox{{\tenex %
	\char'134}}}}

\def\mouseonF#1{{\mouse}\testboxF{#1}}

\def\mouserightonF#1{{\mouseright}\testboxF{#1}}

\def\mouseleftonF#1{{\mouseleft}\testboxF{#1}}

\def\mousemiddleonF#1{{\mousemiddle}\testboxF{#1}}

\def\mouserighttwiceonF#1{{\mouserighttwice}\testboxF{#1}}

\def\mouselefttwiceonF#1{{\mouselefttwice}\testboxF{#1}}

\def\mousemiddletwiceonF#1{{\mousemiddletwice}\testboxF{#1}}

\def\mouseon{\parsearg\mouseonF}
\def\mouserighton{\parsearg\mouserightonF}
\def\mouselefton{\parsearg\mouseleftonF}
\def\mousemiddleon{\parsearg\mousemiddleonF}
\def\mouserighttwiceon{\parsearg\mouserighttwiceonF}
\def\mouselefttwiceon{\parsearg\mouselefttwiceonF}
\def\mousemiddletwiceon{\parsearg\mousemiddletwiceonF}

%  \termkey draws a lozenge around a string of words
%  It is meant to be used to represent function keys

\def\termkey#1{$\langle\kern-1pt\overline{\underline{\lower0.7pt\hbox{\keyF
    {#1}}\lower.29ex\hbox{}}\raise6pt\hbox{}}\kern-0.5pt\rangle$}

\def\lozenge{\termkey{\kern36pt\vbox{\kern1.4ex}}}
\let\lozengestringF=\termkey
\def\lozengestring{\parsearg\lozengestringF}

%  Hand-tuned predefined versions of function keys
%  Space at left and right edges has been adjusted 
%  To make them come out looking right

\def\abort{\termkey{ABORT}}
\def\altmode{\termkey{ALT\tie MODE}}
\def\breakkey{\termkey{BREAK}}
\def\call{\termkey{CALL}}
\def\clrput{\termkey{CLEAR\tie INPUT}}
\def\clrscrn{\termkey{CLEAR\tie SCREEN}}
\def\delete{\termkey{DELETE}}
\def\endkey{\termkey{\kern1pt{}END}}
\def\help{\termkey{\kern1pt{}HELP}}
\def\hldput{\termkey{HOLD\tie OUTPUT}}
\def\linekey{\termkey{LINE}}
\def\macro{\termkey{MACRO}}
\def\modelock{\termkey{MODE\tie LOCK}}
\def\network{\termkey{NETWORK}}
\def\overstrike{\termkey{OVER\tie STRIKE}}
\def\quotekey{\termkey{\smash{Q}UOTE}}
\def\resume{\termkey{RESUME}}
\def\return{\termkey{RETURN}}
\def\rubout{\termkey{RUB\tie OUT}}
\def\status{\termkey{\kern0.5pt{}STATUS}}
\def\stopput{\termkey{STOP\tie OUTPUT}}
\def\system{\termkey{SYSTEM}}
\def\tab{\termkey{TAB}}
\def\terminal{\termkey{\kern0.8pt{}TERMINAL}}

\def\spacekey{\termkey{SPACE}}

% Z-29 keys

\def\backspace{\termkey{BACK\tie SPACE}}
\def\enter{\termkey{ENTER}}
\def\erase{\termkey{ERASE}}
\def\escape{\termkey{ESC}}
\def\home{\termkey{HOME}}
\def\linefeed{\termkey{LINE\tie FEED}}
\def\reset{\termkey{RESET}}
\def\scroll{\termkey{SCROLL}}
\def\setup{\termkey{SET\tie UP}}

% Some more key icons for LM-Prolog User Manual.

\def\romani{\termkey{I}}
\def\romanii{\termkey{II}}
\def\romaniii{\termkey{III}}
\def\romaniv{\termkey{IV}}
\def\handup{\termkey{HAND UP}}
\def\handdown{\termkey{HAND DOWN}}
\def\trianglekey{\termkey{ $\triangle$ }}
\def\circlekey{\termkey{ $\circ$ }}
\def\squarekey{\termkey{ $\ensquare$ }}
\def\ensquare{\hbox{\vrule%
		    \vbox{\hrule width .5em\vskip .5em\hrule width .5em}%
		    \vrule}}

\def\csh{\parsearg\cshF}
\def\cshF#1{{\keyF {CTRL-SHIFT-\uppercase{#1}}}}

% Function keys that take arguments

\def\helponF#1{{\help}\tie {\keyF #1}}
\def\helpon{\parsearg\helponF}
\def\netonF#1{{\network}\tie {\keyF #1}}
\def\neton{\parsearg\netonF}
\def\sysonF#1{{\system}\tie {\keyF #1}}
\def\syson{\parsearg\sysonF}
\def\sysctrlonF#1{{\system}\tie {\keyF {CTRL-#1}}}
\def\sysctrlon{\parsearg\sysctrlonF}
\def\isysonF#1{{\system}\tie {\iiF {#1}}}
\def\isyson{\parsearg\isysonF}
\def\isysctrlonF#1{{\system}\tie {\keyF {CTRL-}}{\iiF {#1}}}
\def\isysctrlon{\parsearg\isysctrlonF}
\def\termonF#1{{\terminal}\tie {\keyF #1}}
\def\termon{\parsearg\termonF}
\def\itermonF#1{{\terminal}\tie {\iiF {#1}}}
\def\itermon{\parsearg\itermonF}

%  Internal macros used to build \choicebox

\def\side{\vrule height8pt depth2pt width3pt}
\def\base{\vrule height1pt depth2pt width4pt}

%  \choicebox draws a square box with thick borders, like the
%  choice boxes on the LISPM

\def\choicebox{\side\base\kern-4pt\raise7.1pt\hbox{\base}\side}

%  \choiceon creates a label for a \choicebox (in \keyF font)
%  followed by a \choicebox

\def\choiceonF#1{{\keyF {#1}}\tie {\choicebox}}
\def\choiceon{\parsearg\choiceonF}

%  Internal macros used to build mouse corners

\def\mside{\vrule height8pt depth0pt width0.4pt}
\def\mbase{\vrule height0.4pt depth0pt width8pt}

%  Macros for mouse corners

\def\leftmousecorner{\mside\raise7.5pt\hbox{\mbase}}
\def\rightmousecorner{\mbase\mside}

%  Miscellaneous special characters

\def\puparrow{$\uparrow$}
\def\pdownarrow{$\downarrow$}
\def\prightarrow{$\rightarrow$}
\def\pleftarrow{$\leftarrow$}
\def\pleftrightarrow{$\leftrightarrow$}
\def\pwedge{$\wedge$}
\def\pvarepsilon{$\varepsilon$}
\def\plambda{$\lambda$}
\def\pgeq{$\geq$}

%  Trademark and miscellaneous related information

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   Copyright page macroes, consed up by Bob Ingria; 7/25/84                %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\tidisc{\noindent Information furnished in this document is
believed to be accurate and reliable.  However, no responsibility
is assumed by Texas Instruments for its use; nor for any
infringements of patents or other rights of third parties which may
result from its use.  No license is granted by implication or
otherwise under any patent or patent rights of Texas Instruments.
Texas Instruments reserves the right to change product
specifications at any time.}

\def\ticopyF#1{\noindent Copyright {\copyright} #1 Texas Instruments
All rights reserved.}

\def\ticopy{\parsearg\ticopyF}

\def\tinocopy{\noindent No part of this document may be reproduced
by any means, nor transmitted into a machine language without the
written consent of Texas Instruments.}

\def\tifcc{\noindent {\bf WARNING:}  ``This equipment generates and
uses radio frequency energy and if not installed and used properly,
i.e., in strict accordance with the instructions manual, may cause
harmful interference to radio communications.  It has been tested
and found to comply with the limits for a Class A computing device
pursuant to Subpart J of Part 15 of FCC Rules, which are designed
to provide reasonable protection against such interference when
operated in a commercial environment.

\noindent Operation of this equipment in a residential area is
likely to cause interference in which case the user, at his own
expense, will be required to take whatever measures may be required
to correct the interference.''}

\def\moudisc{\centerline{{\bf Disclaimer}}

\noindent The seller of the software described in this manual
hereby disclaims any and all guarantees and warranties, both
express and implied.  No liability of any form shall be assumed by
the seller, nor shall direct, consequential, or other damages be
assumed by the seller.  Any user of this software uses it at his or
her own risk.

\noindent This product is sold on an ``as is'' basis; no warranty
of merchantability is claimed or implied.

\noindent Due to the ill-defined nature of ``fitness for purpose''
or similar types of warranties for this type of product, no fitness
for any purpose whatsoever is claimed or implied.

\noindent The seller reserves the right to make changes, additions,
and improvements to the software at any time; no guarantee is made
that future versions of the software will be compatible with any
other version.

\noindent The parts of this disclaimer are severable and fault
found in any one part does not invalidate any other parts.

\noindent Copyright {\copyright} 1981 by Mark of the Unicorn Inc.}

\def\tiinfo{\noindent The information and/or drawings set forth in
this document and all rights in and to inventions disclosed herein
and patents which might be granted therein disclosing or employing
the materials, methods, techniques of apparatus described herein,
are the exclusive property of Texas Instruments Incorporated.}

\def\tiunix{\noindent Portions of this document were copyrighted
1979 Bell Laboratories Incorporated, 1980 Western Electric Company
Incorporated, 1983 Western Electric Company Incorporated.}

%  LMI Trademarks

\def\ES{\noindent Extended STREAMS Interface$^{tm}$ is a trademark
of LISP Machine Inc.}

\let\streams=\ES

\def\LLam{\noindent LMI Lambda$^{tm}$ is a trademark of LISP Machine Inc.}

\let\llambda=\LLam

\def\lambdaplus{\noindent LMI Lambda/Plus$^{tm}$ is a trademark of
LISP Machine Inc.}

\def\lambdatwo{\noindent LMI Lambda/2\mousetimes2$^{tm}$ is a
trademark of LISP Machine Inc.}

\def\lambdatwoplus{\noindent LMI Lambda/2\mousetimes2/Plus$^{tm}$ is a
trademark of LISP Machine Inc.}

\def\lambdas{\noindent LMI Lambda/S$^{tm}$ is a trademark of LISP
Machine Inc.}

\def\lambdae{\noindent LMI Lambda/E$^{tm}$ is a trademark of LISP
Machine Inc.}

\def\ZLP{\noindent ZetaLISP-Plus$^{tm}$ is a trademark of LISP Machine Inc.}

% TI trademarks

\def\NuM{\noindent NuMachine$^{tm}$ is a trademark of Texas
Instruments Corp.}

\let\numachine=\NuM

\def\NuB{\noindent NuBus$^{tm}$ is a trademark of Texas Instruments
Corp.}

\let\nubus=\NuB

\def\NuBandNuM{\noindent NuBus$^{tm}$ and NuMachine$^{tm}$ are
trademarks of Texas Instruments Corp.}

\let\nubusandnumachine=\NuBandNuM

% Intel Trademarks

\def\MuB{\noindent Multibus$^{tm}$ is a trademark of Intel Corp.}

\let\multibus=\MuB

% AT&T trademarks

\def\UNIX{\noindent UNIX$^{tm}$ is a trademark of American
Telephone {\&} Telegraph.}

\let\unix=\UNIX

% Xerox trademarks

\def\Ether{\noindent Ethernet$^{tm}$ is a trademark of Xerox
Corp.}

\let\ethernet=\Ether

\def\SmallTalk{\noindent Smalltalk$^{tm}$ is a trademark of Xerox
Corp.}

\let\smalltalk=\SmallTalk

\def\EtherII{\noindent Ethernet II$^{tm}$ is a trademark of Xerox
Corp.}

\def\aiarpa{\noindent This report describes research done at the
Artificial Intelligence Laboratory of the Massachusetts Institute
of Technology.  Support for the laboratory's artificial
intelligence research is provided in part by the Advance Research
Projects Agency of the Department of Defense under Office of Naval
Research Contract number N00014-80-C-0505.}

\def\mitcopyF#1{\noindent Copyright {\copyright} #1 Massachusetts
Institute of Technology
All rights reserved.}

\def\mitcopy{\parsearg\mitcopyF}

\def\xcopyF#1{\noindent Copyright {\copyright} #1 All rights reserved.}

\def\xcopy{\parsearg\xcopyF}

%  End patches to BoTeX

\input botex
