% -*-LaTeX-*-
% <BEEBE.EPSILON>TECOHDR.LTX.51, 13-Oct-86 16:42:18, Edit by BEEBE
% Added fix for font switches in index entries
% <BEEBE.EPSILON>TECOHDR.LTX.48, 28-May-86 16:32:30, Edit by BEEBE
% I wanted to use \sf for TECO examples, because it looks nicer than
% \tt, but regrettably, I and l are indistinguishable in \sf, and all 95
% printable ASCII characters are a pain to get.  So, we use typewriter
% text for TECO code....

\hyphenation{white-space mini-buff-er Q-reg-is-ter}

% ======================================================================
% Basic abbreviations and simple macros for displaying TECO text
% examples 

\newcommand{\A}[1]{{\T{<#1>}}}		% ASCII character <name>
\newcommand{\BS}{{\tt\symbol{92}}}      % ASCII backslash
\newcommand{\CARET}{{\tt\symbol{94}}}   % ASCII caret (not superscript)
\newcommand{\C}{{\sc c}}        	% C language
\newcommand{\CTL}[1]{{\tt<CTL-#1>}}     % ASCII control character
\newcommand{\CC}{\CTL{\CARET}}		% this is used frequently
\newcommand{\DOT}{$\bullet$}		% TECO point function
\newcommand{\EC}[1]{\XX{\tt #1}{#1}}	% Epsilon command
\newcommand{\EEL}{{\sc eel}}            % Epsilon extension language
\newcommand{\EF}[1]{\XX{\tt #1()}{#1()}} % Epsilon function
\newcommand{\EMACS}{{\sc emacs}}
\newcommand{\EPSILON}{{\sc epsilon}}
\newcommand{\ETECO}{{\sc emacs teco}}
\newcommand{\FORTRAN}{{\sc fortran}}

% LaTeX bug reported 23-May-86: cannot use \sc in \index{} inside
% another macro---all other fonts work fine (affects \IBMPC and \TWENTY)
%\newcommand{\IBMPC}{{\sc ibm pc}\INDEX{{\protect\sf IBM PC}}{ibm pc}}
\newcommand{\IBMPC}{{\sc ibm pc}\INDEX{{\string\sc\space IBM PC}}{ibm pc}}

\newcommand{\INDEX}[2]{\index{SORTKEY{#2}#1}}	% \INDEX{topic}{sortkey}
\newcommand{\LISP}{{\sc lisp}}
\newcommand{\NEWLINE}{\mbox{}\\ \vspace*{-\baselineskip}}
\newcommand{\POINT}{{\em point}}	% TECO current point
\newcommand{\PPOINT}{{\em Point}}	% TECO current point

% TECO text example (\verb* does not work inside command def)
\newcommand{\T}[1]{{\tt#1}}		% TECO text example

% \newcommand{\TILDE}{{\tt\symbol{126}}}	% ASCII tilde (not tie)
\newcommand{\TILDE}{$\sim$}		% big ASCII tilde (not tie)
%\newcommand{\TWENTY}{{\sc Dec-{\small20}}\INDEX{{\protect\sf Dec-20}}{DEC-20}}
\newcommand{\TWENTY}{{\sc Dec-{\small20}}\INDEX{{\string\sc\space Dec-20}}{DEC-20}}
\newcommand{\TX}[1]{\XX{{\tt#1}}{#1}}	% TECO text example indexed
\newcommand{\TAGS}{{\sc tags}}
\newcommand{\TECO}{{\sc teco}}
\newcommand{\VS}{{\tt\symbol{32}}}	% visible space 
\newcommand{\X}[1]{{#1}\index{#1}}	% indexed phrase
\newcommand{\XX}[2]{{#1}\INDEX{#1}{#2}}	% XX{indexed phrase}{sortkey}

% ======================================================================
% commandtable generates a list with the item entered into the index
% and the item label flush left in \tt font.  It is intended for
% documenting TECO commands.
\newcommand{\tablelabel}[1]{\mbox{\tt#1}\hfil\INDEX{{\string\tt\space #1}}{#1}}
\newenvironment{commandtable}{
    \begin{list}{}
    {
      \let\makelabel\tablelabel
      \setlength{\labelwidth}{30pt}
      \setlength{\leftmargin}{1.1\labelwidth}
    }
  }{\end{list}}

% ======================================================================
% commandentry generates a list with the item label flush left in \sf
% font.  It is intended for the TECO command descriptions.

\newcommand{\entrylabel}[1]{\mbox{\sf#1:}\hfil}
\newenvironment{commandentry}{
    \begin{list}{}
    {
      \let\makelabel\entrylabel
      \setlength{\labelwidth}{40pt}
      \setlength{\leftmargin}{1.1\labelwidth}
    }
  }{\end{list}}
