From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 support/tex-it/texit.tex | 672 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 672 insertions(+)
 create mode 100644 support/tex-it/texit.tex

(limited to 'support/tex-it/texit.tex')

diff --git a/support/tex-it/texit.tex b/support/tex-it/texit.tex
new file mode 100644
index 0000000000..0c13b51cd0
--- /dev/null
+++ b/support/tex-it/texit.tex
@@ -0,0 +1,672 @@
+\documentstyle{article}
+%
+% If you don't have Anthony Bloesch's ``treetex.sty'' file, just remove
+% that style option.  The ``right thing'' will happen when you process
+% the document.
+
+%% #!/usr/local/bin/perl
+%% dependency on format file names...
+
+\partopsep=0pt
+\topsep=0pt
+\parindent=0pt
+\parskip=\baselineskip
+
+\def\desctree{%
+Consider a \LaTeX\footnote{There's nothing special about \LaTeX\ in this
+example, it's just convienient to select the \LaTeX\ format because it has
+support for bibliographies and indices built in.  Similar arguments can be
+made about other formats with different arrangements of supporting files.}
+document composed of a main file, \verb|main.tex|, and two included files,
+\verb|chap1.tex| and \verb|chap2.tex|.  Assume that the document has a
+bibliography and an index (\verb|main.bbl| and \verb|main.ind|).  The
+bibliography is constructed from \verb|myrefs.bib| by Bib\TeX and the index is
+constructed by MakeIndex from the \verb|main.idx| file produced by \TeX{}ing
+the document.  
+}
+
+\def\maketree{%
+Consider a \LaTeX\footnote{There's nothing special about \LaTeX\ in this
+example, it's just convienient to select the \LaTeX\ format because it has
+support for bibliographies and indices built in.  Similar arguments can be
+made about other formats with different arrangements of supporting files.}
+document composed of several files as shown in the diagram below.  Assume that
+the bibliography (\verb|main.bbl|) is constructed from \verb|myrefs.bib| by
+Bib\TeX and the index is constructed by MakeIndex from the \verb|main.idx|
+file produced by \TeX{}ing the document.
+
+\begin{center}
+  \def\treefbox##1{\fbox{{\tt ##1}}}
+  \begin{tree}{texittr}
+    \rootnode{\treefbox{main.tex}}
+    \treenode{nodeA}{root}{\treefbox{chap1.tex}}
+    \treenode{nodeB}{root}{\treefbox{chap2.tex}}
+    \treenode{nodeC}{root}{\treefbox{main.bbl}}
+    \treenode{nodeD}{root}{\treefbox{main.ind}}
+    \treenode{nodeE}{nodeC}{\treefbox{myrefs.bib}}
+    \treenode{nodeF}{nodeE}{\treefbox{plain.bst}}
+    \treenode{nodeG}{nodeD}{\treefbox{main.idx}}
+  \end{tree}
+\end{center}
+}
+
+% if you include the ``treetex'' style, you can have a nice drawing
+% in your document.
+\makeatletter
+\@ifundefined{tree}{\let\drawdoc\desctree}{\let\drawdoc\maketree}
+% something else while I've got the @ right...
+\def\@listI{\leftmargin\leftmargini \parsep 4\p@ plus2\p@ minus\p@
+\topsep 0\p@ plus0\p@ minus0\p@
+\itemsep 4\p@ plus2\p@ minus\p@}
+\makeatother
+
+\title{TeXit \\ An intelligent script for running \TeX %
+       \\ \ \\ {\small Version 1.29}}
+\author{Norman Walsh \\ {\tt walsh@cs.umass.edu}}
+\date{August 16, 1993}
+
+\begin{document}
+
+\maketitle
+
+\section{What is TeXit?}
+
+TeXit is a Perl script designed to automate the task of processing documents
+with \TeX.  It runs \TeX\ with the correct format and tries to intelligently
+determine when \TeX\ needs to be run a second, or even third, time in order
+to get correctly typeset output.
+
+`Out of the box', TeXit is configured to recognize \LaTeX, Plain \TeX, and
+Texinfo files, but it can easily be extended to other formats.  One of the
+nice features of TeXit is that you can provide document-specific ``rules'' to
+determine how many times \TeX\ needs to be run.
+
+By the way, I tried to make a ``minimal'' TeXit and decided it wasn't worth
+it.  The difference in startup speed was too small to justify the expense
+of maintaining two versions.  Honest.
+
+This document describes TeXit, but you should also look at the
+``\verb|texit.pl|'' file.  I tried to put informative comments next to all of
+the variables that you might want to change.  If you do want to change them,
+{\em do it in an initialization file} (see Section~\ref{sec:init}).  {\bf Don't
+change the script!}
+
+\section{Legal Mumbo-Jumbo}
+
+TeXit is distributed under the terms of the GNU General Public License,
+version 2 or later.
+
+Use at your own risk.  I take no responsibility for {\it any\/} problems
+you have, whether or not they are caused by TeXit.  On the other hand,
+if you do have problems, I'll be as helpful as I can ;-)
+
+\section{What Does It Do?}
+
+\drawdoc
+
+Such a document forms a tree-like graph\footnote{It's tree-like because you
+can't have a cycle in the ``main branches'' (i.e. the included files) but it's
+also a graph because there can be cross references between any two nodes.}.
+
+In the worst case, getting this document to print correctly requires 
+{\em eight\/} steps!
+
+\begin{enumerate}
+  \item Run \LaTeX\ (this generates \verb|main.idx| and \verb|main.aux|).
+  \item Run \LaTeX\ again to satisfy any cross references.
+  \item Run Bib\TeX\ (this generates \verb|main.bbl|).
+  \item Run MakeIndex (this generates \verb|main.ind|).
+  \item Run \LaTeX\ (this builds the ``final document'').  Except that
+        the bibliography citations have changed a page break so the references
+        are wrong.
+  \item Run \LaTeX\ again to satisfy any cross references.
+  \item Run MakeIndex since the index may be wrong.
+  \item Run \LaTeX\ to build the final document.
+\end{enumerate}
+
+As if that weren't enough to warrant the aid of a script to do the dirty
+work, you might also like to setup \TeX\ as a compiler from within your
+editor, but you want to run \LaTeX\ on ``\verb|main.tex|'' even if you
+happen to be editing ``\verb|chap02.tex|''.
+
+TeXit can handle all of these problems.
+
+\subsection{Finding the Right File}
+
+When TeXit processes a file, the first thing it looks for is some indication
+that the file it was given is part of some larger document.  If it discovers
+that this is the case, it abandons the current file in favor of the ``master''
+file.
+
+There are two ways that you can indicate that a file is part of a larger
+document:
+
+\begin{itemize}
+  \item Place ``\verb|% master: main.tex|'' on a line by itself near the
+        top of your document.  This identifies ``\verb|main.tex|'' as
+        the master file.
+  \item Include ``\verb|% TeX-master: main.tex|'' in an Emacs ``Local
+        Variables'' section at the bottom of your file.  If you don't
+        use Emacs, don't worry about this.
+\end{itemize}
+
+\subsection{Finding the Right Format}
+
+Next, TeXit needs to determine what format to use.  You can force TeXit
+to select a particular mode with the ``\verb|-|{\em format\/}'' command-line
+switch, or by inserting a command in your document:
+
+\begin{itemize}
+  \item Place ``\verb|% mode: latex|'' or ``\verb|% format: latex|'' on a 
+        line by itself near the top of your document.  This identifies
+        ``\verb|latex|'' as the format to use.  TeXit figures out the
+        actual format file name, you just tell it in English.  Running TeXit
+        without any arguments will give you a list of formats.
+  \item Include \verb|% mode: latex| in an Emacs ``Local
+        Variables'' section at the bottom of your file.  If you don't
+        use Emacs, don't worry about this.
+\end{itemize}
+
+If you don't specify a format, TeXit assumes that the document is Plain \TeX\
+unless it finds one of the following:
+
+\begin{itemize}
+\item ``\verb|\documentstyle[|{\em any options\/}\verb|]{slides}|''
+    indicates Sli\TeX.
+
+\item ``\verb|\documentstyle[|{\em any options\/}\verb|]{foils}|''
+    indicates Foil\TeX.
+
+\item ``\verb|\documentsytle|''
+    indicates \LaTeX.
+
+\item ``\verb|\document |{\em something\/}''
+    indicates AMS\TeX.
+
+\item ``\verb|\Define|{\em xxx\/}\verb|:|{\em yyy\/}''
+    indicates Lollipop.
+
+\item ``\verb|@node|'' or ``\verb|@ifinfo|'' or ``\verb|input texinfo|'' 
+    indicates Texinfo.
+\end{itemize}
+
+TeXit only searches the first \verb|$TEXHEADERSIZE| lines for these commands.
+With the exception of ``\verb|input texinfo|'', they must occur at the
+very beginning of a line to be recognized.
+
+After processing your document, TeXit looks at the log file and re-runs \TeX\
+if the references have changed or the citations have changed.  TeXit provides
+support for \LaTeX\ and Texinfo logs at the moment.  Other formats will be
+added upon request.
+
+\section{More Power!\protect\footnote{grunt, Grunt, GRUNT! ;-)  This is a
+poor joke.  It'll only make sense if you're familiar with the television 
+sit-com {\em Home Improvement}.}}
+
+You can extend TeXit by adding ``rules'' to your documents.  Rules tell
+TeXit how the various pieces of your document are related.  It is similar
+to ``make'' in many regards, but it is a little better than make for \TeX\
+documents since it can examine the contents as well as the time-stamp
+of a file.
+
+Rules are added by placing a ``rules'' section in your main document file.
+For example, this document has the following rules:
+
+% hackery here so that the first line isn't noticed by TeXit...
+\verb|  % Start TeXit |\verb|rules:|
+\vskip-\baselineskip\vskip-\parskip
+\begin{verbatim}
+  % &cleanup_files ('texittr.tli','texittr.tlo');
+  %
+  % # it doesn't really have this rule, I just wanted to make the
+  % # example more interesting
+  % &bibtex('texit') if &newer('myrefs.bib') 
+  %                     || &missing('texit.bbl');
+  %
+  % &run(treetex texittr'), 
+  %   &waitfor('texittr.tli') if &changed('texittr.tlo') 
+  %   || &missing('texittr.tli');
+  %
+  % &dependson('texittr.tli');
+  % End TeXit rules:
+\end{verbatim}
+
+The ``\verb|Start TeXit rules:|'' and ``\verb|End TeXit rules:|'' lines are
+markers.  They are required.  Leading ``\%'' signs and whitespace are ignored.
+Note: if you are using a \TeX\ format that uses some other comment character,
+you'll have to protect the rules in some other way.  You can't simply use any
+comment character that you want.
+
+The catch is that your rules have to be valid Perl statements.  I've
+tried to make most of the common things easy to add by hiding them in
+functions.  If you use the syntax shown, everything will be ok.
+
+TeXit rules can extend over over multiple lines, but some care must be taken.
+When TeXit is parsing the rules, it assumes that any line that {\em ends\/}
+with a semi-colon ends the rule.  Trailing Perl comments (unescaped ``\#''
+marks) are trimmed off.  This allows you to build up a compound statement like
+this:
+
+\begin{verbatim}
+  % if ($some_conditional) {
+  %  do_this ;  # use perl comment to hide the semicolon
+  %  and_this ; # (make sure you hide each one)
+  % } ;       
+\end{verbatim}
+
+Rules can ``do anything'' since they're written in Perl.  Use care: don't
+change any of TeXit's variables!  The rules for a document are evaluated
+{\em every\/} time the document is processed.  If you want some rules to
+be evaluated only once, you can test against ``\verb|$first_time|''.  This
+variable will only be true once, right before the document is processed
+for the first time.
+
+The following variables are defined before the rules are executed:
+
+\begin{itemize}
+  \item \verb|$TEXFILEPATH| 
+      
+        The pathname of the master file (it always ends in a slash and
+        is equal to ``./'' if the file has no other path).
+
+  \item \verb|$TEXFILENAME|
+    
+        The base name of the master file (no path, no extension).
+
+  \item \verb|$TEXFILEEXT|
+
+        The extension of the master file.
+
+  \item \verb|$TEXFORMAT|
+
+        The english name of the format that TeXit decided to use.
+\end{itemize}
+
+\section{A Short Lesson in Rules}
+
+If you aren't a Perl aficionado, the following guidelines will help you write
+right rules.  But be warned, not every statement in this section is the whole
+truth.
+
+Most rules have the form:
+
+\begin{center}
+  \verb|&|{\it command}\verb|(|{\it arguments}\verb|) if |%
+  {\it predicates}\verb|;|
+\end{center}
+
+The following commands are available:
+
+\begin{itemize}
+  \item \verb|&bibtex('|{\it arguments}\verb|')|
+
+        Runs the BibTeX program with the arguments specified.
+
+  \item \verb|&tex('|{\it arguments}\verb|')|
+
+        Runs the \TeX\ program with the arguments specified.
+
+  \item \verb|&makeindex('|{\it arguments}\verb|')|
+
+        Runs the MakeIndex program with the arguments specified.
+
+  \item \verb|&run('|{\it command arguments}\verb|')|
+
+        The most general form, this command runs whatever you pass
+        it, just as if you typed it at the shell prompt.
+
+  \item \verb|&waitfor('|{\it file1}\verb|', '|%
+                           {\it file2}\verb|',|\ldots\verb|)|
+
+         Waits until all the files specified exist.  Use care, this can
+         cause TeXit to ``hang'' forever.  I added this condition so that
+         I could run commands asynchronously on another machine and make
+         TeXit pause until they were done. 
+
+  \item \verb|&auxfile("ext")|
+
+        Returns the name of the auxilliary file with the extension
+        ``ext''.  This allows you to test for files, like the DVI file:
+
+        For example, the test ``\verb|-r &auxfile("dvi")|'' returns true
+        if the DVI file is readable.
+
+  \item \verb|&cleanup_files('|{\it file1}\verb|', '|%
+                           {\it file2}\verb|',| \ldots\verb|)|
+
+        This command adds ``{\it file1\/}'', ``{\it file2}'', etc., to the
+        list of files that should be deleted by the cleanup choice.
+
+\end{itemize}
+
+The following predicates are available:
+
+\begin{itemize}
+  \item \verb|$first_time|
+
+        TeXit runs all of your rules once before running \TeX\ for the
+        first time.  During that one run, the \verb|&first_run| predicate
+        will be true.  All of the other predicates return false during
+        the first run.
+  
+  \item \verb|&dependson('|{\it file1}\verb|', '|%
+                           {\it file2}\verb|',| \ldots\verb|)|
+
+        Tells TeXit that the DVI file for your document depends on
+        all of the files listed.  If any of these files are newer than
+        the DVI file, \TeX\ will be run again.
+
+        TeXit evaluates your rules in the order they are written.  Make
+        sure that all of your \verb|&dependson| rules occur last.  
+
+  \item \verb|&missing('|{\it file1}\verb|', '|%
+                         {\it file2}\verb|',| \ldots\verb|)|
+
+        Returns true if any of the files specified are missing (i.e.
+        unreadable by your effective userid).
+
+  \item \verb|&changed('|{\it file1}\verb|', '|%
+                         {\it file2}\verb|',| \ldots\verb|)|
+
+        Returns true if any of the files specified have changed since the
+        last time \TeX\ was run.  TeXit saves a checksum of each file across
+        runs of \TeX\ and compares the checksums.
+
+  \item \verb|&newer('|{\it nfile1, nfile2, \ldots}\verb|', '|%
+                       {\it ofile1, ofile2, \ldots}\verb|')|
+
+        Returns true if any of the ``{\it nfiles}'' are newer than any
+        of the ``{\it ofiles}'' or if any of the ``{\it ofiles}'' don't
+        exist.
+
+        Note the different calling sequence for this predicate.  You must
+        pass only two elements to this function: {\em put the list of files
+        in quotes!}  This is different than all the other predicates, I know.
+        Sorry about that.
+\end{itemize}
+
+\section{Built in Commands}
+
+When TeXit finishes processing your document, it presents the ``Again?''
+prompt.  You should respond to the ``Again?'' prompt with the letter(s) in
+square brackets for the command that you want to issue.  For example, to run
+the ``\verb|[p]rint|'' command, reply ``p''.  You can insert a space and
+additional options.  For example ``p -Pdept1'' runs the print command with the
+additional options ``-Pdept1''.  How (or if) that argument is interpreted
+depends on the command.
+
+By default, TeXit is configured to supply the following commands:
+
+\begin{itemize}
+  \item \verb|[b]ibtex|, \verb|[g]hostview|, \verb|[t]ex|, \verb|[v]iew|
+
+    Runs BibTeX, Ghostview, \TeX, or your previewer, respectively.
+
+  \item \verb|[p]rint|
+
+    Runs a printer.  You {\em must\/} specify the name of the printer 
+    queue as an option.  Use ``p ?'' to get a list of queues.  Additional
+    options, after the queue name, are passed to either the DVI driver
+    or the print command: options before a ``\verb+|+'' go to the DVI
+    driver, options after go the print command.
+
+    For example, the following command ``\verb+p dept1 -p1 -l1|-K2+''
+    prints your job to the ``dept1'' printer queue.  The DVI driver
+    sees the options ``-p1 -l1'' and the printer command sees the
+    options ``-K2''.
+
+  \item \verb|[c]leanup|
+
+    Deletes auxilliary files (log, aux, etc.).  This can be configured
+    in document rules and/or \verb|.texitrc| files.
+
+  \item \verb|e[x]it|
+
+    Exits TeXit.
+\end{itemize}
+
+Section~\ref{sec:examples} illustrates how you can add your own commands.
+
+\section{Other Initialization}
+\label{sec:init}
+
+The first thing TeXit does after parsing your command line arguments and
+finding out what document you want to process is load initialization files.
+These files typically set variables like \verb|$TEXRETRIES| and
+\verb|$TEXHEADERSIZE|.  If they exist, the following scripts are loaded (in
+this order):
+
+\begin{itemize}
+  \item Some global configuration file
+
+    Support for this option requires editing the script.  I don't expect it
+    to be done very often.
+
+  \item \verb|~/.texitrc|
+
+    The script file found in your home directory.  TeXit finds your home
+    directory by looking for the ``\verb|TEXIT|'' environment
+    variable and the ``\verb|HOME|'' environment variable.  It uses whichever
+    it finds first.
+
+    You really should set one or the other.  If neither is set, your
+    home directory effectively becomes the current directory.  Probably
+    not what you had in mind. 
+
+  \item \verb|$TEXFILEPATH/.texitrc|
+
+    The script file in the same directory as your \TeX\ master document
+    file.
+ 
+  \item \verb|-initfile |{\it ifile}
+
+    Finally, any init files that you specify as options are loaded.  If you
+    specify more than one, they are loaded in the order specified.
+\end{itemize}
+
+\section{Some Examples}
+\label{sec:examples}
+
+This section demonstrates some customizations performed in ``\verb|.texitrc|''
+files.  These examples should help you figure out how to do some of the 
+customizations you're likely to want.  You can alway send me email if you
+want help with a particular customization.
+
+\subsection{Adding a new command}
+
+Let's add the \verb|dvitty| program as a new command.  First, define
+the program name and the command.  These could be combined, but it's
+better not to for reasons that will become clear in a moment.
+
+\begin{verbatim}
+  $DVITTY    = "/usr/local/bin/dvi2tty";
+  $DVITTYCMD = "$DVITTY %o %d";
+\end{verbatim}
+
+Table~\ref{tab:percentsubst} shows all of the \%-substitutions that
+you can include in the command.
+
+\begin{table}
+  \begin{center}
+    \begin{tabular}{|l|l|}
+      \hline
+      \verb|%F| & The format file name \\
+      \verb|%s| & The base name of the \TeX\ master file \\
+      \verb|%t| & The \TeX\ master file with its extension \\
+      \verb|%d| & The DVI file\\
+      \verb|%o| & Any options added to the command by the user\\
+      \verb|%D| & The DVI file with ``/'' translated to ``$\backslash$''. \\
+      \verb|%S| & The base name with ``/'' translated to ``$\backslash$''. \\
+      \verb|%T| & The master file with its extension and with ``/'' translated to ``$\backslash$''. \\
+      \hline
+    \end{tabular}
+    \caption{Percent substitutions performed by TeXit.}
+    \label{tab:percentsubst}
+  \end{center}
+\end{table}
+
+The next thing that you need to do is tell TeXit to present this as an option
+to the user.  In order to do this, you must define two more commands:
+\verb|$CMDPROMPT{|{\it cmd-name}\verb|}| and \verb|$CMDTEST{|{\it
+cmd-name}\verb|}|.  The ``{\it cmd-name}'' is the prompt-string that
+will be displayed to the user.  Some portion of that string must be in square
+brackets.  That portion is what the user must enter to run the choice.  The
+\verb|$CMDPROMPT| is the Perl string that is evaluated if the user
+selects that command and the \verb|$CMDTEST| string is evaluated before the
+prompt is displayed to see if that command is allowed now.  Both of these
+strings should be defined in {\em single quotes\/} so that  Perl doesn't
+do any interpolation when it's defining the command.  The \verb|$CMDPROMPT|
+string should end with either ``\verb|$RETEX|'' or ``\verb|$REASK|'' depending
+on whether you want to re-run \TeX\ or redisplay the prompt.
+
+Here's how \verb|dvitty| is defined:
+
+\begin{verbatim}
+  $CMDPROMPT{"dvi2[tty]"} = '&run($DVITTYCMD, "$opts"); $REASK;';
+  $CMDTEST{"dvi2[tty]"}   
+     = '"$DVITTY" && -x "$DVITTY" && -r &auxfile("dvi")';
+\end{verbatim}
+
+These commands indicate that:
+
+\begin{itemize}
+  \item TeXit should add ``\verb|dvi2[tty]|'' to the prompt.
+  \item The user must respond ``\verb|tty|'' to select this option.
+  \item The option is only available if \verb|$DVITTY| is defined and
+        executable and the DVI file exists.
+  \item If selected, TeXit should run the \verb|$DVITTYCMD| with any
+        options the user specified (always stored in ``\verb|$opts|'')
+        and then redisplay the prompt.
+\end{itemize}
+
+Another example: adding a printer queue command.  This one's done
+a bit sloppily, but it works.
+
+\begin{verbatim}
+  $CMDPROMPT{"[q]uery printer"} 
+    = '&run("lpq -P%o", "$opts"); $REASK;';
+  $CMDTEST{"[q]uery printer"} = '';
+\end{verbatim}
+
+\subsection{Adding a New Printer}
+
+Assuming that the program ``\verb|dvi2bam|'' translates DVI files into output
+for the Bambleweenie 2000 printer (translating ``file.dvi'' to ``file.bbw''),
+the following commands add the ``\verb|neato|'' printer to TeXit.
+
+\begin{verbatim}
+  $DVIBAM = "/usr/local/bin/dvi2bam";
+  $DVIBAMCMD = "$DVIBAM %o %d";
+
+  $PRQUEUE{"neato"} = "bamble";
+  $PRINTCMD{"neato"} = "lpr %o %s.bbw";
+  $PRINTOPT{"neato"} = "-Pneato";
+
+  $DVICMD{"bamble"} = $DVIBAMCMD;
+  $DVIOPT{"bamble"} = "";
+\end{verbatim}
+
+Adding a new printer, ``\verb|myprinter|'', of the same type is a simple
+matter:
+
+\begin{verbatim}
+  $PRQUEUE{"myprinter"} = "bamble";
+  $PRINTCMD{"myprinter"} = "lpr %o %s.bbw";
+  $PRINTOPT{"myprinter"} = "-Pmyprinter";
+\end{verbatim}
+
+\subsection{Removing a Command}
+
+To remove a command, undefine one of the things that its ``\verb|$CMDTEST|''
+string tests.  For example, to remove Ghostview:
+
+\begin{verbatim}
+  undef($GSVIEW);
+\end{verbatim}
+
+This is why you should always put a simple command-defined type test in
+your ``\verb|$CMDTEST|'' strings.
+
+To completely remove a command, delete its entries in the \verb|$CMDTEST|
+{\em and\/} \verb|$CMDPROMPT| arrays.  If you only delete its entry
+in the \verb|$CMDTEST| array, the command will always be available (a
+null test is true by default).  If you only delete its entry in the
+\verb|$CMDPROMPT| array, you will get a runtime error (this is intentional,
+it helps catch typos in the array definitions).
+
+\begin{verbatim}
+  delete $CMDPROMPT{"[b]ibtex"};
+  delete $CMDTEST{"[b]ibtex"};
+\end{verbatim}
+
+\subsection{Removing a Printer}
+
+To remove a printer, delete its ``\verb|$PRQUEUE|'' entry.  For example,
+the following command removes the ``Local'' printer:
+
+\begin{verbatim}
+  delete $PRQUEUE{"Local"};
+\end{verbatim}
+
+\subsection{Other Examples}
+
+Look in the \verb|.texitrc| files supplied with TeXit for more ideas
+and examples.
+
+\section{Running under OS/2}
+
+The following file, ``\verb|texit.cmd|'' demonstrates how \verb|texit.pl|
+can be run under OS/2.  This sort of hackery might not be necessary if you
+put \verb|texit.pl| in the Perl library path, but I don't because
+the compiled-in path is \verb|c:\perl\lib| which I'm unwilling to use.
+I could recompile Perl, I suppose, but on my 386SX box that'd probably
+take about a year and a half.  Not to mention all the disk space I don't
+have.  Actually, there's a  bug in this port that I would like
+to fix, but I won't be able to do that for a while.
+
+The tricks are: 
+
+\begin{itemize}
+  \item You have to get the whole pathname to Perl and OS/2 only
+        passes the path of the command you typed (so if it's on your PATH, it
+        only gets ``\verb|texit|''.
+
+  \item Having put the pathname on the ``extproc'' line, you have to do
+        a ``shift'' to get rid of the name that OS/2 put on the command line.
+
+  \item In order for Perl to find the file ``\verb|require|''d,
+        it must be on the \verb|@INC| path.  (You see, it begins with a
+        drive letter (not a ``/'') so Perl thinks it has to look
+        for the file.  The bug.  Sigh.) 
+\end{itemize}
+
+\begin{verbatim}
+  extproc perl -x e:/emtex/texit.cmd
+  #! perl 
+  shift; # get rid of TEXIT.CMD shoved on by OS/2
+  push (@INC, "e:/emtex");    # add emtex to search path
+  push (@INC, "e:/Perl/lib"); # perl path
+  require "texit.pl"
+\end{verbatim}
+
+\section{Questions, Suggestions, or Flames?}
+
+I know this documentation is incomplete (and badly written).  I'll try to
+answer any questions that you ask and entertain any suggestions that you might
+have (no matter {\em how\/} entertaining I think they are ;-).
+
+In my own defense, I {\em did\/} put lots of comments in the script.  It
+shouldn't be too inscrutable.
+
+\end{document}
+
+
+% Start TeXit rules:
+% &cleanup_files ('texittr.tli','texittr.tlo');
+%
+%# &run('treetex texittr'), &waitfor('texittr.tli')
+%#   if &changed('texittr.tlo') || &missing('texittr.tli');
+%
+% &dependson('texittr.tli');
+% End TeXit rules:
+
-- 
cgit v1.2.3

