summaryrefslogtreecommitdiff
path: root/macros/plain/contrib/lextex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/plain/contrib/lextex')
-rw-r--r--macros/plain/contrib/lextex/example1.tex215
-rw-r--r--macros/plain/contrib/lextex/lextex.tex4273
-rw-r--r--macros/plain/contrib/lextex/ltman.tex1656
-rw-r--r--macros/plain/contrib/lextex/read.me103
-rw-r--r--macros/plain/contrib/lextex/rhlocal.tex31
-rw-r--r--macros/plain/contrib/lextex/ruled.tex62
-rw-r--r--macros/plain/contrib/lextex/solicit.tex112
-rw-r--r--macros/plain/contrib/lextex/txs.doc569
-rw-r--r--macros/plain/contrib/lextex/txsruled.tex409
9 files changed, 7430 insertions, 0 deletions
diff --git a/macros/plain/contrib/lextex/example1.tex b/macros/plain/contrib/lextex/example1.tex
new file mode 100644
index 0000000000..4f673d6aec
--- /dev/null
+++ b/macros/plain/contrib/lextex/example1.tex
@@ -0,0 +1,215 @@
+% This is a demonstration file, intended to show what LeXTeX does.
+% The method of processing it depends upon whether you have turned
+% LeXTeX into a format file or not. If you have not you should type
+%
+% TEX &PLAIN EXAMPLE1
+%
+% If LeXTeX has been converted into a format file the command is
+% TEX &LEXTEX EXAMPLE1
+%
+% In the latter case the line further down which reads
+% "\input lextex" can be deleted although leaving it alone will
+% not cause any problem.
+%
+% In TeX everything that follows a percent sign (%) is a comment.
+% As a result, these lines will not show up in the final
+% printed document.
+% You can, of course, amend the file in whatever way you choose
+% (although some amnedments are likely to have odd effects)
+%
+% The next few lines provide some information used in processing
+% the file. The command \bstitle need only be used when formatting
+% an Opinion or a draft in a non-litigious matter. It sets the
+% title to be used on the backsheet.
+%
+% \solsref is the Solicitors' internal refererence.
+%
+% \colsref is the ACE case reference, omitting Counsel's initials.
+%
+% (These will be set by the command \col{XYZ} in the rhlocal.tex
+% file which accompanies LeXTeX. The signature at the end is
+% produced by the command \counsel{JOHN SMITH} in the same file.)
+%
+% The remaining commands provide information to the Clerks for
+% charging purposes.
+%
+% It may be found useful to keep a copy of these commands in a
+% separate file or in a macro.
+%
+% Note that in the clauses which follow various commands are
+% surrounded by vertical bar characters (|). Do not type
+% these bars. They are there simply to enable the command name
+% to be printed in the file instead of being interpeted
+% by LeXTeX.
+
+
+\input lextex
+\bstitle{}
+\solsref{}
+\colsref{SUEGRA/2} % Omit Counsel's initials
+\timetaken{} % hours \casetype{}
+\value{} % omit pound sign
+\difficulty{} % out of 10
+\proposedfee{} % omit pound sign
+\legalaidno{}
+\comment{}
+
+% The next command tells LeXTeX that the case is in the Chancery
+% Division. It can be altered to \qb or \family. It can also be
+% given the full (or partial) case reference, eg \ch{1991 X 1234}
+% or \qb{1989}.
+
+\ch
+
+\plaintiff{ANTHONY ARCHER}
+
+\plaintiff{JOSEPH GRUNDY}
+
+\defendant{BRIAN ALDRIDGE}
+
+\defendant{JENNIFER ALDRIDGE}
+\defendant{FRED BLOGS}
+
+\writ
+
+\cl This file is intended to demonstrate various things,
+such as the way in which the names and addresses of the
+parties are formatted. If the command |\writ| immediately
+above this clause is changed to |\os| the file will be
+formatted as an Originating Summons.
+
+\cl The addresses of the parties will be left blank in the
+writ or originating summons. If they are know they can be
+inserted by using the command |\of{Brookfield Farm,
+Ambridge}|. Two parties having the same address can be linked
+by the word |\and|; this will, as might be expected, insert
+``and'' between their names. If there are, say, three
+parties having the same address the first two can be linked
+by |\nand| and the second and third by |\and|. (The macros
+which achieve this are not yet perfect, however.) If one
+address is given, then an address must be given for all
+parties, even if it takes the form |\of{\noaddr}|.
+
+
+\cl \TeX\ can produce various accents, although there are
+not, of course, many accented English words. Here are a few
+accents. Pr\^et \`a na\"\i ve.
+
+\cl The Plaintiffs were induced to enter into an agreement
+by the representation of the Defendants that the Defendants
+had an account at the Borchester Branch of B.C.C.I. from
+which a certain sum would be paid. The representation was
+implied by the drawing of a cheque by the Defendants. The
+representation was untrue in that the Defendants had no such
+account. The representation was made falsely and
+fraudulently by the Defendants in order to induce the
+Plaintiffs to deliver a motor car to the Defendants. This
+paragraph has been adapted from Volume~39 of \bo Atkin's
+Court Forms\ok and is as such is no doubt copyright
+(\copyright) Butterworths.
+
+\cl Note that one of the items set out at the top of the
+file and referred to above is |\colsref{SUEGRA/2}|. This is
+the case reference as it appears in the ACE accounting
+system. \LeXTeX\ extracts Sue Grabbit \& Runne's name and
+address from a file and inserts it into the proper place in
+this document. Note that |SUEGRA| must be in capitals and
+that the initials of the Counsel concerned are set in the
+|RHLOCAL| file which accompanies \LeXTeX.
+
+\cl If this is an Originating Summons then of course the
+next command should be removed.
+
+\claim
+
+\cl An Order that the Defendants should do something or
+other
+
+\cl Liberty to apply
+
+\cl Costs
+
+\amended\soc
+
+\cl The command |\soc| produceds a Statement of Claim. If it
+is changed to, for example, |\defence| the format of the
+document will change. (Note that if a Writ and a Defence are
+inclided in the same file \LeXTeX\ may become slightly confused
+as to which party you are acting.) The command |\amended|
+produces an amended Statement of Claim or other document.
+
+\cl The \forwhom\ \wants\ that the statements of the
+\notforwhom\ are a load of piffle. (It is not, of course,
+normal to use {\tt\string\forwhom}, {\tt\string\notforwhom}
+and {\tt\string\wants} in this way; you are expected to
+know for whom you act.)
+
+\cl How about an accent or two? Pr\^et \`a na\"\i ve.
+
+\cl The Plaintiffs were induced to enter into an agreement
+by the representation of the Defendants that the Defendants
+had an account at the Borchester Branch of B.C.C.I. from
+which a certain sum would be paid. {\xo The representation
+was implied by the drawing of a cheque by the Defendants.}
+{\ul The representation was contained in a letter from the
+Defendants to the Plaintiffs dated the 20th July 1991.} The
+representation was untrue in that the Defendants had no such
+account. The representation was made falsely and
+fraudulently by the Defendants in order to induce the
+Plaintiffs to deliver a motor car to the Defendants. This
+paragraph has been adapted from Volume~39 of \bo Atkin's
+Court Forms\ok and is as such no doubt copyright
+(\copyright) Butterworths.
+
+{\ul\acl This is an additional clause
+
+\acl This is another}
+
+\claim
+
+\cl An Order that the Defendants should do something or
+other
+
+\cl Liberty to apply
+
+\cl Costs
+
+\deponent{JACK WOOLEY}
+ \of{Gray Gables, Ambridge, Borchester}
+ \occupation{Hotel Proprietor}
+
+\affidavit
+
+\cl The command |\deponent| must precede the command
+|\affidavit|. The commands |\of{[address]}| and
+|\occupation{[Occupation]}| are optional; if they are
+omitted a suitable comment will be added.
+
+\cl I am the owner of the above-mentioned hotel.
+
+\cl There is now \exhibited the Conveyance of it to me dated
+the 1st April 1955. Note that the exhibits are automatically
+numbered by the cfommand |\exhibited| and the similar
+command |\bundled|.
+
+\cl The accounts for the last five years are now \bundled.
+
+\cl If an affidavit is the only document in the file \LeXTeX\
+will assume that it is to be filed on behalf of the
+Defendant(s). If this is not the case it should be preceded
+by the command |\clientpltrue|.
+
+\cl This paragraph is included simply to bulk things out a
+little bit so that the affidavit extends over onto the next
+page.
+
+\opinion
+I have settled the appropriate documents for the
+consideration of my Instructing Solicitors. I have no
+comments to make on them.
+
+To change this Opinion into an Advice, simply change |\opinion|
+at the top of the file to |\advice|.
+
+\bye
+
diff --git a/macros/plain/contrib/lextex/lextex.tex b/macros/plain/contrib/lextex/lextex.tex
new file mode 100644
index 0000000000..e6c82ec134
--- /dev/null
+++ b/macros/plain/contrib/lextex/lextex.tex
@@ -0,0 +1,4273 @@
+%$Log: TeX $
+%Revision 1.1 91/10/30 15:08:24 RC-HH
+%Initial revision
+% Amendments made 08/11/91
+% \colsref amended (/ deleted)
+% \getaddress amended (/ added)
+% \bsdft altered by adding conditionals (ifx sols, sref, cref)
+% \nsnbp changed to \nsnbps (\space added) and \nsn added
+% The names of these should, perhaps be changed to include @
+% Alterations to \xref and \newxref to ensure correct updating
+% Alteration to \arrangement
+% \global added in \party in one place. May need adding in others
+% Alterations to \chittitle (for use in \faxsheet)
+% Minor alteration to \advising
+% Alteration to \familydivision and to \family and assoc macros
+% \pleadingtrue added to \ch etc, \pleading false as default
+% Alteration to affidavit to correct error
+% \clientpltrue added in \specialwrit
+% \sjsummons altered: do same to others
+% \origprocess : \par added after #2
+% \widowpenalty added to \pageparameters and \draftparameters
+% \string added in \write statement in \schedule
+% Alterations to \schedref and \appendref to deal with singles
+% Added \pararef = to \clref
+% Minor alterations to correct pagenumbering---check
+% Duplicate definition of \faxsheet removed
+% \everyjob added
+% Minor alterations re \workdone
+% Minor alteration to \plainoutput. \count1 & 2 swapped
+% 12 Nov 91 Alteration made to \maxpartywidth
+% and to \resetpleadingdefaults
+% Many %% removed
+% 20 Nov 1991
+% Minor alterations to \today and \everyjob
+% \makeatletter \makeatother added
+% time macros (taken from gentle.tex) added
+% 21 Nov 1991
+% TUBboat.sty macros added to remove spaces
+% \oldquotes and ancilliary macros added
+% \futureday etc and \dayofweek added
+
+
+% This is LeXTeX, by Roger C-H. Horne.
+% Some of it is original, and some is not.
+% e.g., it takes chunks from manmac.tex relating to font sizing
+% and amends those to include poundsigns
+% It also takes footnotes from AMSptt.sty
+% And uses a number of macros that have appeared in TUGboat
+%
+% The present version is an amalgamation of two files---and it shows.
+%
+% Last modified 21th November 1991
+
+% Introduction (ie general purpose stuff)
+%
+\newif\ifdebugging
+\def\dbhelp#1{\ifdebugging\inform{#1}\fi}
+\debuggingfalse
+
+\ifx\lextexisloaded\relax\message{ - already loaded}
+ \afterassignment\endinput
+ \else\let\lextexisloaded=\relax
+ \fi
+
+\def\fmtname{LeXTeX}\def\fmtversion{1.005}
+\message{Version \fmtversion}
+
+\catcode`@=11 % Turn the `at' sign into a letter.
+\catcode`\^=7 % Ensure that ^ is superscript.
+%\catcode`\|=12% Ensure that | is `other'.
+
+% time macros
+\newcount\hour \newcount\minute
+\def\mm@{\ifnum \minute<10 0\fi\number\minute}
+\def\writetime{\hh@\mm@\space\am@pm}
+
+\everyjob{%
+ \hour=\time \divide \hour by 60
+ \minute=\time
+ \loop \ifnum \minute > 59 \advance \minute by -60 \repeat
+ \ifnum \hour<13
+ \def\hh@{\number\hour:}% % supresses leading 0's
+ \def\am@pm{\ifnum \hour < 12 a.m.\else p.m.\fi}
+ \else \advance \hour by -12
+ \def\hh@{\number\hour:}% % supresses leading 0's \fi
+ \def\am@pm{\ifnum \hour > 11 a.m.\else p.m.\fi}
+ \fi
+ \inform{}%
+ \inform{This is LeXTeX, Version \fmtversion, running at \writetime}%
+ \inform{\space\space on the \today.}%
+ \inform{}%
+ \inform{Comments and bug reports to}%
+ \inform{}%
+ \inform{\space\space Roger Horne}%
+ \inform{\space\space 7 New Square}%
+ \inform{\space\space Lincoln's Inn}%
+ \inform{\space\space London WC2A 3QS}%
+ \inform{\space\space rhorne@cix.compulink.co.uk}%
+ \inform{}%
+ }
+
+% LeX TeX logo---looking distinctly similar to \LaTeX...
+%
+\def\LeXTeX{L\kern-.25em\raise.5ex\hbox{ex}T\kern-.1667em\lower
+ .5ex\hbox{E}\kern-.125emX}
+% The LaTeX logo sometimes looks like this (it varies a little)
+\def\LaTeX{{\rm L\kern-.36em\raise.3ex\hbox{\scaps a}\kern-.15em
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
+
+
+% Part 1 - Fonts etc---
+
+% Main maths + roman---
+
+\font\tentex=cmtex10
+\font\twelverm=cmr12
+\font\ninerm=cmr9
+\font\eightrm=cmr8
+\font\sixrm=cmr6
+\font\fiverm=cmr5
+
+% Maths italic---
+
+\font\twelvei=cmmi12
+\font\ninei=cmmi9
+\font\eighti=cmmi8 % This is used as a scriptfont
+\font\sixi=cmmi6 % reinstated for the time being
+\skewchar\twelvei='177
+\skewchar\ninei='177 \skewchar\eighti='177
+\skewchar\sixi='177
+
+% Math symbols---
+
+\font\twelvesy=cmsy10 scaled \magstep1
+\font\ninesy=cmsy9
+\font\eightsy=cmsy8 % used as a scriptfont
+\font\sixsy=cmsy6 % reinstated
+\skewchar\twelvesy='60
+\skewchar\ninesy='60
+\skewchar\eightsy='60
+\skewchar\sixsy='60
+
+% Bold extended---
+
+\font\twelvebf=cmbx12
+\font\ninebf=cmbx9
+
+% Typewriter style---
+
+\font\twelvett=cmtt12 % Now not using proportional version
+%\font\twelvett=cmvtt10 scaled \magstep1
+%\font\tentt=cmvtt10
+\font\tentt=cmtt10
+\font\ninett=cmtt9
+
+% Slanted type---
+
+\font\twelvesl=cmsl12
+\font\ninesl=cmsl9
+
+% Italic---
+
+\font\twelveit=cmti12
+\font\nineit=cmti9
+
+% Odd fonts---
+
+\font\headerfont=cmr12 scaled \magstep1
+\font\titlefont=cmr12 scaled \magstephalf
+
+% Now the poundsign fonts:
+
+\font\tenu=cmu10 % unslanted text italic
+\font\twelveu=cmu10 scaled \magstep1
+\font\tentiit=cmitt10
+
+% And the caps and small caps fonts:
+
+\font\fourteencaps=cmcsc10 scaled \magstep2
+\font\twelvecaps=cmcsc10 scaled \magstep1
+\font\tencaps=cmcsc10
+
+% The underline and cross-out macros
+
+\def\gobble#1{}
+
+\def\changefont#1{%
+ \edef\testfontname{#1\fontname\font}%
+ \edef\testfont{\expandafter\string\the\font}%
+ \edef\testtwo{#1\expandafter\gobble\testfont}%
+ \edef\testthree{\csname\testtwo\endcsname}%
+ \expandafter\ifx\csname\testtwo\endcsname\relax
+ \global\expandafter\font\testthree\expandafter=\testfontname
+ \fi\ignorespaces
+ \let\temppounds=\pounds
+ \testthree\ignorespaces}
+
+\gdef\ul{\changefont{u}
+ \def\pounds{%
+ \setbox1\hbox{\temppounds}%
+ \setbox2\hbox{p}%
+ \copy1\kern-\wd1
+ \vrule depth .6\dp2 height -.45\dp2 width\wd1
+ \relax}%
+ }
+
+\gdef\xo{\changefont{x}
+ \def\pounds{%
+ \setbox1\hbox{\temppounds}%
+ \setbox2\hbox{p}%
+ \copy1\kern-\wd1
+ \vrule depth -.35ex height .45ex width\wd1
+ \relax}%
+ }
+
+\def\xu{\changefont{xu}}
+\let\xul\xu
+
+% The next ones are at present somewhat abbreviated
+% ie, poundsigns will not be crossed-out or underlined properly
+
+\gdef\uul{\changefont{uu}}
+\gdef\xxo{\changefont{xx}}
+\gdef\uuul{\changefont{uuu}}
+\gdef\xxxo{\changefont{xxx}}
+
+% It will also be necessary in due course to define
+% \def\xxu - inserted by am1, deleted by am2
+% \def\xxxu - inserted by am1, deleted by am3
+% \def\xxxuu - inserted by am2, deleted by am3
+
+% Part 2 - Dimensions, etc.
+
+\newdimen\footindent % fn indentation
+\newdimen\clindent % clause indentation
+\newdimen\sclindent % sub-clause indentation
+\newdimen\ssclindent
+\newdimen\sssclindent
+\newdimen\ssssclindent
+\newdimen\sssssclindent
+\newdimen\cnindent % "computer-numbering" indentation
+\newdimen\hclindent % hanging indentation
+\newdimen\hsclindent
+\newdimen\hssclindent
+\newdimen\hsssclindent
+\newdimen\hssssclindent
+\newdimen\hsssssclindent
+\newdimen\quoteindent % indentation of quotations
+\newdimen\quoteparindent % \parindent in quotes
+\newdimen\clbox % box holding \cl in \clcont
+%\newdimen\sclbox % not used yet
+%\newdimen\ssclbox
+%\newdimen\sssclbox
+%\newdimen\ssssclbox
+%\newdimen\sssssclbox
+\newdimen\signindent % indentation of signature
+\newdimen\rbracketsize % size of brackets round sworn, etc
+\newdimen\lbracketsize
+\newdimen\brackdepth % Depth of space in sworn etc
+\newdimen\notespace % space marginal notes--text
+\newdimen\maxnote % width of marginal note
+\newdimen\clnamelength % length of "clause" in contents macros
+\newdimen\pagewidth % alternative name for \hsize
+\newdimen\pageheight % alternative name for \vsize
+
+\newcount\footmarkcount@ % No. of footnotes
+\newcount\recno % recitals
+\newcount\clno % clauses and sub-clauses
+\newcount\sclno
+\newcount\ssclno % sub-sub etc
+\newcount\sssclno
+\newcount\ssssclno
+\newcount\sssssclno
+\newcount\greekno % see \ssscl & \sssscl
+\newcount\cardno % see \sssscl & \ssssscl
+\newcount\exno % Exhibits in affidavits
+\newcount\clauselevel
+\newcount\ssdcount \ssdcount=0 % new
+\newcount\schedcount \schedcount=0
+\newcount\partcount \partcount=0
+
+\newskip\quoteparskip %parskip in quotes
+\newskip\ttglue
+\newskip\blankskip % Used in \noaddr etc
+\newskip\twelvebase % \normalbaselines (12pt type)
+\newskip\tenbase % \normalbaselines (10pt type)
+\newskip\ninebase % \normalbaselines (9pt type)
+\newskip\twelvesmallskipamount % TB p. 349
+\newskip\tensmallskipamount
+\newskip\ninesmallskipamount
+\newskip\twelvemedskipamount
+\newskip\tenmedskipamount
+\newskip\ninemedskipamount
+\newskip\twelvebigskipamount
+\newskip\tenbigskipamount
+\newskip\ninebigskipamount
+\newskip\settledgap % distance between settled & sig.
+\newskip\clskip % vskip for clauses
+\newskip\sclskip % vskip for sub-clauses
+\newskip\ssclskip % ditto ss-clauses
+\newskip\sssclskip % ditto sss-clauses
+
+\newif\ifgreek % see \sssscl
+\newif\ifcard % see \ssssscl
+\newif\ifclind % hanging indentation in clauses
+\newif\ifcontents % table of contents produced
+\newif\ifnocommaindate % used in \today
+\newif\ifq % Used (?) in the quote macros
+\newif\ifxrfmissing % cross-refs file
+\newif\ifvisible % used in contents
+\newif\ifmarginalnotes % if true, notes in margin
+\newif\ifxrefs % check this
+\newif\ifoldxrffile %
+\newif\ifindex
+\newif\iffullsize \fullsizefalse% Whether fullsize backsheet
+\newif\ifdraft \drafttrue% Draft or engrossment
+\newif\ifpleading % No date req'd for pleadings
+\newif\ifucfirstline % \ucfirstlinetrue
+\newif\ifchit % print a fee chit
+\newif\ifendorsement \endorsementfalse
+
+\newread\xrf
+\newread\inx
+
+\newwrite\cont
+\newwrite\inx
+\newwrite\xrf
+
+
+% Part 3 - Now add the poundsign macros:
+
+\def\rmpo{\leavevmode\lower.055ex\hbox{\$}\kern-.0em}
+\def\itpo{\leavevmode\lower.055ex\hbox{\$}\kern-.09em}
+\def\slpo{\leavevmode\lower.055ex\hbox{\$}\kern-.07em}
+\def\bfpo{\leavevmode\pmb{\lower.025ex\hbox{\$}\kern-.04em}}
+\def\ttpo{\leavevmode\lower.0ex\hbox{\$}\kern0em}
+\def\ttkludgepo{\leavevmode\epmb{\lower.0ex\hbox{\$}\kern-.0em}}
+
+\def\pmb#1{\setbox0=\hbox{#1}% Poor man's bold
+ \kern-.025em\copy0\kern-\wd0
+ \kern.05em\copy0\kern-\wd0
+ \kern-.025em\raise.0003em\box0 }
+
+\def\epmb#1{\setbox0=\hbox{#1}% Extremely poor man's bold
+ \kern-.005em\copy0\kern-\wd0
+ \raise.015em\copy0\kern-\wd0
+ \kern.01em\copy0\kern-\wd0
+ \kern-.005em\raise.015em\box0 }
+
+
+% Part 4 - The size-changing macros
+
+% These are adapted from the 10-point manmac macros
+% Script and scriptscrip removed except in \rm
+
+\def\twelvepoint{\def\rm{\def\pounds{{\twelveu\rmpo}}\fam0\twelverm}%
+ \textfont0=\twelverm \scriptfont0=\eightrm \scriptscriptfont0=\sixrm
+ \textfont1=\twelvei \scriptfont1=\eighti \scriptscriptfont1=\sixi
+ \textfont2=\twelvesy \scriptfont2=\eightsy \scriptscriptfont2=\sixsy
+ \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
+ \def\it{\def\pounds{{\itpo}}\fam\itfam\twelveit}%
+ \textfont\itfam=\twelveit
+ \def\sl{\def\pounds{{\twelveit\slpo}}\fam\slfam\twelvesl}%
+ \textfont\slfam=\twelvesl
+ \def\bf{\def\pounds{{\twelveu\bfpo}}\fam\bffam\twelvebf}% pmb poundsign
+ \textfont\bffam=\twelvebf
+ \def\tt{\def\pounds{{\tenu\ttkludgepo}}\fam\ttfam\twelvett}% ! poundsign
+ \textfont\ttfam=\twelvett
+ \tt \ttglue=.5em plus.25em minus.15em % not needed for cmvtt fonts
+ \normalbaselineskip=\twelvebase
+ \smallskipamount=\twelvesmallskipamount
+ \medskipamount=\twelvemedskipamount
+ \bigskipamount=\twelvebigskipamount
+ \def\caps{\def\pounds{~}\fourteencaps}% don't use the pound sign
+ \def\scaps{\def\pounds{{\twelveu\rmpo}}\twelvecaps}%
+ \setbox\strutbox=\hbox{\vrule height.7\normalbaselineskip
+ depth.3\normalbaselineskip width\z@}%
+ \normalbaselines\rm}
+% consider changing normalbaselineskip to \the\twelvebase
+
+\def\tenpoint{\def\rm{\def\pounds{{\tenu\rmpo}}\fam0\tenrm}%
+ \textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm
+ \textfont1=\teni
+ \textfont2=\tensy
+ \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
+ \def\it{\def\pounds{{\itpo}}\fam\itfam\tenit}%
+ \textfont\itfam=\tenit
+ \def\sl{\def\pounds{{\tenit\slpo}}\fam\slfam\tensl}%
+ \textfont\slfam=\tensl
+ \def\bf{\def\pounds{{\tenu\bfpo}}\fam\bffam\tenbf}%
+ \textfont\bffam=\tenbf
+ \def\tt{\def\pounds{{\tentiit\ttpo}}\fam\ttfam\tentt}%
+ \textfont\ttfam=\tentt
+ \tt \ttglue=.5em plus.25em minus.15em
+ \smallskipamount=\tensmallskipamount
+ \medskipamount=\tenmedskipamount
+ \bigskipamount=\tenbigskipamount
+ \normalbaselineskip=\tenbase
+ \def\caps{\def\pounds{{\twelveu\rmpo}}\twelvecaps}%
+ \def\scaps{\def\pounds{{\tenu\rmpo}}\tencaps}%
+ \setbox\strutbox=\hbox{\vrule height10pt depth5pt width\z@}%
+ \normalbaselines\rm}
+
+\def\ninepoint{\def\rm{\def\pounds{{\nineit\slpo}}\fam0\ninerm}%
+ \textfont0=\ninerm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm
+ \textfont1=\ninei
+ \textfont2=\ninesy
+ \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
+ \def\it{\def\pounds{{\nineit\itpo}}\fam\itfam\nineit}%
+ \textfont\itfam=\nineit
+ \def\sl{\def\pounds{{\nineit\slpo}}\fam\slfam\ninesl}%
+ \textfont\slfam=\ninesl
+ \def\bf{\def\pounds{~}\fam\bffam\ninebf}% pound sign to be added
+ \textfont\bffam=\ninebf
+ \def\tt{\def\pounds{~}\fam\ttfam\ninett}% no pound sign
+ \textfont\ttfam=\ninett
+ \tt \ttglue=.5em plus.25em minus.15em
+ \smallskipamount=\ninesmallskipamount
+ \medskipamount=\ninemedskipamount
+ \bigskipamount=\ninebigskipamount
+ \normalbaselineskip=\ninebase
+ \setbox\strutbox=\hbox{\vrule height8pt depth3pt width\z@}%
+ \normalbaselines\rm}
+
+
+% Part 5 - Footnotes
+
+% These are adapted from the AMSTeX macros
+% For details of usage see "The Joy of TeX" by Spivak M.D.
+
+\def\relaxnext@{\let\next\relax}
+
+% This is new. Adaption of \hang etc (Vol.B p.355)
+
+\def\fang{\hangindent\footindent}
+\def\fitem{\par\fang\toeindent}
+\def\toeindent#1{\noindent\hbox to \footindent{\hss#1\thinspace}}
+
+% This is where AMSPPT.STY is added:
+
+\def\footmarkform@#1{$^{#1}$}
+\let\thefootnotemark\footmarkform@
+\def\makefootnote@#1#2{\insert\footins
+ {\interlinepenalty\interfootnotelinepenalty
+% The original (AMSTeX) uses 8-point:
+ \ninepoint\splittopskip\ht\strutbox\splitmaxdepth\dp\strutbox
+ \floatingpenalty\@MM\leftskip\z@\rightskip\z@
+ \spaceskip\z@\xspaceskip\z@
+% This differs from the original:
+ \fitem{#1}\footstrut\ignorespaces#2\unskip\lower\dp\strutbox
+ \vbox to\dp\strutbox{}}}
+ \footmarkcount@\z@
+\def\footnotemark{%
+ \let\@sf\empty\relaxnext@\ifhmode\edef
+ \@sf{\spacefactor\the\spacefactor}\/\fi
+ \def\next@{\ifx[\next\let\next\nextii@\else
+ \ifx"\next\let\next\nextiii@\else
+ \let\next\nextiv@\fi\fi\next}% and from here
+ \def\nextii@[##1]{\footmarkform@{##1}\@sf}%
+ \def\nextiii@"##1"{{##1}\@sf}%
+ \def\nextiv@{{\scriptfont0=\sevenrm % scriptfont changed to 7pt
+ \global\advance\footmarkcount@\@ne
+ \footmarkform@{\number\footmarkcount@}\@sf}}%
+ \futurelet\next\next@}
+\def\footnotetext{\relaxnext@
+ \def\next@{\ifx[\next\let\next\nextii@\else
+ \ifx"\next\let\next\nextiii@\else
+ \let\next\nextiv@\fi\fi\next}%
+ \def\nextii@[##1]##2{\makefootnote@{%
+ \footmarkform@{##1}}{{\frenchspacing##2}}}% {\frenchspacing} added
+ \def\nextiii@"##1"##2{\makefootnote@{##1}{{\frenchspacing##2}}}%
+ \def\nextiv@##1{\makefootnote@{%
+ \footmarkform@{\number\footmarkcount@}}{{\frenchspacing}##1}}%
+ \futurelet\next\next@}
+\def\footnote{\let\@sf\empty\relaxnext@\ifhmode\edef
+ \@sf{\spacefactor\the\spacefactor}\/\fi
+ \def\next@{\ifx[\next\let\next\nextii@\else
+ \ifx"\next\let\next\nextiii@\else
+ \let\next\nextiv@\fi\fi\next}%
+ \def\nextii@[##1]##2{%
+ \footnotemark[##1]\footnotetext[##1]{{\frenchspacing##2}}}%
+ \def\nextiii@"##1"##2{%
+ \footnotemark"##1"\footnotetext"##1"{{\frenchspacing##2}}}%
+ \def\nextiv@##1{\footnotemark\footnotetext{{\frenchspacing##1}}}%
+ \futurelet\next\next@}
+\def\adjustfootnotemark#1{\advance\footmarkcount@#1\relax}
+
+\def\ref{\unskip\footnote}% Remove space from \se if necessary
+
+% Prevent footnote splitting
+
+\interfootnotelinepenalty=10000 % No splitting of footnotes
+\skip\footins=12pt plus 2pt minus 4pt
+% space added when footnote is present - taken from manmac
+
+
+% Part 6 - Macros to set all counts to zero
+
+\def\clearnotenumber{\footmarkcount@\z@} % footnote counter
+\def\clearrecno{\recno=64} % Recital counter: 65 is `A'
+\def\clearclno{\clno=0} % Clause etc counters
+\def\clearsclno{\sclno=0}
+\def\clearssclno{\ssclno=96} % 97 is `a'
+\def\clearsssclno{\sssclno=0}
+\def\clearssssclno{\ssssclno=96}
+\def\clearsssssclno{\sssssclno=96}
+\def\cleargreekno{\greekno="010A} % "010B is alpha "027C is heart
+\def\clearcardno{\cardno="027B} % "027C is heart-suit
+\def\clearexno{\exno=0} % exhibits
+\def\clearpageno{\pageno=1 \footline={\hss\tenrm\folio\hss}}
+
+\def\reset{%
+ \clearrecno
+ \clearclno
+ \clearsclno
+ \clearssclno
+ \clearsssclno
+ \clearssssclno
+ \clearsssssclno
+ \cleargreekno
+ \clearcardno
+ \clearexno
+ \clearnotenumber
+ \clearpageno
+ \clauselevel=0}
+
+
+% Part 7 - Automatic clause numbering
+
+% The #1 in \xcl etc. is the clause number
+% These macros do not increase the count regs.
+% \ignorespaces is used to excess since these macros
+% can be abused somewhat - leading to odd spaces
+% appearing in unexpected places!
+
+\def\xcl#1{\clearsclno% Set scl counter to zero
+ \dimen0=\the\parindent\parindent=0pt% store current setting
+ \ifclind \hangindent=\clindent \else\hangindent=\hclindent\fi
+ \clauselevel=1
+ \hangafter=1
+ \vskip\clskip
+ \edef\testit{#1}%
+ \ifx\testit\empty\hangafter0\noindent
+ \else
+ \leavevmode\hbox to\clindent{%
+ \ignorespaces#1\hfil}\ignorespaces
+ \fi
+ \parindent=\the\dimen0\relax
+ \ignorespaces}
+
+\def\xscl#1{\clearssclno %
+ \dimen0=\the\parindent \parindent=0pt
+ % Note the difference between next line and same in \xsscl
+ % This seems to be essential
+ \ifnum\prevgraf=0\kern-\clindent\else\vskip\sclskip\fi
+ \ifclind \hangindent=\sclindent \else\hangindent=\hsclindent\fi
+ \clauselevel=2
+ \hangafter=1
+ \edef\testit{#1}%
+ \ifx\testit\empty\hangafter0\noindent
+ \else\leavevmode\unskip\hbox to \sclindent{%
+ \hskip\clindent\ignorespaces #1\hfil}%
+ \ignorespaces
+ \fi
+ \parindent=\the\dimen0\relax
+ \unskip\ignorespaces}
+
+\def\xsscl#1{\clearsssclno % \advance\ssclno by 1
+ \dimen0=\the\parindent \parindent=0pt
+ \ifdim\hangindent>0pt \kern-\sclindent\else\vskip\ssclskip\fi
+ \ifclind \hangindent=\ssclindent \else\hangindent=\hssclindent\fi
+ \clauselevel=3
+ \hangafter=1
+ \edef\testit{#1}%
+ \ifx\testit\empty\hangafter0\noindent
+ \else
+ \leavevmode\unskip\hbox to \ssclindent{%
+ \hskip\sclindent
+ \ignorespaces #1\hfil}\ignorespaces
+ \fi
+ \parindent=\the\dimen0\relax
+ \unskip\ignorespaces}
+
+\def\xssscl#1{\clearssssclno \cleargreekno % \advance\sssclno by 1
+ \dimen0=\the\parindent \parindent=0pt
+ \ifdim\hangindent>0pt \kern-\ssclindent\else\vskip\sssclskip\fi
+ \ifclind \hangindent=\sssclindent \else\hangindent=\hsssclindent\fi
+ \clauselevel=4
+ \hangafter=1
+ \edef\testit{#1}%
+ \ifx\testit\empty\hangafter0\noindent
+ \else
+ \leavevmode\unskip\hbox to \sssclindent{%
+ \hskip\ssclindent
+ \ignorespaces #1\hfil}\ignorespaces
+ \fi
+ \parindent=\the\dimen0\relax
+ \aftergroup\ignorespaces}
+
+\def\xsssscl#1{\clearsssssclno \clearcardno
+ \dimen0=\the\parindent \parindent=0pt
+ \ifdim\hangindent>0pt \kern-\sssclindent\fi
+ \ifclind \hangindent=\ssssclindent \else\hangindent=\hssssclindent\fi
+ \clauselevel=5 % This is not used as yet
+ \hangafter=1
+ \edef\testit{#1}%
+ \ifx\testit\empty\hangafter0\noindent
+ \else
+ \leavevmode\unskip\hbox to \ssssclindent{%
+ \hskip\sssclindent
+ \ignorespaces #1\hfil}\ignorespaces
+ \fi
+ \parindent=\the\dimen0\relax
+ \aftergroup\ignorespaces}
+
+\def\xssssscl#1{% Nothing to clear!
+ \dimen0=\the\parindent \parindent=0pt
+ \ifdim\hangindent>0pt \kern-\ssssclindent\fi
+ \ifclind \hangindent=\sssssclindent
+ \else\hangindent=\hsssssclindent\fi
+ \clauselevel=6
+ \hangafter=1
+ \edef\testit{#1}%
+ \ifx\testit\empty\hangafter0\noindent
+ \else
+ \leavevmode\unskip\hbox to \sssssclindent{%
+ \hskip\ssssclindent
+ \ignorespaces #1\hfil}\ignorespaces
+ \fi
+ \parindent=\the\dimen0\relax
+ \aftergroup\ignorespaces}
+
+% The Recital macros use \xcl and \xscl
+% Recitals have the same indentation as Clauses.
+
+\def\rec{\clauselevel=0%
+ \advance\recno by1 \xcl{(\char\the\recno)}}% Letter A
+\def\srec{\clauselevel=0
+ \advance\sclno by1 \xscl{(\romannumeral\the\sclno)}}% Small Roman i
+
+% Now Clauses etc
+
+\def\normalnumbering{%
+ \def\cl{\advance\clno by1\xcl{\the\clno.}}%
+ \def\scl{\advance\sclno by1\xscl{(\the\sclno)}}%
+ \def\sscl{\advance\ssclno by1\xsscl{(\char\the\ssclno)}}%
+ \def\ssscl{\advance\sssclno by1\xssscl{%
+ (\romannumeral\the\sssclno)}}%
+ \def\sssscl{\advance\ssssclno by1 \advance\greekno by1\xsssscl{%
+ \ifgreek($\mathchar\the\greekno$)
+ \else(\char\the\ssssclno\char\the\ssssclno)\fi}}%
+ \def\ssssscl{\advance\sssssclno by1 \advance\cardno by1\xssssscl{%
+ \ifcard($\mathchar\the\cardno$)
+ \else\ifgreek(\char\the\sssssclno\char\the\sssssclno)
+ \else(\char\the\sssssclno\char\the\sssssclno
+ \char\the\sssssclno)\fi\fi}}}
+
+\def\computernumbering{%
+ \clindent=\the\cnindent
+ \sclindent=\the\cnindent
+ \ssclindent=\the\cnindent
+ \sssclindent=\the\cnindent
+ \ssssclindent=\the\cnindent
+ \sssssclindent=\the\cnindent
+ \hclindent=0pt % Indentation of clauses if clindfalse
+ \hsclindent=0pt
+ \hssclindent=0pt
+ \hsssclindent=0pt
+ \hssssclindent=0pt
+ \hsssssclindent=0pt
+ \def\clearssclno{\ssclno=0}% 97 is `a'
+ \def\clearssssclno{\ssssclno=0}%
+ \def\clearsssssclno{\sssssclno=0}%
+ \def\clearrecno{\recno=0}%
+ \def\cl{\advance\clno by1\xcl{\the\clno.}}%
+ \def\scl{\advance\sclno by1\xscl{\unskip\the\clno.\the\sclno.}}%
+ \def\sscl{\advance\ssclno by1\xsscl{%
+ \unskip\the\clno.\the\sclno.\the\ssclno.}}%
+ \def\ssscl{\advance\sssclno by1\xssscl{%
+ \unskip\the\clno.\the\sclno.\the\ssclno.\the\sssclno.}}%
+ \def\sssscl{\advance\ssssclno by1\xsssscl{%
+ \unskip\the\clno.\the\sclno.\the\ssclno.\the\sssclno\the\ssssclno.}}%
+ \def\ssssscl{\advance\sssssclno by1\xssssscl{%
+ \unskip\the\clno.\the\sclno.\the\ssclno.%
+ \the\sssclno\the\ssssclno.\the\sssssclno.}}%
+ \def\rec{\clauselevel=0%
+ \advance\recno by1 \xcl{\unskip\the\recno.}}%
+ \def\srec{\clauselevel=0
+ \advance\sclno by1 \xscl{\unskip\the\recno.\the\sclno.}}%
+ \def\hcl##1\par{\cl{\bf##1}\par\nobreak}%
+ }
+
+% The \ncl "clauses" have the same indentation - but no numbers
+
+\def\ncl{\xcl{}}
+\def\nscl{\xscl{}}
+\def\nsscl{\xsscl{}}
+\def\nssscl{\xssscl{}}
+\def\nsssscl{\xsssscl{}}
+\def\nssssscl{\xssssscl{}}
+
+\def\tcl#1{% For use with text or numbers longer than \clindent.
+ \clearsclno% Set scl counter to zero
+ \dimen0=\the\parindent\parindent=0pt% store current setting
+ \ifclind \hangindent=\clindent \else\hangindent=\hclindent\fi
+ \clauselevel=1
+ \hangafter=1
+ \vskip\clskip
+ \leavevmode\hbox{% to\clindent{%
+ \ignorespaces#1\space}\ignorespaces
+ \parindent=\the\dimen0\relax
+ \ignorespaces}
+
+% \def\tscl etc to follow
+
+
+% Part 8
+
+% The contents, index and cross-reference macros
+% First, the commands to use them
+
+\def\contents{\contentstrue \writecontents}
+\def\marginalnotes{\marginalnotestrue}
+
+% Minor definitions
+
+\def\ctstitle#1{\gdef\titlename{\vtop{#1}}}% Title used on Contents page
+\ctstitle{}% Default is nothing
+
+% Use this for sub-headings in Table of Contents
+\def\stitle#1{%
+ \xdef\next{\write\cont{\string\centerline{%
+ \string\vtop{\string#1}}\par
+ \string\nobreak\string\medskip}}\next
+ \inform{#1}}
+
+\def\contentsname{Table of Contents}% Obvious.
+
+\gdef\topofcontents{\centerline{\titlefont\titlename}
+ \bigskip\centerline{\titlefont\contentsname}
+ \vfill} % this material will start the table of contents page
+\def\botofcontents{\vfill\eject} % this material will end it
+\def\contentspagenumber{-1} % default page number for table of contents
+\def\contentsreadfile{\jobname.cts} % file that gets table of contents info
+\def\contentswritefile{\jobname.cts} % file that takes it
+\def\writecontents{\inform{Opening contents file: }
+ \openout\cont=\contentswritefile}
+\def\readcontents{\input \contentsreadfile}
+\def\leaderfill{\leaders\hbox to .75em{\hss.\hss}\hfil}
+\def\clname{Clause}
+\def\xreffile{\jobname.xrf}
+\def\raggedleft{\leftskip=0pt plus 4em% see tb p101
+ \spaceskip=.3333em \xspaceskip=.5em } % Can be used in mnote
+\def\bigpenalty{\penalty10000\ }
+\def\xrfwarn#1{%
+ \xrfmissingtrue
+ \warn{This cross-reference (#1) does not exist.}
+ \inform{Re-run TeX on the file.}
+ }
+
+% Now the contents macros themselves.
+
+\def\printcontents{% Print the contents
+ \write\cont{}% ensure that the contents file isn't empty
+ \immediate\closeout\cont% contents information has been fully gathered
+ \pageno=\contentspagenumber
+ \inform{Table of contents: }%
+ \topofcontents
+ \line{\hfill Page}%
+ \medskip
+ \advance\baselineskip by0pt plus1pt minus0pt % add some give
+ \readcontents\relax % read the contents info
+ \botofcontents }% print the contents page(s), don't terminate
+
+% TUGboat 1987/3/310 + tb p 423
+
+\let\hat=\^ % Is this necessary?
+
+% Note that the order of the lines in \specialhat is critical
+
+\def\specialhat{\ifmmode\def\next{^}
+ \else\let\next=\checkit\fi\next}
+\def\checkit{\futurelet\next\testdoublehat}
+\def\testdoublehat{\ifx\next\specialhat\let\next=\silentnote
+ \else\visibletrue\let\next=\anote\fi \next}%
+\catcode`\^=\active \let ^=\specialhat
+\def\silentnote^{\visiblefalse\anote}%
+\def\mnote#1{%
+ \strut\vadjust{%
+ \kern-\dp\strutbox
+ \vtop to \dp\strutbox{%
+ \vss\baselineskip=\dp\strutbox
+% \moveleft\notespace
+ \moveright\notespace\rightline{%
+ \rlap{%
+ \hbox{%
+ \ninebase=12pt \ninepoint
+ \vbox to \ht\strutbox{%
+ \hsize\maxnote \raggedright
+ \tolerance=1000
+ \leftskip=0pt
+ \rightskip=0pt plus.6\maxnote
+ \noindent\bf\strut#1% \strut
+ \vss
+ }% end of \vbox to \ht\strutbox
+ }% end of \hbox
+ }% end of \rlap
+ } % end of \rightline
+ \null
+ }% end of \vtop tp \dp\strutbox
+ }% end of \vadjust
+ }% end of \mnote
+
+% Note that this now works on the basis that a space before the
+% macro is neutral, ie printed unless it follows a macro
+% and a space following the macro is ignored. Therefore no added \space
+% at the beginning of \silentnote and ignorespaces at the end of \anote
+% and possibly also of \mnote.
+
+\def\anote#1{%
+ \ifvisible\null\fi
+ \ifmarginalnotes\ignorespaces\mnote{#1}\fi
+ \ifcontents\ifcase\number\clauselevel%
+ \contentsentry{#1}% \clauselevel=0
+ \or\clcont{#1}% \clauselevel=1
+ \or\sclcont{#1}% \clauselevel=2
+ \or\ssclcont{#1}% \clauselevel=3
+ \or\sssclcont{#1}% \clauselevel=4
+ \or\inform{This (#1) will not appear in the table of contents}% =5
+ \or\inform{This (#1) will not appear in the table of contents}% =6
+ \fi\fi%
+ \ifvisible#1\else\unskip\ignorespaces\fi
+}%
+
+% Now the macros to deal with \cl etc in contents
+
+\def\clcont#1{%
+ \xdef\next{\write\cont{\string\line{%
+ \setbox0=\hbox{\clname\ \hbox to 20pt{\testit\hfil}}%
+ \global\clnamelength=\wd0\copy0#1
+ \string\leaderfill\noexpand\number\pageno}}}\next
+ \inform{\testit\space#1}}%
+
+\def\sclcont#1{%
+ \xdef\next{\write\cont{\line{\hskip\clnamelength%
+ \hbox to 25pt{\testit\hfil}#1
+ \string\leaderfill\noexpand\number\pageno}}}\next%
+ \inform{ \testit\space#1}}%
+
+\def\ssclcont#1{%
+ \xdef\next{\write\cont{\line{\hskip\clnamelength\hskip25pt%
+ \hbox to 20pt{\testit\hfil}#1
+ \string\leaderfill\noexpand\number\pageno}}}\next%
+ \inform{ [ascii \testit] #1}}
+
+\def\sssclcont#1{%
+ \xdef\next{\write\cont{\line{\hskip\clnamelength\hskip45pt%
+ \hbox to 20pt{\testit\hfil}#1
+ \string\leaderfill\noexpand\number\pageno}}}\next%
+ \inform{ (\romannumeral\the\sssclno) #1}}
+
+\def\contentsentry#1{%
+ \xdef\next{\write\cont{\line{#1
+ \string\leaderfill\noexpand\number\pageno}}}\next%
+ \inform{#1}} % Use this as eg \contentsentry{Parties}
+
+
+% These are the cross-ref macros by S v. B (adapted)
+
+% First, do we have xrefs?
+
+\def\checkoldxrf{%
+ \ifoldxrffile\let\next\relax\else\let\next\getxrefs\fi\next}
+
+\gdef\getxrefs{%
+ \null\global\oldxrffiletrue\inform{Opening xrf file }%
+ \immediate\openin\xrf=\xreffile\relax
+ \ifeof\xrf
+ \xrfmissingtrue
+ \inform{}%
+ \inform{WARNING: \xreffile\space is empty, or does not exist.}%
+ \inform{Re-run TeX on the file.}%
+ \inform{}%
+ \else\xrefstrue\fi
+ \immediate\closein\xrf\relax
+ \ifxrefs\input\xreffile\relax\fi
+ \immediate\openout\xrf=\xreffile\relax
+ }
+
+\def\newxref #1#2#3#4#5#6{%
+ \expandafter\gdef\csname CLREF-#1\endcsname{#2%
+ \inform{ (Cross-reference to #2)}}%
+ \expandafter\gdef\csname PAGEREF-#1\endcsname{#6%
+ \inform{ (Cross-reference to #6)}}%
+ \expandafter\gdef\csname NOTEREF-#1\endcsname{#3%
+ \inform{ (Cross-reference to #3)}}%
+ \expandafter\gdef\csname SCHEDREF-#1\endcsname{#4%
+ \inform{ (Cross-reference to #4)}}%
+ \expandafter\gdef\csname APPREF-#1\endcsname{#5%
+ \inform{ (Cross-reference to #5)}}%
+ }
+
+\def\clref#1{%
+ \checkoldxrf
+ \expandafter
+ \ifx\csname CLREF-#1\endcsname\relax\xrfwarn{#1}\unskip[Clause ???]\fi
+ \csname CLREF-#1\endcsname
+ }
+
+\def\pararef#1{%
+ \begingroup
+ \def\clause{Paragraph}%
+ \def\subclause{sub-paragraph}%
+ \def\paragraph{sub-sub-paragraph}%
+ \def\subparagraph{sub-sub-sub-paragraph}%
+ \clref{#1}%
+ \endgroup
+ }
+
+\def\pageref #1{%
+ \checkoldxrf
+ \ignorespaces
+ \expandafter
+ \ifx\csname PAGEREF-#1\endcsname\relax\xrfwarn{#1}\unskip[Page ???]\fi
+ \csname PAGEREF-#1\endcsname
+ }
+
+\def\noteref #1{%
+ \checkoldxrf
+ \ignorespaces
+ \expandafter
+ \ifx\csname NOTEREF-#1\endcsname\relax\xrfwarn{#1}\unskip[Footnote ???]\fi
+ \csname NOTEREF-#1\endcsname
+ }
+
+\def\schedref #1{%
+ \checkaux
+ \checkoldxrf
+ \ignorespaces
+ \ifmanyscheds
+ \expandafter
+ \ifx\csname SCHEDREF-#1\endcsname\relax\xrfwarn{#1}\unskip[Schedule ???]\fi
+ \csname SCHEDREF-#1\endcsname
+ \else\xrfwarn{#1} the Schedule %
+ \fi
+ }
+
+\def\appref #1{%
+ \checkauxref
+ \checkoldxrf
+ \ignorespaces
+ \ifmanyappends
+ \expandafter
+ \ifx\csname APPREF-#1\endcsname\relax\xrfwarn{#1}\unskip[Appendix ???]\fi
+ \csname APPREF-#1\endcsname
+ \else\xrfwarn{#1} the Appendix %
+ \fi
+ }
+
+\def\xrfwarn#1{%
+ \xrfmissingtrue
+ \warn{This cross-reference (#1) does not exist.}%
+ \inform{Re-run TeX on the file.}%
+ }
+
+\def\writexref{\write\xrf}
+\def\nsnbps{\noexpand\string\noexpand\bigpenalty\space}% shorthand
+\def\nsn{\noexpand\string\noexpand}
+
+\def\clause{Clause}
+\def\subclause{sub-clause}
+\def\paragraph{paragraph}
+\def\subparagraph{sub-paragraph}
+
+\def\xref#1{%
+ \checkoldxrf
+ \ignorespaces
+ \xdef\fct{\the\footmarkcount@}%
+ \xdef\schct{\fullnumbers{\the\schedcount}}%
+ \xdef\appct{\fullnumbers{\the\appendixcount}}%
+ \edef\xreftemp{%
+ \nsn\ignorespaces%
+ \nsn\newxref%
+ {#1}% becomes Parameter 1 to \newxref
+ {\ifcase\number\clauselevel%
+ \or \nsn\clause\nsnbps\the\clno%
+ \or \nsn\subclause\nsnbps(\the\sclno)%
+ \or \nsn\paragraph\nsnbps(\char\the\ssclno)%
+ \or \nsn\subparagraph\nsnbps(\romannumeral\the\sssclno)%
+ \fi}% becomes Parameter 2 to \newxref
+ {Footnote\nsnbps\fct}% becomes Parameter 3 to \newxref
+ {the \schct\nsnbps Schedule}% becomes Parameter 4 to \newxref
+ {the \appct\nsnbps Appendix}% becomes Parameter 5 to \newxref
+ }% End of \xreftemp
+ \expandafter\expandafter\expandafter%
+ \writexref\expandafter{%
+ \xreftemp{%
+ Page\noexpand\bigpenalty\the\pageno\noexpand\ignorespaces}% Param 6 to \newxref
+ \string\unskip}%
+ \unskip\ignorespaces}% Final unskip now unnec.
+
+% Gulp
+
+
+% Part 9 - Miscellaneous macros start here:
+
+\def\hangit{\hangindent\clindent}
+
+\def\per{\ca per\se}
+
+\def\ruledtable{% Get TeXsis macros
+ \input txsruled\relax
+ \ruledtable}
+
+\def\nofancystuff{% Get rid of fancy fonts, disliked by \write's
+ \def\xo{}\def\xxo{}\def\xxxo{}%
+ \def\ul{}\def\uul{}\def\uuul{}%
+ \def\setamendcount##1{}%
+ \def\ignorespaces{}%
+ \def\bigpenalty{ }}
+
+\def\inform#1{{\nofancystuff\immediate\write16{#1}}}
+\def\warn#1{{\nofancystuff\immediate\write16{}\immediate\write16{WARNING: #1}
+ \immediate\write16{}}}
+
+% Manmac macros for verbatim scanning
+\chardef\other=12
+\def\ttverbatim{\begingroup
+ \catcode`\\=\other
+ \catcode`\{=\other
+ \catcode`\}=\other
+ \catcode`\$=\other
+ \catcode`\&=\other
+ \catcode`\#=\other
+ \catcode`\%=\other
+ \catcode`\~=\other
+ \catcode`\_=\other
+ \catcode`\^=\other
+ \catcode`\*=\other
+ \obeyspaces \obeylines \tt}
+
+\outer\def\begintt{$$\let\par=\endgraf \ttverbatim \parskip=\z@
+ \catcode`\|=0 \rightskip-5pc \ttfinish}
+{\catcode`\|=0 |catcode`|\=\other % | is temporary escape character
+ |obeylines % end of line is active
+ |gdef|ttfinish#1^^M#2\endtt{#1|vbox{#2}|endgroup$$}}
+\catcode`\|=\active
+{\catcode`\^=7
+\obeylines \gdef|{\ttverbatim \spaceskip\ttglue \let^^M=\ \let|=\endgroup}}
+
+% macros to demarcate lines quoted from TeX source files
+\def\beginlines{\par\begingroup\nobreak\medskip\parindent\z@ \obeylines
+ \hrule\kern1pt\nobreak \everypar{\strut}}
+\def\nrbeginlines{\par\begingroup\nobreak\medskip\parindent\z@ \obeylines
+ \kern1pt\nobreak \everypar{\strut}}
+\def\endlines{\kern1pt\hrule\endgroup\medbreak\noindent}
+\def\weakendlines{\kern1pt\hrule\endgroup\medskip\noindent}
+\def\finalendlines{\kern1pt\hrule\endgroup\medbreak}
+\def\nrendlines{\kern1pt\endgroup\smallskip\noindent}
+
+\gdef\blank{\space\hglue\blankskip}%5 Oct 90
+
+\def\noaddr{\phantom{11}\blank\phantom{Rail-}\blank
+ \phantom{way}\blank\phantom{Cutt-}\blank\phantom{ings}
+ \blank\phantom{Cheam}\blank
+ \phantom{Lon-}\blank\phantom{don}\blank\phantom{SW12}
+ \blank}
+
+\gdef\noday{\phantom{31st\ }\blank}
+\gdef\nomonth{\phantom{January\ }\blank}
+\gdef\noyear{\noday\ day of %
+ \nomonth\ }
+\gdef\nodate{\noyear\number\year\penalty-150\maybespace}
+
+\def\noname{\phantom{Anthony}\blank\phantom{Aloy-}
+ \blank\phantom{nsius }\blank\phantom{Hancock}
+ \blank}
+
+\def\nopounds{\pounds\phantom{50,000}\maybespace}
+
+\gdef\initials#1{\xdef\inits{#1}}
+ \initials{}
+\def\exhibit{\advance\exno by1 ``\hbox{\ifx\inits{}
+ \else\inits\,\ignorespaces\fi\the\exno}''}
+
+\def\exhibited{produced and shown to me marked \exhibit\maybespace}
+
+\def\bundled{produced and shown to me bundled together %
+ and marked \exhibit\maybespace} % note maybespace
+
+\newif\ifversion
+\gdef\version#1{%
+ \versiontrue
+ \edef\versno{#1}
+ \footline={\llap{\fiverm\versno}\hss\tenrm\folio\hss}}
+
+% Amstex oldnos macros:
+\def\oldnos#1{\ifmmode{\mathcode`\,="013B \fam\@ne#1}\else
+ \leavevmode\hbox{$\mathcode`\,="013B \fam\@ne#1$}\fi}
+
+% minor macros from manmac
+\def\bull{\vrule height .9ex width .8ex depth -.1ex } % square bullet
+\def\|{\leavevmode\hbox{\tt\char`\|}} % vertical line
+\def\]{\leavevmode\hbox{\tt\char`\ }} % visible space
+
+\def\Filbreak{\par\vskip\bigskipamount % used in \ssd etc.
+ \vfil\penalty-200\vfilneg} % Adapted from \filbreak
+
+% \today etc
+
+\def\st{st}
+\def\nd{nd}
+\def\rd{rd}
+\def\th{th}
+
+\def\addsuffix#1{#1\ignorespaces\ifcase#1%
+ \or\st\or\nd\or\rd\or\th\or\th\or\th\or\th\or\th\or\th\or\th
+ \or\th\or\th\or\th\or\th\or\th\or\th\or\th\or\th\or\th\or\th
+ \or\st\or\nd\or\rd\or\th\or\th\or\th\or\th\or\th\or\th\or\th\or\st\fi}
+
+\def\today{%
+ \addsuffix{\number\day}%
+ \space
+ \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
+ \ifnocommaindate\space\else,\space\fi
+ \number\year}
+
+\def\longtoday{%
+ \addsuffix{\number\day}%
+ \space
+ day of\space
+ \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
+ \ifnocommaindate\space\else,\space\fi
+ \number\year}
+
+\newif\ifwrongmonth
+\newcount\feb
+
+\def\leapcheck{%
+ \count0=\number\year
+ \advance\count0 by-1900
+ \count1=\the\count0
+ \divide\count0 by4
+ \multiply\count0 by4
+ \ifnum\count0=\number\count1
+ \feb=29%
+ \else\feb=28%
+ \fi}
+
+\def\increasedays{%
+ \ifcase\month% month 0
+ \or\daysinmonth{31}% jan
+ \or\leapcheck\daysinmonth{\feb}% feb. Not a leap year
+ \or\daysinmonth{31}% mar
+ \or\daysinmonth{30}% apr
+ \or\daysinmonth{31}% may
+ \or\daysinmonth{30}% jun
+ \or\daysinmonth{31}% jul
+ \or\daysinmonth{31}% aug
+ \or\daysinmonth{30}% sep
+ \or\daysinmonth{31}% oct
+ \or\daysinmonth{30}% nov
+ \or\daysinmonth{31}% dec
+ \fi}
+
+\def\reducedays{%
+ \ifcase\month% month 0
+ \or\daysinlastmonth{31}% dec
+ \or\daysinlastmonth{31}% jan
+ \or\leapcheck\daysinlastmonth{\feb}% feb. Not a leap year
+ \or\daysinlastmonth{31}% mar
+ \or\daysinlastmonth{30}% apr
+ \or\daysinlastmonth{31}% may
+ \or\daysinlastmonth{30}% jun
+ \or\daysinlastmonth{31}% jul
+ \or\daysinlastmonth{31}% aug
+ \or\daysinlastmonth{30}% sep
+ \or\daysinlastmonth{31}% oct
+ \or\daysinlastmonth{30}% nov
+ \fi}
+
+\def\daysinmonth#1{%
+ \ifnum\day>#1 \wrongmonthtrue
+ \advance\day by-#1
+ \advance\month by1
+ \ifnum\month=13 \month=1
+ \advance\year by1
+ \fi
+ \fi}
+
+\def\daysinlastmonth#1{%
+ \ifnum\day<1 \wrongmonthtrue
+ \advance\day by#1
+ \advance\month by-1
+ \ifnum\month=0 \month=12
+ \advance\year by-1
+ \fi
+ \fi}
+
+\def\futureday#1{%
+ {\advance\day by#1
+ \loop
+ \wrongmonthfalse
+ \begingroup
+ \ifnum#1<0
+ \aftergroup\reducedays
+ \else
+ \aftergroup\increasedays
+ \fi
+ \endgroup
+ \ifwrongmonth
+ \repeat
+ \today
+ }}
+
+\def\tomorrow{%
+ \futureday{1}}
+
+\def\yesterday{%
+ \futureday{-1}}
+
+% Taken from the LaTeX extensions.sty
+\def\@dow{\count2 } % gets day of the week
+\def\@leap{\count5 } % leap year fingaler
+\def\@x{\count6 } % temp register
+\def\@y{\count7 } % another temp register
+
+
+\def\dayofweek{{%
+% leap = year + (month - 14)/12;
+ \@leap=\month \advance\@leap by -14 \divide\@leap by 12
+ \advance\@leap by \year
+% dow = (13 * (month + 10 - (month + 10)/13*12) - 1)/5
+ \@dow=\month \advance\@dow by 10
+ \@y=\@dow \divide\@y by 13 \multiply\@y by 12
+ \advance\@dow by -\@y \multiply\@dow by 13 \advance\@dow by -1 \divide\@dow by 5
+% dow += day + 77 + 5 * (leap % 100)/4
+ \advance\@dow by \day \advance\@dow by 77
+ \@x=\@leap \@y=\@x \divide\@y by 100 \multiply\@y by 100 \advance\@x by -\@y
+ \multiply\@x by 5 \divide\@x by 4 \advance\@dow by \@x
+% dow += leap / 400
+ \@x=\@leap \divide\@x by 400 \advance\@dow by \@x
+% dow -= leap / 100 * 2;
+% dow = (dow % 7)
+ \@x=\@leap \divide\@x by 100 \multiply\@x by 2 \advance\@dow by -\@x
+ \@x=\@dow \divide\@x by 7 \multiply\@x by 7 \advance\@dow by -\@x
+ \ifcase\@dow Sunday\or Monday\or Tuesday\or Wednesday\or
+ Thursday\or Friday\or Saturday\fi}}
+
+
+% The signature macros. These have been simplified & extended.
+
+\edef\lincoln{\hbox{Lincoln's Inn}}
+\def\grays{\hbox{Gray's Inn}}
+\def\temple{\hbox{\Temple}}
+\def\middletemple{\hbox{Middle Temple}}
+\def\innertemple{\hbox{Inner Temple}}
+\let\inn=\lincoln
+
+\def\signed{%
+ \par\nobreak
+ \vfill
+ \hbox{\hskip\signindent\vtop{%
+ \parindent0pt
+ \inn
+ \hbox{\today}}}
+ \vfill\vfill}
+
+\def\csettled#1{%
+ \par\nobreak
+ \vfill
+ \hbox{\hskip\signindent\vtop{%
+ \advance\hsize by-\signindent
+ \parindent0pt
+ \raggedright\tolerance=1000
+ Settled, \ignorespaces#1
+ \vskip\settledgap
+ \inn
+ \hbox{\today}}}
+ \vfill\vfill}
+
+\def\cresettled#1{% Note the \par
+ \par\nobreak
+ \vfill
+ \hbox{\hskip\signindent\vtop{%
+ \advance\hsize by-\signindent
+ \parindent0pt
+ \raggedright\tolerance=1000
+ Re-Settled, \ignorespaces#1
+ \vskip\settledgap
+ \inn
+ \hbox{\today}}}
+ \vfill\vfill}
+
+\gdef\settled{%
+ \csettled{}}
+
+\def\resettled{%
+ \cresettled{}}
+
+\def\jointsettled{%
+ \multiply\settledgap by2
+ \csettled{}}
+
+
+% Part 10
+
+% The signed sealed and delivered macros
+
+% First, adapt \cases from plain
+\def\rcases#1{\left.\vcenter{\normalbaselines\m@th
+ \ialign{$##\hfil$&\quad##\hfil\crcr#1\crcr}}\,\right\}}
+
+\def\rbracket#1{\noindent$\rcases{% Put a large bracket at R.
+ \tolerance=3000\pretolerance=3000\parskip=0pt\hfuzz=1.75pt
+ \hbadness=9999
+ \doublehyphendemerits=200
+ \finalhyphendemerits=200
+ \adjdemerits=200
+ \vbox{\hsize=\rbracketsize{#1}}}$}
+
+\def\lbracket#1{\noindent $\cases{% Put a large bracket at L.
+ \tolerance=2000\pretolerance=2000\parskip=0pt\hfuzz=1.75pt
+ \hbadness=9999
+ \doublehyphendemerits=500
+ \finalhyphendemerits=200
+ \adjdemerits=200
+ \vbox{\hsize=\lbracketsize{#1}}}$}
+
+\def\ssgen#1{\clauselevel=0%
+ {\raggedright\rbracket{% As \rbracket, but space below text
+ #1\hfil\break\vtop to\brackdepth{}}}}
+
+% Text for use in contents macros
+\def\attestationtext{Attestation}
+\def\electiontext{Fiscal Election}
+\def\testimoniumtext{Testimonium}
+\def\stampdutytext{Stamp Duty Certificate}
+
+
+\def\ssd#1{%
+ \clauselevel=0%
+ \ifnum\ssdcount>0\Filbreak
+ \else
+ \par\nobreak\bigskip\bigskip^^{\attestationtext}%
+ \fi
+ \advance\ssdcount by1
+ \ssgen{\hbox{SIGNED AS A DEED} by %
+ #1 in the presence of---}%
+ \par}
+
+\def\ssc#1{%
+ \clauselevel=0%
+ \ifnum\ssdcount>0\Filbreak
+ \else
+ \par\nobreak\bigskip\bigskip^^{\attestationtext}%
+ \fi
+ \advance\ssdcount by1
+ \ssgen{\hbox{THE COMMON SEAL of }%
+ #1 was affixed hereunto in the presence of---}%
+ \par}
+
+\def\ssw#1{%
+ \par\nobreak\bigskip\bigskip^^{\attestationtext}%
+ \ssgen{\brackdepth=1in SIGNED by #1 %
+ the Testator as and for his last Will
+ and Testament in our presence and by us in his---}%
+ \par}
+%
+\def\witness{%
+ \par\clauselevel=0
+ \nobreak\vbox{\bigskip IN WITNESS whereof the parties hereto have signed
+ this instrument as a deed in the presence of the persons mentioned
+ below}^^{\testimoniumtext}%
+ \par}
+
+\def\singlewitness{%
+ \par\clauselevel=0
+ \nobreak
+ \vbox{\bigskip IN WITNESS whereof this instrument has been signed as
+ a deed in the presence of the person mentioned
+ below}^^{\testimoniumtext}%
+ \par}
+
+\def\sworn{%
+ \clauselevel=0^^{\attestationtext}%
+ \par\nobreak\vskip3\clskip
+ \vtop{\rbracket{%
+ SWORN at\hfil\break
+ \vtop to\normalbaselineskip{}\hfil\break
+ in the County of\hfil\break
+ this \nodate\break
+ before me---\hfil\break
+ \vtop to\brackdepth{}\hfil\break
+ \hbox{A Solicitor empowered to take Oaths}\hfil}\par}}
+
+\def\whereas{\medskip\clauselevel=0 WHEREAS---}
+\def\now{\medbreak\clauselevel=0 NOW THIS DEED WITNESSETH as follows---}
+\def\wwhereas{\medskip\clauselevel=0 WHEREAS }
+\def\nnow{\medbreak\clauselevel=0 NOW THIS DEED WITNESSETH }
+
+\def\witnessetc{\clauselevel=0 \par
+ \nobreak\vbox{\bigskip IN WITNESS, \etc^^{\testimoniumtext}}
+ }
+
+\def\swornetc{\clauselevel=0 \par
+ \nobreak\vbox{\bigskip SWORN, \etc^^{\testimoniumtext}}
+ }
+
+\def\election{\par\cl^^{\electiontext}%
+ \unskip\ignorespaces
+ The parties hereto hereby elect %
+ that the provisions of Section~49~(6) of the %
+ Capital Gains Tax Act~1979 %
+ and Section~142~(1) of the Inheritance Tax Act~1984 %
+ shall apply to the variation hereby made\par}
+
+\def\sdcert#1{\par
+ \cl^^{\stampdutytext}It is hereby certified %
+ that this instrument %
+ falls within category #1 in the Schedule to the %
+ Stamp Duty (Exempt Instruments) Regulations~1987\par}
+
+\def\dovcert{\sdcert{L}}
+\def\giftcert{\sdcert{M}}
+
+% Somewhat complicated macros to produce automatically
+% numbered Schedules and Appendixes
+
+\newcount\appendixcount
+\gdef\appendix{%
+ \checkaux
+ \ifnum\appendixcount=1
+ \write\aux{\noexpand\manyappendstrue}%
+ \fi
+ \clauselevel=0
+ \clearclno
+ \ifnum\appendixcount>0
+ \bigbreak
+ \else
+ \par\nobreak\bigskip
+ \fi
+ \advance\appendixcount by1
+ \ifmanyappends
+ \centerline{^{THE \ucfullnumbers{\the\appendixcount}
+ \unskip\space APPENDIX}}
+ \else
+ \centerline{^{THE APPENDIX}}
+ \fi
+ \nobreak
+ \smallskip}
+
+\gdef\schedule{%
+ \checkaux
+ \ifnum\schedcount=2
+ \write\aux{\string\manyschedstrue}%
+ \fi
+ \clauselevel=0
+ \clearclno
+ \ifnum\schedcount>0
+ \bigbreak
+ \else
+ \par\nobreak\bigskip
+ \fi
+ \advance\schedcount by1
+ \ifmanyscheds
+ \centerline{^{THE \ucfullnumbers{\the\schedcount}
+ \unskip\space SCHEDULE}}
+ \else
+ \centerline{^{THE SCHEDULE}}
+ \fi
+ \nobreak
+ \smallskip}
+
+\def\fullnumbers#1{%
+ \ifcase#1% = zeroth
+ \or First%
+ \or Second%
+ \or Third%
+ \or Fourth%
+ \or Fifth%
+ \or Sixth%
+ \or Seventh%
+ \or Eighth%
+ \or Ninth%
+ \or Tenth%
+ \else \blank
+ \fi}
+
+ \def\ucfullnumbers#1{%
+ \expandafter\expandafter\expandafter\uppercase%
+ \expandafter{\fullnumbers{#1}}
+ }
+
+\newif\ifmanyappends
+\newif\ifmanyscheds
+\newif\ifauxmissing
+\newif\ifauxfile
+\newif\ifaux
+
+\def\auxfile{\jobname.aux}
+
+\newread\aux
+\newwrite\aux
+
+\def\checkaux{%
+ \ifauxfile\let\next\relax\else\let\next\getaux\fi\next}
+
+\gdef\getaux{%
+ \null\global\auxfiletrue\inform{Opening aux file }%
+ \immediate\openin\aux=\auxfile\relax%
+ \ifeof\aux%
+ \auxmissingtrue%
+ \inform{}%
+ \inform{WARNING: \auxfile\space is empty, or does not exist.}%
+ \inform{It may be necessary to re-run TeX on the file.}%
+ \inform{}%
+ \else\auxtrue
+ \fi%
+ \immediate\closein\aux\relax%
+ \ifaux\input\auxfile\relax\fi%
+ \immediate\openout\aux=\auxfile\relax%
+ }
+
+\def\part#1{% note no \par
+ \ifnum\partcount>0\filbreak\else
+ \par\nobreak\bigskip\fi
+ \advance\partcount by1
+ \centerline{^{Part #1}}\smallskip\nobreak}
+
+\def\centertext#1{{\skip0=0pt plus.25\hsize
+ \advance \leftskip by \skip0 \advance \rightskip by \skip0
+ \parfillskip=0pt \spaceskip=.3333em \xspaceskip=.5em
+ \pretolerance=9999 \tolerance=9999
+ \hyphenpenalty=9999 \exhyphenpenalty=9999 #1\par}}
+
+\def\maybespace{%
+ \futurelet\next\testforother}
+
+\def\testforother{% \noexpand is required to avoid \ref being expanded
+ \if\noexpand\next[\let\next=\space % if [ add space
+ \else\if\noexpand\next(\let\next=\space % if ( add space
+ \else\ifcat\noexpand\next.\let\next=\empty % if . no space
+%\else\ifcat\noexpand\next\noexpand\\next=\empty % if \ no space
+% Don't use. It could cause problems if \space followed \ok or \se
+% It is not required for \ref
+ \else\let\next=\space
+%\fi % relates to \ifcat\\
+ \fi\fi\fi\next}% Note that \ref still generates a space-then eats it
+
+\def\ca{%
+ \begingroup\it\frenchspacing % This deals with, eg. Ltd. and v.
+ }
+\def\v{\unskip\/\ {\rm v}\maybespace}% taken out of \ca
+\def\se{\unskip\/\endgroup\maybespace}% mod aftergroup
+
+\def\bo{\def\on{\unskip\/\ {\rm on }}\begingroup\sl\frenchspacing}
+\def\ok{\unskip\/\endgroup\maybespace}
+
+% U.C. hyphens
+\def\uc-{\discretionary{\raise.25ex\hbox{-}}{}{\raise.25ex\hbox{-}}}
+\def\duc-{\discretionary{\raise.25ex\hbox{-}}{}{}}
+
+% Quotation macros
+\def\beginquote{\vskip\the\parskip \vskip-\quoteparskip
+ \begingroup\tenpoint
+ \parskip=\quoteparskip \parindent=\quoteparindent
+ \clskip=\smallskipamount
+ \advance\leftskip by \quoteindent \relax
+ \par\ifq\leavevmode\llap{``}\fi
+ \prevgraf=1
+ \DeleteOptionalSpacesandPars{\noindent\ignorespaces}}
+
+\def\endquote{\ignorespaces\ifq\rlap{''}\fi\par\endgroup}
+\def\beginsclquote{\beginquote\advance\leftskip by-\clindent}
+\def\beginssclquote{\beginquote\advance\leftskip by-\sclindent}
+\def\beginsssclquote{\beginquote\advance\leftskip by-\ssclindent}
+
+\newcount\quoteparacount \quoteparacount=0
+
+\long\def\OldQuotes#1\par{%
+ \advance\quoteparacount by1%
+ {\setbox0=\hbox{``}%
+ \setbox1=\vbox{%
+ \storeparindent=\the\parindent
+ \ifnum\quoteparacount=1 \parindent=0pt\fi
+ \advance\hsize by -1.5\wd0%
+ \advance\hsize-\the\leftskip
+ \leftskip=0pt%
+ \leavevmode
+ \llap{\hbox to 1.5\wd0{%
+ \strut``\hfill}}\unskip#1\unskip\nobreak
+ \parindent=\the\storeparindent}%
+ \vfuzz=10pt % suppress overfull warnings
+ \splittopskip=0pt % no skip at top of bix 1
+ \count1=0 % initialise line count
+ \par\noindent % start new paragraph
+ \def\rebox{%
+ \advance\count1 by1
+ \ifnum\count1=1\hbox to1.5\wd0{\strut\hfill}\else
+ \ifnum\count1>1\hbox to1.5\wd0{\strut``\hfill}\fi\fi
+ \nobreak
+ \setbox2=\vsplit 1 to6.1pt
+ \vbox{\unvbox2\unskip}%
+ \hskip 0pt plus 0pt\relax}%
+ \loop
+ \rebox % do one line at a time
+ \ifdim \ht1>0pt % test if more lines
+ \repeat
+ \par}}
+
+\def\EndOldQuotes{\unskip\nobreak\hbox to 1.5\wd0{\hfill\strut''}}
+
+\newif\ifosq
+\def\newquotes{\osqfalse}
+\def\oldquotes{\osqtrue \begindoublequotes}
+
+% Set " to produce `` and '' and for use in \oldquotes
+\catcode`\"=\active% Make " an active character
+
+\gdef\begindoublequotes{%% \begindoublequotes enables "
+ \global\catcode`\"=\active% Make " an active character
+ \global\chardef\dq=`\"% Double-quote char. via \dq
+ \global\let\dblqu@te=L% Always start with a left double-quote
+ }% End of macro
+\let\xxx=\spacefactor% Save the \spacefactor
+\let\dblqu@te=L%
+\gdef"{%
+ \ifinner\else\ifvmode\let\dblqu@te=L\fi\fi
+ \if L\dblqu@te\ifosq\OldQuotes\else``\fi\global\let\dblqu@te=R%
+ \else
+ \let\xxx=\spacefactor% Save the \spacefactor
+ \ifosq\EndOldQuotes\else''\fi\global\let\dblqu@te=L%% Insert '' and reset \dblqu@te
+ \spacefactor\xxx% Reset the \spacefactor
+ \fi% End of \if L\dblqu@te...
+ }% End of " macro
+
+\gdef\enddoublequotes{%
+ \catcode`\"=12%Set " back to other
+ }
+
+% Spacing
+\def\,{\hskip.2em\relax}
+
+% top-lap and bottom-lap - previous name of \tlap was \vlap
+\def\tlap#1{\vbox to 0pt{\vss#1}} % toplap - 14.12.88
+\def\blap#1{\vtop to 0pt{\vss#1}} % bottomlap - 14.12.88
+
+\def\frac#1/#2{\leavevmode\kern.1em
+ \raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em
+ /\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}}
+
+\def\vfrac#1/#2{\leavevmode$#1\over#2$\space}
+
+% Whether these are miscellaneous is a moot point
+% However, here is as good a place as any
+
+\def\ifsinglepage{% This pair of macros needs amneding
+ \edef\tempfootline{\the\footline}%
+ \ifnum\pageno=1
+ \ifnum\vbadness>9999
+ \footline=\expandafter{\temptfootline}%
+ \else\nopagenumbers\inform{No pagenumbers}\fi\fi}%
+ \def\numberpages{\def\singlepage{}}
+
+\def\printsp{%
+ \ifsinglepage
+ \vfill\supereject
+ \backmatter\supereject
+ \fi} % should it go here?
+
+\outer\def\bye{\par
+ \signoff % This is the signature
+ \vfil\supereject
+ \backmatter\supereject
+ \ifcontents
+ \printcontents\contentsfalse\vfill\supereject
+ \fi
+ \ifxrefs
+ \immediate\write\xrf{\noexpand\unskip}% check. Have all writes been written?
+ \immediate\closeout\xrf
+ \fi
+ \ifxrfmissing
+ \warn{\xreffile\space is missing or incomplete.}%
+ \inform{Run TeX on the file again.}%
+ \fi
+ \ifaux
+ \immediate\write\aux{\noexpand\relax}% check. Have all writes been written?
+ \immediate\closeout\aux
+ \fi
+ \ifauxmissing
+ \warn{\auxfile\space is missing or incomplete.}%
+ \inform{Run TeX on the file again.}%
+ \fi
+ \supereject
+ \iffax\printfaxsheet\fi
+ \ifchit\chit\fi
+ \end}
+
+% A fudged bit here to prevent multiple backsheets
+% and additional pages containing rubbish.
+% Will be corrected in next release
+
+\newif\iflpwbs % if last page was backsheet...
+
+\def\enddoc{\par
+ \edef\tempfootline{\the\footline}%
+ \iflpwbs\else\signoff\fi % signature/settled
+ \vfill\supereject
+ \iflpwbs\let\backmatter\empty\fi
+ \ifnum\totalpages>1
+ \backmatter\supereject\lpwbstrue
+ \fi% No backsheet unless text!
+ \footline=\expandafter{\tempfootline}%
+ \ifcontents\printcontents\contentsfalse\fi
+ \ifxrefs\immediate\write\xrf{\string\unskip}
+ \fi
+ \ifxrfmissing
+ \inform{}%
+ \inform{WARNING: \xreffile\space is missing or incomplete.}%
+ \inform{}%
+ \inform{Run TeX on the file again.}%
+ \inform{}%
+ \fi
+ \ifaux\immediate\write\aux{\string\unskip}%
+ \fi
+ \ifauxmissing % is this necessary?
+ \inform{}%
+ \inform{WARNING: \auxfile\space is missing or incomplete.}%
+ \inform{}%
+ \inform{Run TeX on the file again.}%
+ \inform{}%
+ \fi
+ \reset
+ }
+
+\def\counsel#1{\edef\counselname{#1}}
+
+\def\formalcounselname{Mr.~\counselname}
+
+\def\signature{\par\nobreak\vskip\the\clskip
+ \hskip\signindent\ifx\counselname\undefined{[{\it Counsel's Name\/}]}%
+ \else\counselname\fi
+ \medskip}
+
+% Other misc macros---
+\def\etc{{\it \&c\/}.}
+
+\newdimen\surround \surround=5pt
+\def\Boxit#1#2{\vbox{\hrule\hbox{\vrule\kern#1
+ \vbox{\kern#1#2\kern#1}\kern#1\vrule}\hrule}}
+
+
+% Part 11 - backsheet macros
+
+% Miscellaneous
+
+\def\upperc#1{% This enable the first line to be UC
+ \ifucfirstline\uppercase{#1} \gdef\upperc##1{##1}\else{#1}\fi}
+
+\def\shift{% Full size or half size backsheets
+ \iffullsize\null\else{\hskip1in\hskip.5\hsize}\fi}
+% The 1in \hskip in the previous line = the margin of the half size page
+
+\def\xcenterline#1{\line{\shift\hss#1\hss}}
+\def\centervers#1{\line{\llap{\fiverm\version}\shift\hss#1\hss}}
+
+% Macros to extract names from files
+
+\def\sols{} % Prevents error messages if undefined
+\def\solname{} % ditto
+\def\sname#1/#2\par{#1} % Used to extract solname from cref
+
+\def\z:#1:#2\par{%
+ \def\anyname{#1}\ifx\solname\anyname
+ \afterassignment\endinput\def\sols{#2}\fi}
+
+\gdef\getaddress{%
+ \ifx\cref\empty
+ \edef\solname{not given, and so}
+ \else
+ \edef\solname{\expandafter\sname\cref/\par}%
+ \fi
+ \ifx\sols\empty
+ \ifx\cref\empty\else\input\addressfile\relax\fi
+ \fi
+ \ifx\sols\empty
+ \warn{Reference \solname\space not found in file "\addressfile"}%
+ \fi}
+
+% Set up the parameters
+
+\def\bsparams{%
+ \tolerance=7500
+ \doublehyphendemerits=0
+ \finalhyphendemerits=10000
+ \hyphenpenalty=100
+ \parindent=0pt
+ \normalbottom
+ \pageno=0
+ \nopagenumbers
+ \advance\vsize\bstopincrease \advance\vsize\bsbotincrease
+ \advance\voffset-\bstopincrease
+ \def\addressfile{solicitors}% name of input file
+ \twelvebase=12pt\twelvepoint
+ \inform{Backsheet for \ifdraft draft \fi\doctype}%
+ }
+
+% Backsheets for Opinions
+\def\bsop{%
+ \getworkdone
+ \getbstitlewidth
+ \begingroup
+ \capacitytrue
+ \bsparams
+ \ifpleading% try adding \gettitle here and pleadingtrue elsewhere
+ \else\xcenterline{{\sl\today}}\vfil\fi
+ \xcenterline{\vtop{\openup2\jot
+ \halign{\hfil\vtop{\hsize=\bstitlewidth
+ \clindent=0pt % I am not sure why this is required. But it is.
+ \centertext{##}}\hfil\cr
+ \title\crcr}}}%
+ \vfil
+ \headerfont
+ \xcenterline{%
+ \setbox0\hbox{\doctype}%
+ \ifdim \wd0<\bstitlewidth\copy0
+ \else\vtop{\hsize=\bstitlewidth\centertext{\doctype}}\fi}%
+ \rm
+ \vfil\vfil
+ \getaddress
+ \halign{\def\temp{##}\xcenterline{\upperc{\temp}}\inform{::\temp::}\cr
+ \sols\crcr}%
+ \smallskip
+ \xcenterline{\eightrm Solicitors' Reference: \sref}%
+ \xcenterline{{\eightrm Counsel's Reference: \col/\cref}}%
+ \supereject
+ \endgroup}
+
+% Not yet working
+\def\bscopyop{%
+ \getworkdone
+ \getbstitlewidth
+ \begingroup
+ \capacitytrue
+ \bsparams
+ \ifpleading% try adding \gettitle here and pleadingtrue elsewhere
+ \else\xcenterline{{\sl\today}}\vfil\fi
+ \xcenterline{\vtop{\openup2\jot
+ \halign{\hfil\vtop{\hsize=\bstitlewidth
+ \clindent=0pt % I am not sure why this is required. But it is.
+ \centertext{##}}\hfil\cr
+ \title\crcr}}}%
+\vfil
+ \headerfont
+ \xcenterline{%
+ \setbox0\hbox{\doctype}%
+ \ifdim \wd0<\bstitlewidth\vtop{%
+ \hbox{\llap{\scaps[copy]}\phantom{\doctype}\strut}%
+ \hbox{\doctype}}
+ \else
+ \vtop{\hsize=\bstitlewidth
+ \centertext{\llap{\scaps[copy]}\break\doctype}}%
+ \fi}%
+ \rm
+ \vfil\vfil
+ \getaddress
+ \halign{\def\temp{##}\xcenterline{\upperc{\temp}}%
+ \inform{::\temp::}\cr
+ \sols\crcr}%
+ \smallskip
+ \xcenterline{\eightrm Solicitors' Reference: \sref}%
+ \xcenterline{{\eightrm Counsel's Reference: \col/\cref}}%
+ \supereject
+ \endgroup}
+
+\let\doextras\empty
+
+\def\bsdft{%
+ \doextras
+ \getworkdone
+ \getbstitlewidth
+ \begingroup
+ \capacitytrue
+ \bsparams
+\ifendorsement\bsendorsement\global\endorsementfalse\fi
+ \ifpleading\null
+ \else\xcenterline{\underbar{DATED\hskip2in \number\year}}%
+ \bigskip
+ \vfil\fi
+ \xcenterline{\vtop{\openup2\jot
+ \halign{\hfil\vtop{\hsize=\bstitlewidth
+ \clindent=0pt % I am not sure why this is required. But it is.
+ \centertext{##}}\hfil\cr% Are the hfils nec?
+ \title\crcr}}}%
+ \vfil
+ \tabskip=0pt
+ \headerfont
+ \xcenterline{\vtop{\openup2\jot
+ \halign{\hfil##\hfil\cr
+ \ifdraft \llap{\it draft/}\hfill\fi\cr
+ \noalign{\smallskip}%
+ \setbox0\hbox{\doctype}%
+ \ifdim \wd0<\bstitlewidth\copy0
+ \else\vtop{\hsize=\bstitlewidth\centertext{\doctype}}\fi\crcr}}}%
+ \rm
+ \smallskip
+ \vfil\vfil
+ \getaddress
+ \halign{\def\temp{##}\xcenterline{\temp}\inform{::\temp::}\cr
+ \ifx\sols\empty\else\sols\fi\crcr}%
+ \smallskip
+ \ifx\sref\empty
+ \else\xcenterline{{\eightrm Solicitors' Reference: \sref}}\fi
+ \ifx\cref\empty
+ \else\xcenterline{{\eightrm Counsel's Reference: \col/\cref}}\fi
+ \ifversion\leftline{\llap{\fiverm\versno}}\fi
+ \supereject
+ \endgroup
+%\global\maxp@rtywidth=\the\maxpartywidth
+\resetpleadingdefaults}
+
+
+% Fee Chits
+
+% Chit user macros
+
+\def\solsref#1{\def\sref{#1}}
+\def\colsref#1{\def\cref{#1}}
+\def\timetaken#1{\def\timespent{#1}}
+\def\casetype#1{\def\typeofcase{#1}}
+\def\value#1{\def\amountatstake{#1}}
+\def\difficulty#1{\def\howhard{#1}}
+\def\proposedfee#1{\def\suggestedfee{#1}}
+\def\legalaidno#1{\def\legalaid{#1}}
+\def\comments#1{\def\remarks{#1}}
+
+% Now the chit macros themselves
+\def\chit{%
+ \begingroup
+ \parindent=0pt
+ \inform{Fee Chit}%
+ \pageno=1
+ \nopagenumbers
+ \def\\{ }
+\maxp@rtywidth=.5\hsize
+ \ifpleading\def\title{\chittitle\hfil}\fi
+ \def\cr{\par}\def\noalign{}%
+ \tenbase=12.5pt \tenpoint
+\def\scriptsize{\let\rm\eightrm}%
+ \def\chittext{%
+ \parskip=0pt
+ \raggedright \tolerance=10000
+\hbadness=10000
+ \uchyph=0
+ {\bf Date:} \today\quad {\bf cref:} \col/\cref\par
+ {\bf sref:} \sref\par
+ {\bf Title:} {\def\hfill{}\frenchspacing\title\strut}\par
+ {\bf Legal Aid No:} \legalaid\par
+ {\bf Work Done:} \workdone.\par
+ {\bf Time Spent:} \ifx\timespent\empty\else\timespent\ hours\fi\par
+ {\bf Value:} \pounds\amountatstake\par
+ {\bf Difficulty:} \howhard\par
+ {\bf Type of Case:} \typeofcase\par
+ {\bf Suggested Fee:} \pounds\suggestedfee\par
+ {\bf Filename:} {\tt\jobname}\par
+ {\bf Remarks:} \remarks\par
+ }% end of chittext
+ %
+ \leftline{{\it Clerk's Copy}\hfil}
+ \chittext
+ \vskip1in
+ \leftline{{\it Counsel's Copy}\hfil}
+ \chittext
+ \vfil
+ \supereject
+ \endgroup}
+
+\gdef\getworkdone{%
+ {\nofancystuff
+ \tempwd=\expandafter{\workdone}%
+ \def\temppunct{\expandafter\if\the\tempwd\empty\else, \fi}%
+ \xdef\workdone{\the\tempwd\temppunct
+ \ifx\signoff\settled\ draft \fi\doctype
+ \ifversion\space(\versno)\fi}}}
+
+
+% Part 12---Advisory and non-litigious drafting
+
+% The TUG macros (taken from tugboat.sty) which delete spaces etc
+\def\if@baseis@next{\ifx\@basetoken\@nexttoken}
+
+\long\def\@checknexttoken #1#2#3{%
+ \futurelet\@basetoken\iffalse#1\fi
+ \long\def\@next{%
+ \if@baseis@next
+ \long\def\@@next{#2}%
+ \else\long\def\@@next{#3}\fi
+ \@@next}%
+ \futurelet\@nexttoken\@next}
+
+% execute #2 after ignoring (possibly) one occurrence of #1
+\long\def\@ignoreone#1#2{%
+ \def\@ignoreform#1{#2}%
+ \@checknexttoken{#1}{\@ignoreform}{#2}%
+ }
+
+% execute #2 after ignoring all occurrences of #1
+\long\def\@ignoreall#1#2{%
+ \def\@ignoreform#1{\@ignoretest}%
+ \def\@ignoretest{\@checknexttoken{#1}{\@ignoreform}{#2}}%
+ \@ignoretest
+ }
+
+% execute #1 after ignoring spaces
+\def\DeleteOptionalSpaces#1{%
+ \@ignoreall{ }{#1}%
+ }
+
+% execute #1 after ignoring spaces and \pars
+\def\DeleteOptionalSpacesandPars#1{%
+ \@ignoreall{ }{\@ignoreall{\par}{#1}}%
+ }
+
+% Checking and reading options.
+% To check for the next optional argument, the macros must look
+% ahead to the next character. If the next character is a `[',
+% the option-reading mechanism is invoked. This check may be suppressed if
+% the user has executed the \lastoption option. If \@lastoption is
+% "true" or if the [ is NOT next, the macro goes on to reading any
+% arguments and executing appropriately.
+
+\def\@checkoptions{%
+ \if@lastoption
+ \def\@next{\@executetoend}%
+ \else
+ \def\@next{\@checknexttoken {[}{\@readoptions}{\@executetoend}}%
+ \fi
+ \@next
+ }
+
+% The default parameters used in advisory work
+
+\def\pageparameters{%
+ \widowpenalty=7500
+ \def\footnoterule{}%
+ \parindent=20pt
+ \quoteindent=20pt
+ \twelvepoint
+ }
+
+\def\advising#1{%
+ \enddoc
+ \ifpleading\gettitle\fi
+ \pageparameters
+ \inform{#1}%
+ \chittrue % print a fee chit
+ \def\doctype{#1}%
+ \let\backmatter=\bsop
+ \let\signoff=\signed
+ \clindfalse
+ \centerline{\headerfont #1}
+ \nobreak\vskip10pt
+ \DeleteOptionalSpacesandPars{\noindent\ignorespaces}}
+
+
+\def\opinion{%
+ \advising{Opinion}}
+\def\note{%
+ \advising{Note}}
+\def\advice{%
+ \advising{Advice}}
+\def\jopinion{%
+ \let\signed\jsigned
+ \advising{Joint Opinion}}
+\def\nopinion{%
+ \advising{}}
+\def\jnote{%
+ \let\signed\jsigned
+ \advising{Joint Note}}
+
+\def\draftparameters{%
+ \widowpenalty=7500
+ \def\footnoterule{}%
+ \parindent=0pt
+ \quoteindent=\the\clindent
+ \twelvepoint
+}
+
+\gdef\draft#1{%
+ \ifended\endedfalse
+ \else\enddoc
+ \fi
+ \begingroup
+ \amendtextfalse
+ \gdef\doctype{#1}%
+ \inform{\ifdraft draft \fi#1}%
+ \endgroup
+ \draftparameters
+ \chittrue
+ \let\backmatter=\bsdft
+ \ifdraft\let\signoff\settled % see \chit
+ \else\let\signoff\empty\fi
+ \clindtrue
+ \lpwbsfalse}%
+
+\def\conference{%
+ \inform{Conference}%
+ \chittrue
+ \def\doctype{Conference}%
+ \getworkdone}% normally set by backsheet
+
+\def\telcon{%
+ \inform{Telephone Conference}%
+ \chittrue
+ \def\doctype{Telephone Conference}%
+ \getworkdone}
+
+
+% Part 13---Pleadings
+
+% Note: The pleadings macros are in the process of being rewritten.
+% As a result they contain a blend of stuff from the old and new
+% systems and some macros have been left in order to provide continuity.
+% In other words, they are a mess at the moment.
+
+% First a whole block of defs, some of which are no longer needed
+\newdimen\storeparindent
+
+\def\solicitors{Solicitors} % change to single for sole practitioner
+\def\plaintiffs{} % List macro (tb 378), names of plaintiffs
+\def\defendants{} % ditto, defendants
+\def\thirdparties{} % ditto
+\def\plaintiffsaddrs{} % ditto; addresses
+\def\defendantsaddrs{}
+\def\thirdpartiesaddrs{}
+\def\matters{} % List macro
+\def\partyname{} % Temporary storage of individual party's name.
+\def\outofrange{\noaddr} % If too few \of's, use blank address.
+\def\courtname{\phantom{BORCHESTER}}%
+\def\issuer{}
+\def\chambers{\blank in \blank,} % Is this necessary?
+\def\depsname{\blank} % name of deponent in aff endorse.
+\def\shortname#1{\def\depsname{#1}}
+\def\capacity#1{\ifcapacity ({\it #1\/})\else\unskip\fi}
+
+\def\firm{\capacity{a firm}}
+\def\widow{\capacity{Widow}\female}
+\def\minor{\capacity{a Minor}}
+\def\patient{\capacity{a Patient}}
+\def\mw{\capacity{Married Woman}\female}
+\def\co{\capacity{a Company}}
+\def\tradingas#1{\capacity{Trading as #1}}
+\def\as#1{\capacity{#1}}
+\def\female{\unskip
+ \ifplaintiff\femalepltrue\fi
+ \ifdefendant\femaledeftrue\fi
+ \ifthirdparty\femaletptrue\fi}
+%\def\re{}
+%\def\res{}
+\def\theirsols{\noname} % redefine if necessary
+\def\theirsolsaddr{\noaddr} % ditto
+\def\doctype{}
+\def\appellant{\global\appealtrue \plaintiff}
+\def\applicant{\global\applicationtrue \plaintiff}
+\def\respondent{\defendant}
+\def\petitioner{}
+\def\petitioner#1{\global\petitiontrue \def\petitioner{#1}}
+\def\amend{}
+\def\address#1{\def\address{#1}}
+\def\petitionersaddress#1{\def\petitionersaddress{#1}}
+\def\xheading#1{\removelastskip\medskip\goodbreak
+ \noindent{\bf #1}\nobreak}
+
+\newif\ifappeal
+\newif\ifcountycourt
+\newif\ifcourtofappeal
+\newif\ifpetition
+\newif\ifapplication
+
+\newif\ifplaintiff
+\newif\ifdefendant
+\newif\ifthirdparty
+\newif\iffourthparty
+\newif\ifappellant
+\newif\ifrespondent
+\newif\ifapplicant
+
+\newif\ifpluralplaintiff
+\newif\ifpluraldefendant
+\newif\ifpluralthirdparty
+\newif\ifpluralfourthparty
+\newif\ifpluralappellant
+\newif\ifpluralrespondent
+\newif\ifpluralapplicant
+
+\newif\ifclientpl
+\newif\ifnoparties
+\newif\ifcapacity
+\newif\ifintendedaction
+\newif\ifaffidavit % check this
+\newif\iffemalepl
+\newif\iffemaledef
+\newif\iffemaletp
+
+\def\intendedparties{\global\intendedactiontrue}
+
+\def\whenadded{\quad ~~/~~/91}
+\def\added{(added\whenadded)}
+
+\newcount\plcount % total number of plaintiffs
+\newcount\dfcount % total number of defendants
+\newcount\tpcount % total number of third parties
+\newcount\partyno % This party - temporary storage
+\newcount\testone % Temporary storage
+\newcount\testtwo % Temporary storage
+\newcount\mattercount % No. of Matters.
+
+\def\claims{%
+ \vskip\the\clskip
+ \clearclno
+ {\scaps And the \plaintfs}\ \wants---}
+\def\claim{\claims}
+
+% List macros, taken from the T.B. page 378 ff.
+
+\toksdef\ta=0 \toksdef\tb=2 % token list registers for temp use
+\newcount\cardcount
+
+\def\rightappenditem#1\to#2{\ta={\\{#1}}\tb=\expandafter{#2}%
+ \edef#2{\the\tb\the\ta}}%
+\def\select#1\of#2\to#3{\def#3{\outofrange}%
+ \long\def\\##1{\advance#1-1 \ifnum#1=0 \def#3{\relax##1}\fi}#2}%
+\def\cardinality#1\to#2{#2=0 \long\def\\##1{\advance#2 by 1 }#1}
+
+
+% Some dimensions to help with formatting of parties
+
+\newdimen\plwidth \plwidth=0pt
+\newdimen\dfwidth \dfwidth=0pt
+\newdimen\tpwidth \tpwidth=0pt
+\newdimen\allwidths \allwidths=0pt
+\newdimen\maxp@rtywidth \maxp@rtywidth=4.5in
+\newdimen\partyhang \partyhang=0pt
+
+% Macros that add plaintiff's name etc to the list
+% These macros are quite complicated since they use \csname
+% and \endcsname, sometimes to excess
+
+\def\plaintiffsstuff{}
+\def\defendantsstuff{}
+\def\thirdpartiesstuff{}
+\def\currentpartyaddrs{}
+
+\newcount\andcount
+\newcount\testthree
+\newcount\testfour
+
+\newtoks\tc
+\newtoks\tx
+\newtoks\cpatoks
+\newtoks\cpstoks
+\newtoks\cpsctoks
+\newtoks\cpfctoks
+\newtoks\cpntoks
+\newtoks\cpwtoks
+
+\def\upit{\global\advance\testtwo by-1
+ \global\advance\testthree by-1}
+
+\def\uupit{\global\advance\testtwo by0
+ \global\advance\testthree by-2}
+
+\def\downit{\unskip}
+
+\def\of#1{% Address of party
+ \advance\andcount by1
+ \edef\abode{%
+ \ifcase\andcount%
+ \or{of}
+ \or{both of}
+ \else{all of}
+ \fi}
+ \ta={\\} \tb=\expandafter{\currentpartyaddrs}%
+ \tc=\expandafter{\abode#1\, }%
+ \expandafter\edef\csname\expandafter
+ \gobble\the\cpatoks\endcsname{\the\tb\the\ta{\the\tc}}%
+ \ta={\\} \tb=\expandafter{\currentpartystuff}%
+ \tc=\expandafter{\downit}%
+ \expandafter\edef\csname\expandafter\gobble\the\cpstoks
+ \endcsname{\the\tb\the\ta{\the\tc}}%
+ \andcount=0
+ }
+
+\def\and{% For use where two parties have same address
+ \advance\andcount by1
+ \ta={\\} \tb=\expandafter{\currentpartyaddrs}%
+ \tc=\expandafter{and}%
+ \expandafter\edef\csname\expandafter\gobble\the\cpatoks
+ \endcsname{\the\tb\the\ta{\the\tc}}%
+ \ta={\\} \tb=\expandafter{\currentpartystuff}%
+ \tc=\expandafter{\upit}%
+ \expandafter\edef\csname\expandafter\gobble\the\cpstoks
+ \endcsname{\the\tb\the\ta{\the\tc}}%
+ \expandafter\advance\csname\expandafter\gobble\the\cpsctoks
+ \endcsname by-1
+ }
+
+% The \, in \tc may not be working
+\def\nand{% For use where more than two parties have same address
+ \advance\andcount by1
+ \ta={\\} \tb=\expandafter{\currentpartyaddrs}%
+ \tc=\expandafter{\, }%
+ \expandafter\edef\csname\expandafter\gobble\the\cpatoks
+ \endcsname{\the\tb\the\ta{\the\tc}}%
+ \ta={\\} \tb=\expandafter{\currentpartystuff}%
+ \tc=\expandafter{\upit}% Formerly \uupit
+ \expandafter\edef\csname\expandafter\gobble\the\cpstoks
+ \endcsname{\the\tb\the\ta{\the\tc}}%
+ \expandafter\advance\csname\expandafter\gobble\the\cpsctoks
+ \endcsname by-1
+ }
+
+\def\converttc#1#2{% let <control word> = other word...
+ \expandafter\expandafter\let\expandafter#1%
+ \csname\expandafter\gobble\the#2\endcsname
+ }
+
+% If this macro is called eg with the parameter \plaintiff
+% it lets eg \currentpartyshortcount=\plaintiffshortcount
+
+\def\converttokens#1{% A general purpose macro...
+ \cpsctoks=\expandafter{\string#1shortcount}%
+ \converttc{\currentpartyshortcount}{\cpsctoks}%
+ \cpfctoks=\expandafter{\string#1fullcount}%
+ \converttc{\currentpartyfullcount}{\cpfctoks}%
+ \cpatoks=\expandafter{\string#1addrs}%
+ \converttc{\currentpartyaddrs}{\cpatoks}%
+ \cpstoks=\expandafter{\string#1stuff}%
+ \converttc{\currentpartystuff}{\cpstoks}%
+ \cpntoks=\expandafter{\string#1}%
+ \converttc{\currentpartynames}{\cpntoks}%
+ \cpwtoks=\expandafter{\string#1width}%
+ \converttc{\currentpartywidth}{\cpwtoks}%
+ }
+
+% This macro is calld by eg \plaintiff
+% In that case #1 is \plaintiff and #2 the actual name of the
+% Plaintiff in question (eg JOHN SMITH)
+% In the next edition it will do rather more than it does now.
+
+\def\party#1#2{%#1=party, #2=name
+ \converttokens{#1}%
+ \unskip
+ \cardinality\currentpartyaddrs\to\cardcount
+ \ifnum\currentpartyfullcount>\the\cardcount
+ \of{\noaddr}%
+ \fi
+ \global\expandafter\advance\csname\expandafter\gobble\the\cpfctoks
+ \endcsname by1
+ \global\expandafter\advance\csname\expandafter\gobble\the\cpsctoks
+ \endcsname by1
+ \setbox0=\hbox{#2}%
+ \ifdim\wd0>\the\maxp@rtywidth
+ \global\csname\expandafter\gobble\the\cpwtoks
+ \endcsname=\the\maxp@rtywidth
+ \else\ifdim\currentpartywidth<\wd0%
+ \csname\expandafter\gobble\the\cpwtoks\endcsname=\wd0
+ \fi\fi
+ \converttc{\currentpartywidth}{\cpwtoks}% Reset
+ \unskip
+ \ifdim\allwidths<\currentpartywidth
+ \allwidths=\the\currentpartywidth\fi
+ \ta={\\} \tb=\expandafter{\currentpartynames}%
+ \tc=\expandafter{#2}%
+ \expandafter\edef\csname\expandafter\gobble\the\cpntoks
+ \endcsname{\the\tb\the\ta{\the\tc}}%
+ \ifnum\currentpartyfullcount=1 \andcount=0\fi
+ }
+
+
+% This macro recovers the parties so that their names can be formatted
+% The logic in it is still far from perfect
+% It is intended to put "and" in the right place, but sometimes fails...
+
+\newif\ifnoandneeded
+\edef\testand{\relax and}
+
+\def\getparties#1#2{% #1=partylist,#2=partytext
+ \converttokens{#1}%
+ \unskip%
+ \testone=0\testtwo=0%
+ \testthree=\the\currentpartyfullcount%
+ \testfour=\the\currentpartyshortcount%
+ \ifnum\currentpartyfullcount>\the\cardcount%
+ \advance\andcount by1%
+ \edef\abode{% Print addresses
+ \ifcase\andcount%
+ \or{of}%
+ \or{both of}%
+ \else{all of}%
+ \fi}%
+ \rightappenditem\abode\to\currentpartyaddrs%
+ \rightappenditem{}\to\currentpartystuff%
+ \fi%
+ \unskip
+ \loop
+ \begingroup
+ \global\advance\testone by1%
+ \global\advance\testtwo by1%
+ \partyno=\the\testone%
+ \select\partyno\of\currentpartynames\to\partyname%
+ \partyno=\the\testone% reset the counter%
+ \select\partyno\of\currentpartyaddrs\to\partyaddress%
+ \partyno=\the\testone% reset the counter
+ \select\partyno\of\currentpartystuff\to\partystuff%
+ \partystuff\unskip\relax%
+ \ifnum\testone>1
+ {\ifnum\testtwo=\the\currentpartyshortcount
+ {\ifnoandneeded
+ \else\unskip\ and%
+ \fi
+ }%
+ \global\advance\testtwo by1
+ \fi
+ }%
+ \fi
+ \ifx\partyaddress\testand \global\noandneededtrue
+ \else\global\noandneededfalse
+ \fi
+ \ifx\partyaddress\empty\let\partyaddress\noaddr\fi%fudge
+ \unskip\ \partyname\ \partyaddress%
+ \endgroup
+ \ifnum\testone<\the\currentpartyfullcount%
+ \repeat%
+ #2}
+
+% A number of these are not yet used
+% (and may never be used)
+
+\def\getpls{\getparties{\plaintiffs}{\pltext}}
+\def\getdefs{\getparties{\defendants}{\dftext}}
+\def\gettps{\getparties{\thirdparties}{\tptext}}
+\def\getfps{\getparties{\fourthparties}{\fptext}}
+%\def\getaps{\getparties{\appellants}{\aptext}}
+%\def\getresp{\getparties{\respondents}{\rptext}}
+%\def\getapplics{\getparties{\applicants}{\altext}}
+
+\newcount\plshortcount
+\newcount\dfshortcount
+\newcount\tpshortcount
+\newcount\fpshortcount
+%\newcount\apshortcount
+%\newcount\rpshortcount
+%\newcount\alshortcount
+
+\newcount\plaintiffsshortcount
+\newcount\defendantsshortcount
+\newcount\thirdpartiesshortcount
+\newcount\fourthpartiesshortcount
+%\newcount\appellantsshortcount
+%\newcount\respondentsshortcount
+%\newcount\applicantsshortcount
+
+\newcount\plaintiffsfullcount
+\newcount\defendantsfullcount
+\newcount\thirdpartiesfullcount
+\newcount\fourthpartiesfullcount
+%\newcount\appellantsfullcount
+%\newcount\respondentsfullcount
+%\newcount\applicantsfullcount
+
+\newdimen\plaintiffswidth
+\newdimen\defendantswidth
+\newdimen\thirdpartieswidth
+\newdimen\fourthpartieswidth
+%\newdimen\appellantswidth
+%\newdimen\respondentswidth
+%\newdimen\applicantswidth
+
+\def\unsetallparties{%
+ \plaintifffalse
+ \defendantfalse
+ \thirdpartyfalse
+ \fourthpartyfalse
+ }
+
+\def\plaintiff#1{\unsetallparties\plaintifftrue
+ \party{\plaintiffs}{#1}}
+\def\defendant#1{\unsetallparties\defendanttrue
+ \party{\defendants}{#1}}
+\def\thirdparty#1{\unsetallparties\thirdpartytrue
+ \party{\thirdparties}{#1}}
+\def\fourthparty#1{\unsetallparties\fourthpartytrue
+ \party{\fourthparties}{#1}}
+%\def\appellant#1{\unsetallparties\appellanttrue
+% \party{\appellants}{#1}}
+%\def\respondent#1{\unsetallparties\respondenttrue
+% \party{\respondents}{#1}}
+%\def\applicant#1{\unsetallparties\applicanttrue
+% \party{\applicants}{#1}}
+
+\def\listpls{\listparties{\plaintiffs}}
+\def\listdfs{\listparties{\defendants}}
+\def\listtps{\listparties{\thirdparties}}
+\def\listfps{\listparties{\fourthparties}}
+%\def\listaps{\listparties{\appellants}}
+%\def\listrps{\listparties{\respondents}}
+%\def\listapplics{\listparties{\applicants}}
+
+\def\slistpls{\slistparties{\plaintiffs}}
+\def\slistdfs{\slistparties{\defendants}}
+\def\slisttps{\slistparties{\thirdparties}}
+\def\slistfps{\slistparties{\fourthparties}}
+%\def\slistaps{\slistparties{\appellants}}
+%\def\slistrps{\slistparties{\respondents}}
+%\def\slistapplics{\slistparties{\applicants}}
+
+\gdef\pluraltext{%
+ \gdef\addressis{addresses are}%
+ \gdef\seek{seek}%
+ \gdef\wants{claim}%
+ \gdef\respectively{respectively}%
+ \gdef\them{them}%
+ \gdef\do{do}%
+ }
+
+\gdef\singulartext{%
+ \gdef\addressis{address is}%
+ \gdef\seek{seeks}%
+ \gdef\wants{claims}%
+ \gdef\respectively{\unskip}%
+ \gdef\do{does}%
+ \gdef\them{him}%
+ }
+
+\gdef\pltext{%
+ \ifnum\plaintiffsfullcount>1%
+ \gdef\plaintfs{\Plaintiffs}%
+ \pluraltext
+ \else%
+ \ifpluralplaintiff%
+ \gdef\plaintfs{\Plaintiffs}%
+ \pluraltext
+ \else%
+ \gdef\plaintfs{\Plaintiff}%
+ \singulartext
+ \fi\fi}
+
+\gdef\dftext{%
+ \ifnum\defendantsfullcount>1%
+ \gdef\dfdants{\Defendants}%
+ \pluraltext
+ \else%
+ \ifpluraldefendant%
+ \pluraltext
+ \else%
+ \gdef\dfdants{\Defendant}%
+ \singulartext
+ \gdef\them{\iffemaledef her\else him\fi}%
+ \fi\fi}%
+
+\gdef\tptext{%
+ \ifnum\thirdpartiesfullcount>1%
+ \gdef\thirdparts{Third Parties}%
+ \pluraltext
+ \else%
+ \ifpluralthirdparty%
+ \gdef\thirdparts{Third Parties}%
+ \pluraltext
+ \else%
+ \gdef\thirdparts{Third Party}%
+ \singulartext
+ \fi\fi}
+
+\gdef\fptext{%
+ \ifnum\fourthpartiesfullcount>1%
+ \gdef\fourthparts{Fourth Parties}%
+ \pluraltext
+ \else%
+ \ifpluralfourthparty%
+ \gdef\fourthparts{Fourth Parties}%
+ \pluraltext
+ \else%
+ \gdef\fourthparts{Fourth Party}%
+ \singulartext
+ \fi\fi}
+
+%\gdef\aptext{%
+% \ifnum\appellantsfullcount>1%
+% \gdef\plaintfs{Appellants}%
+% \pluraltext
+% \else%
+% \ifpluralappellant%
+% \gdef\plaintfs{Appellants}%
+% \pluraltext
+% \else%
+% \gdef\plaintfs{Appellant}%
+% \gdef\addressis{address is}%
+% \pluraltext
+% \fi\fi}
+%%
+%\gdef\rptext{%
+% \ifnum\respondentsfullcount>1%
+% \gdef\dfdants{Respondents}%
+% \pluraltext
+% \else%
+% \ifpluralrespondent%
+% \gdef\dfdants{Respondents}%
+% \pluraltext
+% \else%
+% \gdef\dfdants{Respondent}%
+% \singulartext
+% \fi\fi}%
+%%
+%\gdef\altext{%
+% \ifnum\applicantsfullcount>1%
+% \gdef\plaintfs{Applicants}%
+% \pluraltext
+% \else%
+% \ifpluralappellant%
+% \gdef\plaintfs{Applicants}%
+% \pluraltext
+% \else%
+% \gdef\plaintfs{Applicant}%
+% \singulartext
+% \fi\fi}
+%%
+% Phew. I reckon those need amending...
+
+% This is one macro that will soon go, being replaced by
+% \pleading and \spleading
+
+\def\topofpleading#1#2{% doctype & ct
+ \reset
+ \storeparindent=\the\parindent
+ \global\parindent=0pt
+ \def\doctype{#1}
+ \ct=#2
+ \pleadingtrue
+ \clientpltrue
+ \gettitle
+ \def\backsheet{\enddoc\bsdft}
+ \heading
+ \parties}
+
+% So will this. It will be \let equal to \pleading
+
+\def\generic#1{%
+ \reset
+ \def\doctype{\vtop{\centertext{#1}}}
+ \heading
+ \ifnoparties\else\parties\fi
+ \centertext{#1}
+ \medskip}
+
+\def\am@nd{%
+ \ifnum\amendcount>2{\uuul RE-}\fi
+ \ifnum\amendcount>1{\uul RE-}\fi
+ \ifnum\amendcount>0{\ul AMENDED }\fi
+ }
+
+\def\pleading#1{% doctype
+ \storeparindent=\the\parindent
+ \global\parindent=0pt
+ \draft{\am@nd#1}
+ \pleadingtrue
+ \gettitle
+ \heading
+ \parties
+ \ifdraft
+ \def\signoff{\endofpleading\settled}%
+ \else\let\signoff\endofpleading\fi
+ \medbreak
+ \leavevmode
+ \centertext{\am@nd#1}%
+ \nobreak
+ \amendnote}
+
+\def\spleading#1{% doctype
+ \storeparindent=\the\parindent
+ \global\parindent=0pt
+ \draft{\am@nd#1}
+ \pleadingtrue
+ \gettitle
+ \heading
+ \sparties
+ \ifdraft
+ \def\signoff{\endofpleading\settled}%
+ \else\let\signoff\endofpleading\fi
+ \medbreak
+ \centertext{\am@nd#1}%
+ \nobreak
+ \amendnote}
+
+\def\gettitle{% This needs a lot of work
+ \pltext\dftext\tptext % added to deal with ops on their own
+ \getbstitlewidth
+ \gdef\title{%
+ \global\maxp@rtywidth=\the\bstitlewidth
+ \centerline{\court}\cr
+ \scaps
+ \division\cr
+ \regis\cr
+ \reference\cr
+ \noalign{\bigskip}%
+ \rm
+ \centertext{\inthematter}\cr
+ \noalign{\medskip}%
+ \slistpls\cr
+ \hfill\it\plaintfs\cr
+ \against\cr
+ \strut\cr
+ \slistdfs\cr
+ \hfill\it\dfdants\cr}%
+ \global\maxp@rtywidth=\the\maxpartywidth}
+
+\def\headingskip{\vskip-\lastskip\smallskip}
+
+\gdef\heading{% Can this be broken down further?
+ \vbox{\baselineskip=15pt
+ \line{\court\hfil\reference}%
+ \headingskip
+ \scaps % Turn on caps and smallcaps
+ \apcourt
+ \headingskip
+ \division
+ \headingskip
+ \regis
+ \headingskip
+ \subdivision
+ \headingskip
+ \judgename
+ \headingskip
+ \rm % Back to roman
+ \Writissued
+ \headingskip
+ \inthematter
+ }% end of vbox
+ \medskip}
+
+\def\parties{%
+ \capacitytrue
+ \pltext% set up the alternative text for `his', `their', etc.
+ \dftext
+ \tptext
+ {\noindent\leftline{BETWEEN\raise.15ex\hbox{---}}
+ \bigskip
+ % The next few lines box up the parties.
+ \centerline{\hbox{\vtop{\baselineskip=15pt %Baselineskip in parties
+ \halign{\hfill ##\hfill\cr
+ \listpls\cr
+ \relax\hidewidth\rightline{\hfil\it
+ \ifintendedaction Intended\ \fi\plaintfs}
+ \hidewidth\relax\cr
+ \hfill \against\hfill\cr
+ \strut\cr
+ \listdfs\cr
+ \relax\hidewidth\rightline{\it
+ \ifintendedaction Intended\ \fi\dfdants}
+ \hidewidth\relax\cr
+ \ifthirdparty
+ \hfill \against\hfill\cr
+ \strut\cr
+ \listtps\cr
+ \relax\hidewidth\rightline{\it
+ \ifintendedaction Intended\ \fi\thirdparts}
+ \hidewidth\relax\cr\fi
+ }}}}}%
+ \twelvepoint\bigskip
+ \capacityfalse}
+
+% Short version of parties for affy's, etc.
+
+\def\sparties{%
+ \capacitytrue
+ \pltext % set up the alternative text for `his', `their', etc.
+ \dftext
+ \tptext
+ {\noindent\leftline{BETWEEN\raise.15ex\hbox{---}}
+ % The next few lines box up the parties.
+ \centerline{\hbox{\vtop{\baselineskip=15pt
+ \halign{\hfill ##\hfill\cr
+ \slistpls\cr
+ \relax\hidewidth\rightline{\hfill\it
+ \ifintendedaction Intended\ \fi\plaintfs}
+ \hidewidth\relax\cr
+ \hfill \against\hfill\cr
+ \strut\cr
+ \slistdfs\cr
+ \relax\hidewidth\rightline{\hfill\it
+ \ifintendedaction Intended\ \fi\dfdants}
+ \hidewidth\relax\cr
+ \ifthirdparty
+ \hfill \against \hfill\cr
+ \strut\cr
+ \slisttps\cr
+ \relax\hidewidth\rightline{\hfill\it
+ \ifintendedaction Intended\ \fi\thirdparts}
+ \hidewidth\relax\cr\fi}}%
+ }}}%
+ \bigskip
+ \capacityfalse}%
+
+\def\listparties#1{% #1=partylist (eg \plaintiffs)
+ \converttokens{#1}%
+ \testone=0\def\\##1{\relax##1\cr}%
+ \tabskip=0pt
+ \vtop{\hsize=\the\maxp@rtywidth
+ \hyphenpenalty=10000\tolerance=2750
+ \ifnum\currentpartyfullcount>1
+ \halign{\global\advance\testone by1
+ \hfil
+ \llap{(\the\testone)\quad}
+ \vtop{%
+ \hsize=\the\currentpartywidth
+ \hangafter1\hangindent\the\partyhang
+ \strut##\strut}% end of \vtop
+ \hfil\cr#1}% end of \halign
+ \else
+ \ifnum\currentpartyfullcount=1
+ \partyno=1
+ \select\partyno \of#1 \to\partyname
+ \centertext{\partyname}%
+ \fi\fi}}
+
+\def\slistparties#1{% #1=\plaintiffs
+ \converttokens{#1}%
+ \partyno=1\def\\##1{\relax##1\cr}%
+ \tabskip=0pt
+ \select\partyno \of#1 \to\partyname
+ \vtop{\hsize=\the\maxp@rtywidth
+ \hyphenpenalty=10000\tolerance=2750
+ \ifnum\currentpartyfullcount>2
+ \centertext{\partyname{ \it \&~Ors.\/}}%
+ \else\ifnum\currentpartyfullcount=2
+ \centertext{\partyname{ \it \&~Anor.\/}}%
+ \else\ifnum\currentpartyfullcount=1
+ \centertext{\partyname}%
+ \fi\fi\fi}}
+
+% This is a default definition.
+\long\def\bottomofpleading#1{%#1=text
+ \def\addressfile{solicitors}
+ \getaddress
+ {\def\cr{ of \def\cr{, }}%
+ \medskip
+ #1}%
+ \global\parindent=\the\storeparindent}
+
+\def\inthematter{%
+ \ifx\matters\empty
+ \else\testone=0\def\\##1{\relax\global\advance\testone by1%
+ \def\and{\ifnum\testone<2{}%
+ \else{And\ }\fi}% Now do the work
+ {\scaps \and}##1\strut\cr
+ \ifnum\testone<\the\mattercount \noalign{\smallskip}\fi}%
+ \halign{%
+ \vtop{\twelvebase=15pt\twelvepoint
+ \hangafter1 \hangindent\clindent ##\strut}\hfil\cr
+ \matters\crcr}%
+ \fi}
+
+% Now some other pleading stuff, esp. amendments
+
+\def\served#1{\getservicedate{#1}{\dateofservice}}
+\def\reserved#1{\getservicedate{#1}{\dateofreservice}}
+\def\rereserved#1{\getservicedate{#1}{\dateofrereservice}}
+\def\rerereserved#1{\getservicedate{#1}{\dateofrerereservice}}
+
+\def\writissued#1{%
+ \getservicedate{#1}{\datewritissued}%
+ \gdef\Writissued{Writ issued the \nodate}%
+ }
+
+\def\getservicedate#1#2{{%
+ \def\sserved##1/##2/##3roger{%
+ \def\day{##1}%
+ \def\month{##2}%
+ \def\year{\ifnum##3<100 19##3\else##3\fi}%
+ \expandafter\xdef\csname\expandafter\gobble\string#2\endcsname{\longtoday}%
+ }%
+ \sserved#1roger
+ }}
+
+\newif\ifamendtext\amendtexttrue
+\def\setamendcount#1{\global\amendcount=#1}
+
+\newcount\amendcount
+\newcount\aamct \aamct=0
+
+\gdef\amended{%
+ \enddoc
+ \setamendcount{1}%
+ \ifamendtext\amendstuff\fi}
+
+\gdef\reamended{%
+ \enddoc
+ \setamendcount{2}
+ \ifamendtext\amendstuff\fi}
+
+\gdef\rereamended{%
+ \setamendcount{3}%
+ \ifamendtext\amendstuff\fi}
+
+\def\amendstuff{%This overlong macro deals with amendment formal parts
+ \gdef\amendnote{%
+ \ifnum\amendcount<2% First amendment
+ \tcl{\scaps Note:} Text inserted by this amendment to this
+ pleading is shown underlined, {\ul thus}; text deleted by
+ this amendment is shown crossed-out, {\xo thus}.
+ \else % Second and subsequent amendments
+ \tcl{\scaps Note 1:} Text inserted by the first amendment
+ is shown underlined, {\ul thus}; text deleted by the
+ first amendment is shown crossed-out, {\xo thus};
+ \par
+ \tcl{\scaps Note 2:} Text inserted by the second amendment
+ is shown underlined twice, {\uul thus}; text deleted by the
+ second amendment is shown crossed-out twice, {\xxo thus}.
+ \fi
+ \par
+ \ifnum\amendcount=3% re-re-amendment
+ \tcl{\scaps Note 3:} Text inserted by the third amendment
+ is shown underlined thrice, {\uuul thus}; text deleted by
+ the third amendment is shown crossed-out thrice, {\xxxo thus}.
+ \fi
+ }%
+ \ifnum\ct=1\ccendofpleading\else\hcendofpleading\fi
+ \global\amendtextfalse
+ }
+
+\def\hcendofpleading{% End of pleading for High Court
+ \gdef\endofpleading{%
+ \signature
+ {\ul \signature}
+ \ifnum\amendcount>1{\uul \signature}\fi
+ \ifnum\amendcount>2{\uuul \signature}\fi
+ \bottomofpleading{%
+ Served the \ifx\dateofservice\empty{\nodate}%
+ \else{\dateofservice}\fi
+ \unskip
+ \ifnum\amendcount=1{\ul\ and }\fi% Amend
+ \ifnum\amendcount>1{\ignorespaces\ul\unskip, }\fi
+ {\ul re-served the \ifx\dateofreservice\empty{\nodate}%
+ \else{\dateofreservice}\fi\unskip}
+ \ifnum\amendcount=2{\ul\ and }\fi% Reamend
+ \ifnum\amendcount>2{\ignorespaces\ul\unskip, }\fi
+ \ifnum\amendcount>1% ie \amendcount is 2 or more
+ {\uul re-re-served the
+ \ifx\dateofrereservice\empty{\nodate}%
+ \else{\dateofrereservice}\fi\unskip}
+ \fi
+ \ifnum\amendcount=3{\ul\ and }\fi% Re-re-amend
+ \ifnum\amendcount>2% ie \amendcount is 3 or more
+ {\uuul re-re-re-served the
+ \ifx\dateofrerereservice\empty{\nodate}%
+ \else{\dateofrerereservice}\fi}
+ \fi
+ by \ignorespaces\sols \solicitors\ for the\forwhom\par
+ }%
+ }%
+ }
+
+\def\ccendofpleading{% End of pleading for county court
+ \gdef\endofpleading{%
+ \medskip
+ Dated the \ifx\dateofservice\empty{\nodate}%
+ \else{\dateofservice}\fi
+ \signature
+ {\ul Dated the \ifx\dateofreservice\empty{\nodate}%
+ \else{\dateofreservice}\fi\unskip}
+ {\ul \signature}
+ \ifnum\amendcount>1
+ {\uul Dated the \ifx\dateofrereservice\empty{\nodate}%
+ \else{\dateofrereservice}\fi\unskip}
+ {\uul \signature}
+ \fi
+ \ifnum\amendcount>2% ie \amendcount is 3 or more
+ {\uuul Dated the \ifx\dateofrerereservice\empty{\nodate}%
+ \else{\dateofrerereservice}\fi}
+ {\uuul\signature}
+ \fi
+ \bottomofpleading{%
+ \rightline{\vtop{\hsize=.6\hsize
+ The \forwhom's \solicitors\ are \sols
+ where they will accept service of proceedings
+ on behalf of the \forwhom.}}
+ \bigskip
+ \leftline{\vtop{\hsize=.6\hsize
+ To the District Judge of the \courtname\
+ COUNTY COURT and to the \notforwhom.}}
+ }%
+ }%
+ }
+
+% Clause numbering for use inside amendments
+
+\def\acl{\clauselevel=1
+ \advance\recno by1 \xcl{\hss\the\clno\char\the\recno.\enspace}}
+
+\def\aacl{\clauselevel=1
+ \advance\recno by1 \xcl{\hss\the\clno\char\the\recno\char
+ \the\recno.\enspace}}
+
+\def\aaacl{\clauselevel=1
+ \advance\recno by1 \xcl{\hss\the\clno\char\the\recno\char\the\recno%
+ \char\the\recno.\enspace}}
+
+\def\ascl{\clauselevel=2
+ \advance\recno by1 \xcl{\hss(\the\sclno\char\the\recno)\enspace}}
+
+\def\aascl{\clauselevel=2
+ \advance\recno by1 \xcl{\hss(\the\sclno\char\the\recno%
+ \char\the\recno)\enspace}}
+
+\def\aaascl{\clauselevel=2
+ \advance\recno by1 \xcl{\hss(\the\sclno\char\the\recno\char\the\recno%
+ \char\the\recno)\enspace}}
+
+\let\dateofservice\empty
+\let\dateofreservice\empty
+\let\dateofrereservice\empty
+\let\dateofrerereservice\empty
+\let\datewritissued\empty
+
+\def\resetpleadingdefaults{%
+ \ifnum\ct=1
+ \def\endofpleading{%
+ \medskip
+ Dated this \nodate\par\signature
+ \bottomofpleading{%
+ \rightline{\vtop{\hsize=.6\hsize
+ The \forwhom's \solicitors\ are \sols
+ where they will accept service of proceedings
+ on behalf of the \forwhom.}}
+ \bigskip
+ \leftline{\vtop{\hsize=.6\hsize
+ To the District Judge of the \courtname\
+ COUNTY COURT and to the \notforwhom.}}
+ }}%
+ \else
+ \def\endofpleading{%
+ \signature
+ \bottomofpleading{%
+ Served the \nodate by \ignorespaces\sols \solicitors\
+ for the \forwhom}}
+ \fi
+ \gdef\amendnote{}% Reset it.
+ \let\dateofservice\empty
+ \let\dateofreservice\empty
+ \let\dateofrereservice\empty
+ \let\datewritissued\empty
+ \setamendcount{0}%
+ \global\maxp@rtywidth=\the\maxpartywidth}
+
+% These may change. They set up names.
+
+\gdef\Plaintiffs{\ifappeal Appellants\else\ifapplication Applicants%
+ \else Plaintiffs\fi\fi}
+\gdef\Plaintiff{\ifappeal Appellant\else\ifapplication Applicant%
+ \else Plaintiff\fi\fi}
+\gdef\Defendants{\ifappeal Respondents\else\ifapplication Respondents%
+ \else Defendants\fi\fi}
+\gdef\Defendant{\ifappeal Respondent\else\ifapplication Respondent%
+ \else Defendant\fi\fi}
+\gdef\Thirdparty{Third Party}
+\gdef\Thirdparties{Third Parties}
+
+% examples of use
+
+% This assumes that \clientpl has already been set true or false
+\def\arrangement{%
+ \def\endofpleading{}
+ \spleading{ARRANGEMENT}}
+
+\def\soc{%
+ \ifx\Writissued\empty\def\Writissued{Writ issued the \nodate}\fi
+ \clientpltrue
+ \pleading{STATEMENT OF CLAIM}}
+
+\def\defence{%
+ \let\Writissued\empty
+ \clientplfalse
+ \pleading{DEFENCE}}
+
+\def\dacc{%
+ \gdef\counterclaim{%
+ \vskip\the\clskip
+ \centerline{COUNTERCLAIM}
+ \nobreak}
+ \let\Writissued\empty
+ \clientplfalse
+ \pleading{DEFENCE AND COUNTERCLAIM}
+ \smallskip
+ \centerline{DEFENCE}
+ \nobreak}
+
+\def\counterclaim{% Counterclaim on its own
+ \let\Writissued\empty
+ \clientplfalse
+ \pleading{COUNTERCLAIM}}
+
+\def\reply{% Reply on its own
+ \let\Writissued\empty
+ \clientpltrue
+ \pleading{REPLY}}
+
+\def\rdcc{% Reply and Defence to Counterclaim
+ \let\Writissued\empty
+ \clientpltrue
+ \pleading{REPLY AND DEFENCE TO COUNTERCLAIM}}
+
+% County Court. Note: These macros do not yet reproduce
+% all (or indeed any) of the batty prescribed forms, although
+% it would not be difficult to achieve this.
+% Most macros are the same as the HC macros
+
+\def\poc{%
+ \let\Writissued\empty
+ \clientpltrue
+ \pleading{PARTICULARS OF CLAIM}}
+
+% The Affidavit macros. These are fairly complicated
+% First, some general bits and pieces
+
+\newtoks\shortinitials \shortinitials={}
+\newtoks\tempinitials \tempinitials={}
+\newtoks\surname \surname={}
+\newif\ifsomeletters \somelettersfalse
+\newif\ifspace \spacefalse
+\newif \ifpunct
+\newtoks\firstletter \firstletter={}
+\newif\ifmac \macfalse
+\newtoks\longinitials \longinitials={}
+
+\newcount\lettercount
+\newcount\surnamecount
+\newcount\front
+
+\def\affyno#1{%
+ \def\affno{\addsuffix{#1}}}
+\affyno{1}% set 1st as default
+
+% Now some stuff to extract initials from fullnames
+
+\def\itsaspace{%
+\dbhelp{It is a space}%
+ \ifsomeletters%
+ \edef\tin{\the\shortinitials\the\firstletter.}%
+ \shortinitials=\expandafter{\tin}%
+ \somelettersfalse\fi%
+ \lettercount=0\surnamecount=0\relax\unskip}
+
+\def\itsaletter#1{%
+\dbhelp{It is a letter-"#1"}%
+ \advance\lettercount by1% #1 is a letter
+ \advance\surnamecount by1\relax%
+ \ifnum\lettercount=1 \firstletter={#1}
+ \someletterstrue\fi
+ \ifnum\surnamecount=1\surname=\expandafter{#1}%
+ \tempinitials=\expandafter{#1}%
+ \else\ifnum\surnamecount>1%
+ \tempinitials=\expandafter{\the\tempinitials#1}
+ \maccheck{#1}%
+ \fi\fi}
+
+\def\maccheck#1{%
+\dbhelp{Doing MacCheck}%
+ \ta={Mc}
+ \edef\tone{\the\ta}%
+ \edef\ttwo{\the\tempinitials}%
+ \ifx\tone\ttwo
+ \mactrue
+ \surname=\expandafter{\the\tempinitials}%
+ \else\ifpunct\punctfalse\surname=\expandafter{\the\surname#1}%
+ \firstletter=\expandafter{\the\firstletter#1}%
+ \else\ifmac\macfalse\surname=\expandafter{\the\surname#1}%
+ \firstletter=\expandafter{\the\tempinitials}%
+ \else\surname=\expandafter{\the\surname\lowercase{#1}}%
+ \fi\fi\fi}
+
+\def\itspunctuation#1{%
+\dbhelp{It is punctuation-"#1"}%
+%\def\temppunct#1{\if#1\noexpand~-\else#1\fi}%
+ \somelettersfalse
+ \edef\tin{\the\tempinitials#1}
+ \tempinitials=\expandafter{\tin}%
+ \surname=\expandafter{\the\surname#1}%
+ \someletterstrue
+ \if#1\space\firstletter=\expandafter{\the\firstletter.}\else
+ \firstletter=\expandafter{\the\firstletter#1}\fi
+ \advance\surnamecount by1\puncttrue\relax}
+
+\gdef\length#1{\lettercount=0\surnamecount=0
+\unskip\ignorespaces\getlength#1!}
+
+\gdef\getlength#1{%
+\dbhelp{Character="#1"}
+ \unskip\ignorespaces
+ \if#1!
+ \let\next=\relax
+ \edef\tin{\the\shortinitials\the\firstletter.}%
+ \longinitials=\expandafter{\tin}%
+ \else% ie if not end of name
+ \edef\fullname{\fullname#1}%
+ \dbhelp{Fullname="\fullname"}%
+ \ifcat\noexpand#1\noexpand~ \itsaspace\fi%
+ \if#1\noexpand_\itspunctuation{ }\else
+ \ifcat#1-\itspunctuation{#1}\fi\fi%
+ \ifcat#1a \itsaletter{#1}\fi%
+ \let\next=\getlength%
+ \fi% it is an exclamation mark
+ \unskip\next}
+
+\gdef\deponent{%
+ \enddoc \endedtrue
+ \def\clearexno{\exno=0 \front=0}%Use \setexno{n} to reset to other number.
+ \shortinitials={}%reset the lot
+ \surname={}
+ \longinitials={}
+ \def\of##1{\def\hisaddr{##1}%
+ \ifx\hisaddr\empty\def\hisaddr{[{\it address\/}]}\fi}%
+ \def\occupation##1{\def\hisoccupation{##1}%
+ \ifx\hisoccupation\empty
+ \def\hisoccupation{[{\it occupation\/}]}\fi
+ \def\comma{, }}%
+ \of{}\occupation{}% set up the defaults
+ \def\nooccupation{\def\hisoccupation{}%
+ \def\comma{}}%
+ \catcode`\ =\active % Make spaces active ftb.
+ \global\catcode`\_=\other % Make underlines into letters
+ \let\tempt=~ \catcode`\~=\other \let\tilde=~ % check tilde
+ \let\tempb=\blank \let\blank=\space
+ \whatsnext}
+
+\def\whatsnext#1{%
+ \ifx#1\noname
+ \shortinitials={\blank}%
+ \surname={\blank\blank}%
+ \longinitials={\blank\blank}%
+ \def\fullname{\noname}%
+ \else
+ \edef\fullname{}%
+ \length{#1}%
+ \fi
+ \def\depsname{\hbox{\ignorespaces%
+ \the\shortinitials\space\the\surname}}%
+ \xdef\inits{\the\longinitials}%
+ \catcode`\ =10% reset the catcodes
+ \catcode`\~=\active
+ \catcode`\_=8
+ \let~=\tempt
+ \let\blank=\tempb
+ \gdef\deplname{I, \fullname, of \hisaddr\comma
+ \hisoccupation, make oath and say as follows---}}
+
+\def\affidavit{\par% Note: This does NOT set \clientpl
+ \clearexno
+ \draft{AFFIDAVIT}% This has been moved
+ \gettitle
+ \pleadingtrue
+ \endorsementtrue
+ \ifdraft
+ \def\signoff{\endofpleading\settled}%
+ \else\let\signoff\endofpleading\fi
+ \def\endofpleading{%
+ \bottomofpleading{\sworn}}%
+ \ifdraft\else
+ \def\doextras{\getfrontsheets\let\doextras\empty}
+ \fi
+ \endorsement
+ \heading
+ \sparties
+ \deplname % produces I, etc, make oath, etc.
+ \medskip}
+
+\def\endorsement{\tlap{\rightline{%
+ \baselineskip=13pt\tenbf\getendorsement}\medskip}}
+
+\def\bsendorsement{\tlap{\xcenterline{%
+ \baselineskip=10pt\ninebf\getendorsement}}}
+
+\def\getendorsement{%
+ \setbox0\hbox{Deponent}\dimen1=.4\wd0
+ \setbox0\hbox{Party\hskip\dimen1\forwhom}\dimen2=\wd0
+ \setbox0\hbox{Deponent\hskip\dimen1\depsname}%
+ \ifdim\wd0>\dimen2 \dimen2=\wd0\fi
+ \setbox0\hbox{No.\ of Affidavit\hskip\dimen1\affno}%
+ \ifdim\wd0 >\dimen2 \dimen2=\wd0\fi
+ \setbox0\hbox{Date Sworn\hskip\dimen1\whensworn}%
+ \ifdim\wd0>\dimen2 \dimen2=\wd0\fi
+ \vbox{%
+ \hbox to \dimen2{Party\dotfill\ignorespaces\forwhom}%
+ \hbox to \dimen2{Deponent\dotfill\ignorespaces\depsname}
+ \hbox to \dimen2{No.\ of Affidavit\dotfill%
+ \hbox{\ignorespaces\affno}}%
+ \hbox to \dimen2{Date Sworn\dotfill\whensworn}%
+ }}
+
+\def\frontsheet#1{% Produces frontsheets for exhibits
+ \vfil\eject
+ \endorsement
+ \heading
+ \sparties
+ \pageno=0
+ \nopagenumbers
+ \inform{Frontsheet for Exhibit "\inits \number#1"}%
+ \vtop{\raggedright\uchyph=0
+ This is the Exhibit marked ``\inits\,\number#1'' referred to
+ in the Affidavit of \fullname\ sworn before me this \nodate
+ \vskip1.5in
+ \hskip.6\hsize\nobreak Solicitor }%
+ \vfil\eject}
+
+\def\getfrontsheets{%
+ \ifnum\exno=0
+ \else
+ \loop
+ \advance\front by1
+ \frontsheet{\number\front}%
+ \ifnum\exno>\number\front\repeat
+ \fi}
+
+% End of affidavit macros
+
+
+% Originating Summons - long form
+
+%\gdef\os{%
+% \topofpleading{ORIGINATING SUMMONS}{0}
+% \def\endos{\bottomofpleading{\endostext}}
+% \ostext}
+%
+% Originating Summons - short form
+%
+% Minutes of Order
+%
+%\def\minutes{%
+% \topofpleading{MINUTES OF ORDER}{0}
+% \medskip
+% \centerline{MINUTES OF ORDER}
+% \medskip
+% {\scaps This Application}, \etc\par
+% {\scaps And Upon Hearing}, \etc\par
+% {\scaps And Upon Reading}, \etc\par}
+%
+\def\order{%
+ \topofpleading{ORDER}{0}
+ \medskip
+ \centerline{ORDER}
+ \medskip}
+
+% Other macros take the same form. (More will be added.)
+
+\def\statementofclaim{%
+ \topofpleading{\amend STATEMENT OF CLAIM}{0}
+ \medskip
+ \centerline{\amend STATEMENT OF CLAIM}
+ \par\nobreak\medskip}
+
+\def\endwrittext{%
+ {\scaps This Writ} was issued by \ignorespaces\sols \solicitors\ for
+ the said \plaintfs\ whose \addressis\ as stated above}
+
+\def\endgenwrit{% This can be removed
+% \signature
+ \bottomofpleading{%
+ {\scaps This Writ} was issued by \ignorespaces\sols \solicitors\ for
+ the said \plaintfs\ whose \addressis\ as stated above}}
+
+\def\sjsummons{% O.14. It may be necessary to set \clientpl
+ \origprocess{SUMMONS}{\summarytext}{}{}{\endsummarytext}%
+ }
+
+\def\spsummons{% O.86. It may be necessary to set \clientpl
+ \topofpleading{SUMMONS}{0}
+ \specifictext}
+
+\def\summons{% This is an ordinary summons
+ \topofpleading{SUMMONS}{0}
+ \summonstext}
+
+\def\endsummons{%
+ {\scaps Dated} \nodate
+ \bottomofpleading{This Summons was taken out by\sols \solicitors\ for
+ the above-named \forwhom\par
+ \medskip
+ To the \notforwhom\ and to \theirsols, of \theirsolsaddr, Solicitors
+ for the above-named \notforwhom.}}
+
+\def\defenceandcounterclaim{%
+ \reset
+ \def\doctype{DEFENCE AND COUNTERCLAIM}
+ \pleadingtrue
+ \clientplfalse
+ \draftparameters
+ \gettitle
+ \def\backsheet{\enddoc\bsdft}
+ \heading
+ \parties
+ \centerline{\amend DEFENCE}
+ \medskip}
+
+\def\reply{%
+ \reset
+ \def\doctype{\amend REPLY}
+ \clientpltrue
+ \heading
+ \ifnoparties\else\parties\fi
+ \centerline{\amend REPLY}
+ \medskip}
+
+\def\replyanddefencetocounterclaim{%
+ \reset
+ \def\doctype{\vtop{\hsize=2.5in
+ \centertext{\amend REPLY AND DEFENCE
+ TO COUNTERCLAIM}}}
+ \clientpltrue
+ \heading
+ \ifnoparties\else\parties\fi
+ \centerline{\amend REPLY AND DEFENCE TO COUNTERCLAIM}
+ \medskip
+ \centerline{\amend REPLY}
+ \medskip}
+
+\def\counterclaim{% This is for use in a Defence & Counterclaim
+ \bigbreak\centerline{\amend COUNTERCLAIM}\nobreak\medskip}
+
+\def\particulars{\clno=0
+ \par\smallskip\centerline{PARTICULARS}\par}
+
+\def\served{%
+ \bottomofpleading{%
+ Served the \nodate by \ignorespaces\sols \solicitors\
+ for the \dfdants}}
+
+% backsheet macros
+
+% Misc
+
+\edef\workdone{}
+\newtoks\tempwd \tempwd={}
+\newdimen\bstopincrease \bstopincrease=.5in
+\newdimen\bsbotincrease \bsbotincrease=.5in
+\def\chittitle{%
+ \slistpls\cr
+ \ v.\cr
+ \slistdfs\cr}
+\newdimen\storeparindent
+
+\def\osinhtext{LET\ignorespaces\getdefs\ attend
+ before Master \nomonth at Chancery Chambers,
+ Room No.\noday, Royal Courts of Justice, Strand,
+ London, WC2A2LL on a day to be fixed on the hearing
+ by the \plaintfs \getpls for the following relief,
+ that is to say---\par
+\medskip}
+
+\def\endosinhtext{And let the \dfdants\ within [14 days]
+ after service of this summons on \them\ counting the
+ day of service, return the accompanying Acknowledgment
+ of Service to the appropriate Court Office.\par
+ \nobreak\smallskip
+ Dated the \nodate
+
+ {\bf Note---}This summons may not be served later than 12
+ calendar months beginning with the above date unless
+ renewed by order of the Court.\par
+ \medskip
+ This summons was taken out by \ignorespaces\sols \solicitors\
+ for the said \plaintfs\ whose \addressis\ as stated above
+ \medskip
+
+ {\bf Note---}If a defendant does not attend personally
+ or by his counsel or solicitor at the time and place
+ above-mentioned such order will be made as the Court may
+ think fit just and expedient.\par
+ \medskip
+ A defendant who is a personal representative must,
+ within 21 days after service of this summons on him,
+ counting the day of service, lodge with the court an
+ affidavit in answer, stating the particulars required by
+ Order 99, rule 5 of the Rules of the Supreme Court.\par
+ \medskip
+ \centerline{\bf IMPORTANT}\par\nobreak
+ Directions for Acknowledgment of Service are given with the
+ accompanying form.\par
+ }
+
+\def\summarytext{% Spacing reduced to get it on one page
+ \twelvebase=17pt\twelvepoint
+ \smallskip
+ {\scaps Let all parties} concerned attend \chambers\
+ Royal Courts of Justice, Strand, London WC2A 2LL,
+ on \phantom{[Mon]}day the \nodate\ at \noname on
+ the hearing of an application on the part of the \plaintfs\
+ for the relief claimed in the Statement of Claim
+ \smallskip
+ {\scaps Take Notice} that a party intending to oppose
+ this application or to apply for a stay of execution
+ should send to the opposite party or his Solicitor to
+ reach him not less than three days before the date
+ above mentioned a copy of any affidavit intended to be used.}
+
+\def\endsummarytext{%
+ {\scaps Dated} \nodate
+ \smallskip
+ This summons was taken out by \ignorespaces\sols \solicitors\
+ for the \plaintfs.
+ \smallskip
+ TO \noname, of \noaddr, \solicitors\ for the \dfdants.\par}
+
+\def\specifictext{%
+ \smallskip
+ {\scaps Let all parties} concerned attend before Master
+ \if\mast\empty\blank\blank\else\mast\ \fi
+ at the Chambers of the Judge, Room No.~\phantom{100}, Royal
+ Courts of Justice, Strand, London WC2A 2LL, on
+ \phantom{Wednesday} the \nodate\ at \phantom{12}~o'clock in
+ the \phantom{after}noon on the hearing of an application on
+ the part of the \plaintfs\ for the following relief---
+
+ \cl An order pursuant to Order 86 of the Rules of the Supreme Court
+ for specific performance of the agreement in the Writ in this action
+ mentioned in the terms of the Minutes set out in the Schedule hereto
+
+ \cl All necessary and further inquiries and accounts
+
+ \cl In the alternative Directions as to the pleading in and further
+ conduct of this action
+ \schedule\par}
+
+\def\summonstext{%
+ {\scaps Let all parties} concerned attend before Master \blank
+ at the Chambers of the Judge, Room No.~\phantom{100}, Royal
+ Courts of Justice, Strand, London WC2A 2LL, on
+ \phantom{Wednesday} the \nodate\ at \phantom{12}~o'clock in
+ the \phantom{after}noon on the hearing of an application on
+ the part of the \plaintfs\ for the following
+ relief---\par\nobreak\medskip}
+
+\def\ostext{%
+ TO\ignorespaces\getdefs
+ \smallskip
+ {\scaps Let The \expandafter{\dfdants}}\ within [14] days after
+ service of this summons on \them\ \respectively, counting the day
+ of service, return the accompanying Acknowledgment of Service
+ to the appropriate Court Office
+ \smallskip
+ {\scaps By This Summons}, which is issued on the application of the
+ \plaintfs\unskip\space\getpls\unskip\space the \plaintfs\ \seek\ the
+ following relief, that is to say---\hfil\par}
+
+\def\endostext{%
+ If the \dfdants\ \do\ not acknowledge service, such judgment may
+ be given or order made against or in relation to \them\ as the
+ Court may think just and expedient
+ \medskip
+ Dated the \nodate
+ \medskip
+ {\bf Note}---This summons may not be served later than 4~calendar
+ months beginning with the above date unless renewed by order of
+ the Court.
+ \medskip
+ This summons was taken out by \ignorespaces\sols \solicitors\
+ for the said \plaintfs\ whose \addressis\ as stated above
+ \medskip
+ \centerline{\bf IMPORTANT}\par\nobreak
+ Directions for Acknowledgment of Service are given with the
+ accompanying form.\par
+ }
+
+\def\subjectmatter#1#2{%#1=matter,#2=text
+ \global\advance\mattercount by1
+ \rightappenditem{\scaps#1 \rm of} #2\to\matters}
+
+\def\matter#1{\subjectmatter{In the Matter}{#1}}
+\def\estate#1{\subjectmatter{In the Estate}{#1}}
+
+\def\re#1{\nopartiestrue\def\res{\vbox{\hsize=2.8in
+ \centertext{#1}}}}
+
+% Set up the parties
+
+\def\forwhom{\pltext\dftext%\unskip
+ \ifclientpl\plaintfs\else\dfdants\fi}
+
+\def\notforwhom{\pltext\dftext%\unskip
+ \ifclientpl\dfdants\else\plaintfs\fi}
+
+\newcount\ct % courts
+\def\court{\ifcase\ct IN THE HIGH COURT OF JUSTICE
+ \or IN THE \courtname\ COUNTY COURT
+ \or IN THE COURT OF APPEAL
+ \or IN THE HOUSE OF LORDS
+ \else IN THE HIGH COURT OF JUSTICE
+ \fi}
+
+\def\highcourt{\ct=0}
+
+\def\countycourt{%\ct=1 \div=0 \dref=0
+ \morecountycourtdefaults\countycourtstuff\getcourtname}
+
+\def\getcourtname{% adapted from \setupccrefs below
+ \begingroup\obeylines
+ \aftergroup\getnameofcase\casereferences}
+
+\def\getnameofcase{%
+ \def\dateref{}%
+ \def\caseref{}%
+ \def\courtname{\argument1}%
+ }
+
+
+\def\courtofappeal{\ct=2\def\appealtext{\courtofappealtrue}}
+\def\houseoflords{\ct=3}
+
+\newcount\div
+\newcount\dref
+
+\def\chancery{\div=1 \dref=1
+ \def\divref{CH\ }
+ \def\issuer{Chancery Chambers}
+ \def\chambers{Master
+ \if\mast\empty \blank
+ \else\mast\ \fi in Chancery
+ Chambers, Room No.\noday, }}
+
+\def\queensbench{\div=2 \dref=2
+ \def\divref{QB\ }
+ \def\issuer{Central Office}
+ \def\chambers{the Master in Chambers in Room No.\noday,
+ Central Office, }}
+
+\def\familydivision{\div=3 \dref=3
+ \def\divref{No.\ }
+ \def\issuer{The Principal [{\it or\/}
+ \blank District Probate] Registry}
+ \def\chambers{}}
+
+\newcount\subdiv
+\def\subdivision{\ifcase\subdiv
+ \or Companies Court
+ \or Commercial Court
+ \or Official Referee's Court
+ \or The Principal [{\it or\/} \blank District Probate]
+ Registry
+ \fi}
+\def\companiescourt{\subdiv=1}
+\def\commercialcourt{\subdiv=2}
+\def\OR{\subdiv=3}
+\def\probateregistry{\subdiv=4}
+
+\def\mrjustice{}
+\def\judge#1{\def\mrjustice{#1}}
+\def\judgename{\if\mrjustice\empty\else Mr Justice \mrjustice\fi}
+
+\def\mast{}
+\def\master#1{\def\mast{#1}}
+\def\mastername{\if\mast\empty\else Master \mast\fi}
+
+\def\divref{\ifcase\dref
+ \or CH\
+ \or QB\
+ \or Fam.\
+ \fi}
+
+\def\dateref{\ifcountycourt\else\number\year\fi}
+\def\caseref{\ifcountycourt\else --\phantom{A}--\fi}
+\def\casenumber{No.~\phantom{1234}}
+\def\issued{}
+\def\writissued{}
+\def\issued#1 #2 #3 {\def\writissued{%
+ Writ issued the #1 day of #2 #3}}
+
+\def\no#1 {\def\casenumber{No.\ #1}
+ \def\dateref{}
+ \def\caseref{}}
+
+\def\reference{\divref\dateref\caseref\casenumber}
+
+% Can't remember what these did...
+%\def\sref#1{\def\sref{#1}}
+%\def\cref#1{\creftrue\def\cref{#1}}
+
+\def\attention#1{\def\attentionof{#1}}
+\attention{}
+\long\def\comment#1{\def\faxtext{\if#1\empty
+ \else\medskip#1\fi}}
+\comment{}
+
+\def\backsheet{\enddoc\bsdft}% default
+\let\beginos\os
+
+% Here are all the default parameters set by LeXTeX---
+
+\greektrue % Used in \sssscl
+\cardtrue % Used in \ssssscl
+\clindtrue % hanging indentation in clauses
+\nocommaindatefalse % Comma in the date
+\qfalse % No quotes in quotations
+
+\footindent=10pt % Indentation of footnotes
+\clindent=23pt % Indentation of clauses
+\sclindent=46pt % Indentation of sub-clauses
+\ssclindent=69pt % Indentation of sub-sub-clauses
+\sssclindent=92pt % Indentation of sub-sub-sub-clauses
+\ssssclindent=115pt % Etc
+\sssssclindent=138pt % Etc
+\cnindent=65pt % indentation of "computer-numbered" clauses
+
+\hclindent=0pt % Indentation of clauses if clindfalse
+\hsclindent=\clindent % Ditto of sub-clauses
+\hssclindent=\sclindent % Etc
+\hsssclindent=\ssclindent
+\hssssclindent=\sssclindent
+\hsssssclindent=\ssssclindent
+
+\parindent=20pt % indentation of paragraphs
+\quoteindent=20pt % indentation of quotations
+\quoteparindent=20pt % \parindent in a quotation
+\rbracketsize=2.85in % The width of the \vbox used for \ssd etc
+\lbracketsize=2.225in % The width of a left bracket \vbox
+\brackdepth=.5in % The space left under "in the presence of---"
+\hfuzz=1.5pt
+\hsize=5.35in
+\vsize=8.5in
+\hoffset0.5in
+\voffset.5in
+\parskip=3pt plus .75pt minus .75pt
+\def\footnoterule{}
+
+\quoteparskip=1.5pt plus 1pt % The amount of \parskip in quotes
+\blankskip=10pt plus20pt minus 0pt % Used in \noaddr etc
+\signindent=3.5in % Indentation of signature
+
+\settledgap=1in plus.3fill minus.5in % v. space Settled, \inn
+\clskip=\medskipamount % amount of skip before a clause
+\sclskip=\smallskipamount % amount of skip before a \scl
+\ssclskip=0pt plus1pt minus0pt % amount of skip before a \sscl
+\sssclskip=0pt plus.5pt minus0pt % ditto before a \ssscl
+
+\twelvebase=18pt % \normalbaselines in \twelvepoint
+\tenbase=15pt % \normalbaselines in \tenpoint
+\ninebase=11pt % \normalbaselines in \ninepoint
+
+\twelvesmallskipamount=4.5pt plus1pt minus1pt
+\twelvemedskipamount=9pt plus2pt minus2pt
+\twelvebigskipamount=18pt plus4pt minus4pt
+% The next three are set by PLAIN
+%\tensmallskipamount=3pt plus1pt minus1pt
+%\tenmedskipamount=6pt plus2pt minus 1pt
+%\tenbigskipamount=12pt plus4pt minus4pt
+\ninesmallskipamount=2pt plus.5pt minus.5pt
+\ninemedskipamount=4pt plus1pt minus 1pt
+\ninebigskipamount=8pt plus2pt minus 2pt
+
+% The next three are used by xref/contents macros
+\notespace=0.2in % space marginal notes--text
+\maxnote=1.0in % width of note
+\clnamelength=0pt % Default width in table of contents
+\pagewidth=\hsize % used by the index macros
+\pageheight=\vsize
+
+\def\against{and} % the "and" between parties in pleadings
+
+\tolerance=750
+
+\def\engrossment{%
+ \draftfalse
+ \def\csettled##1{}
+ \def\cresettled##1{}}
+
+\def\setexno#1{\def\clearexno{\exno=#1 \front=#1}\clearexno}
+
+\countdef\totaldocuments=1 \totaldocuments=0
+\countdef\totalpages=2 \totalpages=1
+
+\def\advancepageno{\ifnum\pageno<\z@ \global\advance\pageno\m@ne
+ \else\global\advance\pageno\@ne\fi
+ \global\advance\totalpages\@ne}
+ \output{\plainoutput}
+
+\def\plainoutput{\ifnum\pageno=1 \global\advance\totaldocuments\@ne\fi
+ \message{Shipping out page}
+ \shipout\vbox{\makeheadline\pagebody\makefootline}%
+ \inform{(\ifnum\pageno=0 Unnumbered page\else Page \the\pageno\fi
+ \space of Document \the\totaldocuments,
+ Total of \the\totalpages\space\ifnum\totalpages=1 page\else pages\fi\space so far)}%
+ \inform{}%
+ \advancepageno
+ \ifnum\outputpenalty>-\@MM \else\dosupereject\fi}
+
+\let\backmatter=\empty
+\let\signoff=\empty
+
+\def\bstitle#1{%
+ \getbstitlewidth
+ \def\title{\setbox0\hbox{#1}
+ \ifdim\wd0<\bstitlewidth\copy0
+ \else\vtop{\hsize=\bstitlewidth\centertext{#1}}\fi
+ }} % used for backsheets
+
+\newdimen\maxpartywidth
+
+% These slightly complicated macros were derived from some suggestions made
+% by Amy Hendrickson in TUGboat Vol 11, No 3, p359.
+% \default defines eg \argument1 to be parameter 2.
+% Unfortunately it would not be possible to call \argument1 directly.
+% It would be necessary to use \csname argument1\endcsname[parameter 2]
+% The macro \argument gets round this difficulty; \argument{1} (or \argument1
+% if there is only one token to be used) converts to \argument1 (all one word).
+% So \argument12 converts to \argument1{2}. Clear?
+
+\def\default#1#2{\expandafter\def\csname argument#1\endcsname{#2}}
+\def\argument#1{\csname argument#1\endcsname}
+
+\def\highcourtdefaults{%
+ \resetpleadingdefaults
+ \ct=0% I think this should be elsewhere
+ \default1{\number\year}
+ \default2{\phantom{W}}
+ \default3{\phantom{4321}}
+ \def\divref{CH~}
+ }
+
+% get rid of old defs
+\def\dateref{}
+\def\caseref{}
+\def\casenumber{}
+
+\def\probatedefaults{%
+ \resetpleadingdefaults
+ \default1{}
+ \default2{}
+ \default3{}
+ \def\divref{File No.~}
+ \def\sparties{}}
+
+\def\countycourtdefaults{%
+ \resetpleadingdefaults
+ \default1{\phantom{1234}}
+ \def\divref{}
+ }
+
+\def\morecountycourtdefaults{%
+ \resetpleadingdefaults
+ \default1{\phantom{BORCHESTER}}
+ \def\divref{}
+ }
+
+\def\division{\ifcase\div% \blank Division
+ \or Chancery Division% 1
+ \or Queen's Bench Division% 2
+ \or Family Division% 3
+ \or\or\or\or\or\or\or% 10
+ \or Chancery Division (Probate)% 11
+ \else \blank Division
+ \fi}
+
+\def\chanceryp{\div=11 \dref=1
+ \def\divref{CH\ }
+ \def\issuer{Chancery Chambers}
+ \def\chambers{Master
+ \if\mast\empty \blank
+ \else\mast\ \fi in Chancery
+ Chambers, Room No.\noday, }}
+
+\def\countycourtstuff{%
+ \ct=1 \div=0 \dref=0
+ \countycourttrue
+ }%
+
+\gdef\ch{%
+ \pleadingtrue\highcourtdefaults
+ \chancery\setuphcrefs}
+\gdef\qb{%
+ \pleadingtrue\highcourtdefaults
+ \queensbench\setuphcrefs}
+\gdef\family{%
+ \pleadingtrue\highcourtdefaults
+ \familydivision\setupfamrefs}
+\gdef\case{%
+ \pleadingtrue\countycourtdefaults
+ \countycourtstuff\setupccrefs}
+\gdef\chp{%
+ \pleadingtrue\highcourtdefaults
+ \chanceryp\setuphcrefs}
+\def\probate{%
+ \pleadingtrue\probatedefaults
+ \familydivision\begingroup}
+
+\def\setuphcrefs{% The \endgroup is given by \lookatarg
+ \begingroup\obeylines
+ \aftergroup\setuphighcourt\casereferences}
+
+\def\setupfamrefs{% The \endgroup is given by \lookatarg
+ \begingroup\obeylines
+ \aftergroup\setupfamcourt\casereferences}
+
+\def\setupccrefs{%
+% \countycourtdefaults
+ \begingroup\obeylines
+ \aftergroup\setupcountycourt\casereferences}
+
+\def\setuphighcourt{%
+ \def\dateref{\argument1}%
+ \def\caseref{---\argument2---}%
+ \def\casenumber{No.~\argument3}%
+ }
+
+\def\setupfamcourt{%
+ \def\dateref{\argument1}%
+ \def\caseref{ of~\argument2}%
+ \def\casenumber{}%
+ }
+
+\def\setupcountycourt{%
+ \def\dateref{}%
+ \def\caseref{}%
+ \def\casenumber{Case No.~\argument1}%
+ }
+
+% Note: Do not concatenate the next two lines
+% The end of line is the delimiter of #1 of \casereferences.
+% roger is the delimiter of #1 of \lookatarg. See Amy Hendrickson's
+% Article in TUGboat for an explanation.
+
+{\obeylines\gdef\casereferences#1
+{\expandafter\lookatarg#1 roger }}
+
+\newcount\argcount \argcount=0
+\def\endofargs{roger}
+
+\def\lookatarg#1 {\def\thisarg{#1}
+ \ifx\thisarg\empty \let\go\lookatarg\else
+ \ifx\thisarg\endofargs\let\go\endgroup
+ \else\unskip\advance\argcount by1
+ \expandafter\xdef\csname argument\the\argcount\endcsname{\thisarg}
+ \let\go=\lookatarg
+ \fi\fi
+ \go}
+
+\def\registry#1{%
+ \gdef\regis{#1 Registry}}
+\let\regis\empty
+
+
+% Move the next def
+\def\appealcourt{\def\apcourt{ON APPEAL FROM
+ \headingskip
+ \courtappealled}}
+\let\apcourt\empty
+
+\newdimen\bstitlewidth
+\def\getbstitlewidth{\iffullsize\bstitlewidth=\hsize
+ \else\bstitlewidth=.5\hsize\fi}
+
+% add to counter too many backsheet in multiple affys
+\newif\ifended
+
+\def\datesworn#1{\def\whensworn{#1}}
+\datesworn{~~/~~/\number\year}
+
+\def\origprocess#1#2#3#4#5{%#1=text for \draft, #2=intro text,
+% #3=heading of document, #4=signature (if used), #5=end text
+ \enddoc
+ \storeparindent=\the\parindent
+ \global\parindent=0pt
+ \draft{#1}
+ \pleadingtrue
+ \gettitle
+ \heading
+ \parties
+ \def\endofpleading{#4\bottomofpleading{#5}}
+ \ifdraft
+ \def\signoff{\endofpleading\settled} % see \chit
+ \else\let\signoff\endofpleading\fi
+ \medbreak
+ \leavevmode
+ #2\par
+ \centertext{#3}
+ \nobreak
+ \amendnote}
+
+\gdef\os{%
+ \origprocess{ORIGINATING SUMMONS}%
+ {\ostext}{}{}{\endostext}}
+
+\def\osinheritance{%
+ \origprocess{ORIGINATING SUMMONS}%
+ {\osinhtext}{}{}{\endosinhtext}}
+
+\def\specialwrit{%
+ \clientpltrue
+ \origprocess{WRIT OF SUMMONS\break(SPECIALLY ENDORSED)}%
+ {\writtext}{STATEMENT OF CLAIM}{\signature}{\endwrittext}}
+
+\def\generalwrit{% No Statement of Claim
+ \origprocess{WRIT OF SUMMONS\break(GENERALLY ENDORSED)}%
+ {\writtext}{}{\signature}{\endwrittext}}
+
+\def\writ{\specialwrit}
+
+\def\pageparameters{
+ \def\footnoterule{}
+ \parindent=10pt
+ \quoteindent=20pt
+ \quoteparindent=10pt
+ \twelvepoint
+}
+
+% These should be redefined in RHlocal
+\def\myaddress{\ouraddress}
+\def\ouraddress{}
+
+\newif\iffax
+\def\faxsheet{\faxtrue}
+
+\def\printfaxsheet{%
+ \amendtextfalse
+ \gdef\doctype{Sent by Fax}
+ \inform{\doctype}
+ \draftparameters
+ \draftfalse
+ \getworkdone
+ \let\backmatter\empty
+ \let\signoff\empty
+ \clindfalse
+% \begingroup
+ \pageno=1
+ \nopagenumbers
+ \parindent=0pt
+ \centerline{\caps Fax from \counselname}
+ \centerline{\vtop{\baselineskip=13pt\halign{\hfil##\hfil\cr
+ \myaddress\crcr}}\strut}
+ \bigskip
+ \leftline{\vtop{\tenpoint\halign{##\hfil\cr
+ \today\cr
+ \noalign{\medskip}
+ Solicitors' Reference---\sref\cr
+ Counsel's Reference---\cref\cr
+ \if\attentionof\empty\else
+ \noalign{\medskip}
+ For the Attention of \attentionof\cr
+ \fi
+ }\strut}}
+ \bigskip
+ \ifpleading\def\title{\chittitle\hfil}\fi
+ \centerline{\vtop{\halign{\hfil##\hfil\cr\title\crcr}}}
+ \vfil
+ \centerline{\caps This Fax Consists of \the\count1\ Pages}
+ \centerline{\caps (including this page)}
+ \faxtext
+ \vfil
+ \def\addressfile{solicitors}
+ \getaddress
+ \leftline{\vtop{\baselineskip=13pt
+ \halign{##\hfil\cr
+ \sols\crcr}
+ \strut}}
+ \supereject
+ % \endgroup
+ \faxfalse}
+
+\font\eightsl=cmsl8
+\font\eightit=cmti8
+
+\def\ca{% \def\v has been moved since it caused spacing problems
+\begingroup\it\frenchspacing % This deals with, eg. Ltd. and v.
+}
+
+\def\v{\unskip\/\ {\rm v}\maybespace}% taken out of \ca
+\def\se{\unskip\/\endgroup\maybespace}% mod aftergroup
+
+\def\signed{%
+ \inform{signature}%
+ \par\nobreak
+ \vskip1in plus 1fill
+ \hbox{\hskip\signindent\vtop{%
+ \parindent0pt
+ \inn
+ \hbox{\today}}}%
+ \vskip 1in plus 2fill minus1in}
+
+\def\jsigned{%
+ \inform{signatures}%
+ \par\nobreak
+ \vskip1in plus 2fill
+ \hbox{\hskip\signindent\vtop{%
+ \parindent0pt
+ \inn
+ \hbox{\today}}}%
+ \vskip 1in plus 1fill minus1in}
+
+\def\copysigned{%
+ \par\nobreak
+ \vskip.75in plus 1fill
+ \hbox{\hskip\signindent\vtop{%
+ \parindent0pt
+ \hbox{\counselname}
+ \hbox{\inn}
+ \hbox{\today}}}%
+ \vskip 1in plus 2fill minus1in}
+
+% These are defined twice! One should go...
+\def\csettled#1{%
+ \par\nobreak
+ \vskip1in plus 1fill
+ \hbox{\hskip\signindent\vtop{%
+ \advance\hsize by-\signindent
+ \parindent0pt
+ \raggedright\tolerance=1000
+ Settled, \ignorespaces#1
+ \vskip\settledgap
+ \inn
+ \hbox{\today}}}%
+ \vskip 1in plus 2fill minus1in}
+
+\def\cresettled#1{% Note the \par
+ \par\nobreak
+ \vskip1in plus 1fill
+ \hbox{\hskip\signindent\vtop{%
+ \advance\hsize by-\signindent
+ \parindent0pt
+ \raggedright\tolerance=1000
+ Re-Settled, \ignorespaces#1
+ \vskip\settledgap
+ \inn
+ \hbox{\today}}}%
+ \vskip 1in plus 2fill minus1in}
+
+\def\silenthyphen{\space}
+
+\def\footnotemark{% One bracket deleted.
+ \let\@sf\empty\relaxnext@\ifhmode\edef
+ \@sf{\spacefactor\the\spacefactor}\/\fi
+ \def\next@{\ifx[\next\let\next\nextii@\else
+ \ifx"\next\let\next\nextiii@\else
+ \let\next\nextiv@\fi\fi\next}% bracket deleted.
+ \def\nextii@[##1]{\footmarkform@{##1}\@sf}%
+ \def\nextiii@"##1"{{##1}\@sf}%
+ \def\nextiv@{{\scriptfont0=\sevenrm % scriptfont changed to 7pt
+ \global\advance\footmarkcount@\@ne
+ \footmarkform@{\number\footmarkcount@}\@sf}}%
+ \futurelet\next\next@}
+\catcode`\@=\other
+
+\def\instructions{%
+ \getbstitlewidth
+ \begingroup
+ \def\doctype{INSTRUCTIONS TO COUNSEL}
+ \capacitytrue
+ \bsparams
+ \ifpleading
+ \else\xcenterline{\underbar{DATED\hskip2in \number\year}}\vfil\fi
+ \xcenterline{\vtop{\openup2\jot
+ \halign{\hfil##\hfil\cr
+ \title\crcr}}}
+\vfil
+ \headerfont
+ \xcenterline{%
+ \setbox0\hbox{\doctype}%
+ \ifdim\wd0<\bstitlewidth\copy0
+ \else\vtop{\hsize=\bstitlewidth\centertext{\doctype\strut}}%
+ \fi}
+ \rm
+ \medskip
+ \xcenterline{\formalcounselname}%
+ \vfil\vfil
+ \getaddress
+ \halign{\def\temp{##}\xcenterline{\upperc{\temp}}\inform{::\temp::}\cr
+ \sols\crcr}%
+ \smallskip
+ \xcenterline{\eightrm Solicitors' Reference: \sref}
+ \xcenterline{{\eightrm Counsel's Reference: \col/\cref}}
+ \supereject
+ \endgroup}
+
+\def\writecontents{\inform{Opening contents file: }%
+ \immediate\openout\cont=\contentswritefile}
+
+\def\minutes{%
+ \spleading{MINUTES OF ORDER}
+ {\scaps This Application}, \etc\par
+ {\scaps And Upon Hearing}, \etc\par
+ {\scaps And Upon Reading}, \etc\par}
+
+\vbadness=5000 % No messages about underfull pages
+\delimitershortfall=1pt
+\delimiterfactor=999
+
+% amend topofpleading to have 3 params, 3 being party.
+\def\dovcert{\sdcert{M}}
+\def\giftcert{\sdcert{L}}
+
+\def\capacityfont{}
+\def\capacity#1{\ifcapacity ({\capacityfont #1\/})\else\unskip\fi}
+
+\def\beginparticulars{%
+ \par
+ \vskip\clskip
+ \begingroup
+ \clno=0
+ \centerline{PARTICULARS}
+ \par\nobreak}
+
+\def\endparticulars{%
+ \endgroup}
+
+\def\writtext{%
+ {\scaps To The \expandafter\uppercase{\dfdants}}%
+ \unskip\space\getdefs\smallskip
+ {\caps This Writ of Summons} has been issued against you by
+ the \plaintfs\ \getpls\unskip\ in respect of the claim
+ hereinafter set out.
+ \medskip
+ Within 14 days after the service of this Writ on you,
+ counting the day of service, you must either satisfy the
+ claim or return to the Court Office mentioned below the
+ accompanying {\scaps Acknowledgment of Service} stating
+ therein whether you intend to contest these proceedings.
+ \medskip
+ If you fail to satisfy the claim or to return the
+ Acknowledgment without stating therein an intention to
+ contest the proceedings, the \plaintfs\ may proceed with the
+ action and judgment may be entered against you forthwith
+ without further notice.
+ \medskip
+ Issued from the \issuer\ of the High Court this \nodate
+ \bigskip
+ {\bf Note}---This Writ may not be served later than 4 calendar
+ months beginning with that date unless renewed by order of
+ the Court.
+ \bigskip
+ \centerline{\bf IMPORTANT}
+ \nobreak\medskip
+ Directions for Acknowledgement of Service are given with the
+ accompanying form.\par
+ \bigskip
+ %\vfil\penalty-5000\vfilneg
+ \baselineskip=18pt
+ \nobreak\smallskip\nobreak} % End of \writtext
+
+% set up defaults
+\bstitle{}
+\solsref{}
+\colsref{} % Omit Counsel's initials
+\timetaken{} % hours
+\casetype{}
+\value{} % omit pound sign
+\difficulty{} % out of 10
+\proposedfee{} % omit pound sign
+\legalaidno{}
+\comments{}
+
+\def\Writissued{}
+\maxpartywidth=4.5in % set \maxp@rtywidth.
+\def\amendnote{}
+\def\amend{}
+% Set up default in case no division is given.
+\ch
+
+\pleadingfalse % And reset this
+\resetpleadingdefaults
+\reset
+\input rhlocal
+\catcode`@=12
+\normalnumbering
+\twelvepoint
+
diff --git a/macros/plain/contrib/lextex/ltman.tex b/macros/plain/contrib/lextex/ltman.tex
new file mode 100644
index 0000000000..da5dab58c7
--- /dev/null
+++ b/macros/plain/contrib/lextex/ltman.tex
@@ -0,0 +1,1656 @@
+% This is LTman, the preliminary version of the Manual for \LT\.
+\ifx\lextexisloaded\undefined\input lextex\relax\fi
+\newif\iflongversion
+%\input newmacs
+% At the moment it is *very* preliminary and pretty messy.
+% It is also long since it includes a lot of macros, including
+% indexing macros which would normally be \input separately.
+% It is possible to produce it in two versions,
+% ie, with and without the text of the LeXTeX macros.
+% The default is to omit them.
+%
+% If you wish to print the full version, change \longversionfalse
+% to \longversiontrue.
+% However DO NOT DO THIS at the moment since the text of the macros is
+% missing!!!!
+\longversionfalse
+%
+%
+% These are the indexing and index-formatting macros.
+% They are adapted messily from manmac and elsewhere.
+%
+\def\index{\indextrue \writeindex}
+\def\indexname{Index} % ditto
+\def\topofindex{\centerline{\titlefont\indexname}}
+\def\botofindex{\vfill\eject}
+\def\indexreadfile{\jobname.inx} % file that gets index info
+\def\indexwritefile{\jobname.inx} % file that takes it
+\def\writeindex{\inform{Opening index file: }
+ \openout\inx=\indexwritefile}
+\def\readindex{\input \indexreadfile}
+
+% Use second version for formatting unsorted index
+%\def\formatindex#1 !#2 #3.{% orig "#1 !#2" #3.
+\def\formatindex"#1 !#2" #3.{%
+ {\ifcase#2 #1\or\tt #1\or\tt\bslash#1\or\tt<#1>\fi\space#3.}}
+\def\printindex{% Print the index
+ \write\inx{} % ensure that the index file isn't empty
+ \immediate\closeout\inx % index information has been fully gathered
+ \inform{Index: }\relax
+\vtop{\topofindex}
+ \begindoublecolumns
+ \advance\baselineskip by0pt plus1pt minus0pt % add some give
+ \tenpoint
+ \parindent=0pt
+ \parskip=0pt plus.8pt minus0pt
+ \everypar{\hangafter1 \hangindent10pt\formatindex}
+ \raggedright
+ \tolerance=1000
+ \relax
+ \readindex\relax % read the index info
+ \enddoublecolumns
+ \botofindex }% print the index page(s), don't terminate
+%
+% Manmac macros which can be used to print index in 2 cols.
+%
+\newbox\partialpage
+\def\begindoublecolumns{\begingroup
+ \output={\global\setbox\partialpage=\vbox{\unvbox255\bigskip}}%
+ \eject
+ \output={\doublecolumnout}%
+ \divide\hsize by2 \advance\hsize by-15pt % 15x2=inter col space
+ \multiply\vsize by2 \advance \vsize by1pt}%
+\def\enddoublecolumns{\output={\balancecolumns}\eject
+ \endgroup \pagegoal=\vsize}
+%
+\def\doublecolumnout{\splittopskip=\topskip \splitmaxdepth=\maxdepth
+ \dimen0=\pageheight %8.5in
+ \advance\dimen0 by-\ht\partialpage
+ \setbox0=\vsplit255 to\dimen0 \setbox2=\vsplit255 to\dimen0
+ \onepageout\pagesofar
+ \unvbox255 \penalty\outputpenalty}
+\def\pagesofar{\unvbox\partialpage
+ \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}}
+\def\balancecolumns{\setbox0=\vbox{\unvbox255} \dimen0=\ht0
+ \advance\dimen0 by\topskip \advance\dimen0 by-\baselineskip
+ \divide\dimen0 by2 \splittopskip=\topskip
+ {\vbadness=10000 \loop \global\setbox3=\copy0
+ \global\setbox1=\vsplit3 to\dimen0
+ \ifdim\ht3>\dimen0 \global\advance\dimen0 by1pt \repeat}
+ \setbox0=\vbox to\dimen0{\unvbox1}
+ \setbox2=\vbox to\dimen0{\unvbox3}
+ \pagesofar}
+ %
+% Modify \onepageout
+\def\onepageout#1{\shipout\vbox{ % here we define one page of output
+ \offinterlineskip % butt the boxes together
+ \vbox to \pageheight{
+ #1 % now insert the main information
+ \ifvoid\footins\else % footnote info is present
+ \vskip\skip\footins \kern-3pt
+ \hrule height\ruleht width\pagewidth \kern-\ruleht \kern3pt
+ \unvbox\footins\fi
+ \boxmaxdepth=\maxdepth
+ } % this completes the \vbox to \pageheight
+ \vbox{{\vskip10pt\hsize=\pagewidth \makefootline}}% This is added
+ }
+ \advancepageno}
+
+% index macros
+% adapted from manmac
+
+\chardef\*=`\* % \* produces an asterix in text mode
+\newif\ifsilent
+% The \null a couple of lines down prevents something odd happening
+\def\specialstar{\ifmmode\def\next{*}%
+ \else\null\let\next=\beginindexref\fi\next}
+\def\beginindexref{\futurelet\next\beginindexrefswitch}
+\def\beginindexrefswitch{\ifx\next\specialstar\let\next=\silentindexref
+ \else\silentfalse\let\next=\indexref\fi\next}
+\global\catcode`\*=\active \global\let*=\specialstar
+\def\silentindexref*{\silenttrue\indexref}
+%
+\chardef\bslash=`\\
+\def\indexref{\futurelet\next\indexrefswitch}
+\def\indexrefswitch{\begingroup
+ \ifx\next|\aftergroup\vindexref % case 1 or 2, |arg| or |\arg|
+ \else\ifx\next\<\aftergroup\angleindexref
+ % case 3, "\<arg>" means angle brackets. This may change.
+ \else\aftergroup\normalindexref \fi\fi\endgroup} % case 0, "{arg}"
+\def\vindexref|{\catcode`\\=\active \futurelet\next\vindexrefswitch}
+\def\vindexrefswitch#1|{\catcode`\\=0
+ \ifx\next\empty\def\indexreftype{2}%
+ \def\next{{\tt\bslash\text}}% type 2, |\arg|
+ \else\def\indexreftype{1}\def\next{{\tt\text}}\fi % type 1, |arg|
+ \edef\text{#1}\makeindexref}
+{\catcode`\|=0 \catcode`\\=\active |gdef\{}}
+\def\angleindexref\<#1>{\def\indexreftype{3}\def\text{#1}%
+ \def\next{\<\text>}\makeindexref}
+\def\normalindexref#1{\def\indexreftype{0}
+ \def\text{#1}\let\next=\text\makeindexref}
+\def\makeindexref{\ifhmode\unskip\fi
+ \xdef\writeit{\write\inx{"\text\space!\indexreftype"\space
+ \noexpand\number\pageno.\endgraf}}\writeit
+ \ifsilent\unskip\ignorespaces\else\next\unskip\aftergroup\ignorespaces\fi}
+%
+\newif\ifsortedindex
+\def\typeofindex{\ifsortedindex
+ \def\formatindex##1 !##2 ##3.{% orig "##1 !##2" ##3.
+ {\ifcase##2 ##1\or\tt ##1\or\tt\bslash##1\or\tt<##1>\fi\space##3.}}%
+ \def\indexreadfile{RHsind.tex}%
+\fi\index}
+%
+% If we are not using a sorted the index, comment out next line.
+%\sortedindextrue
+%
+% end of indexing macros
+
+\def\storypage{24} % listing of story.tex
+
+\def\AmSTeX{$\cal A\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.075em
+ S$-\TeX}
+\def\bull{\vrule height .9ex width .8ex depth -.1ex } % square bullet
+%
+% Set/adjust the defaults
+\parskip=3pt plus .75pt minus .75pt
+\parindent 0pt
+\twelvebase=15pt
+\tenbase=11.5pt
+\ninebase=10pt
+\quoteindent=40pt \quoteparindent=20pt
+\hsize=5.35truein
+\vsize=8.5truein
+\hoffset0.5truein
+\voffset.5truein
+\clubpenalty=2500
+\widowpenalty=7500
+\finalhyphendemerits=7500
+\displaywidowpenalty=50
+\brokenpenalty=2500
+\global\cnindent=45pt
+\global\clskip=\smallskipamount
+
+% Start in 12 pt
+\twelvepoint
+
+% Misc defs
+\def\sh{\noindent\titlefont} % Change this to give new page etc
+\def\tbi{**{TeX book, the}}
+\def\T{\TeX}
+\def\TB{{\sl \T book\/}}
+\def\WP{{\sl Word Perfect\/}}
+\def\pctex{{\tt PC\TeX}}
+\def\MF{{\tt MYFILE}}
+\def\tex{{\tt .TEX}}
+\def\dvi{{\tt .DVI}}
+\def\log{{\tt .LOG}}
+\def\TEX{{\tt TEX}}
+\def\ver#1{{\tt $\backslash$ #1}}
+\def\vn{0.96} % VERSION NUMBER
+\def\r{\LT}% Change of name
+\def\botofcontents{\vfill\eject} % this material will end it
+
+% Latex logo
+\def\sc{\scaps}
+\def\LaTeX{{\rm L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
+
+\let\LT\LeXTeX
+
+% Start here
+\version{Version \fmtversion\ (draft 1)}
+%
+% Do not produce contents for the time being
+%\contents
+% Set title of contents page (for when used)
+\ctstitle{%
+ \centerline{\LeXTeX}
+ \medskip
+ \centerline{A version of \TeX\ adapted for use by members of the Bar}
+ \medskip
+ \centerline{\tenrm \copyright 1991 \rh}
+ }
+%
+
+\def\xyz{\iflongversion Long \else Short \fi}
+\inform{}
+\inform{This is the \xyz Version of the LeXTeX Manual}
+\inform{}
+\typeofindex
+%
+% This is the start of the text
+%
+%
+\centerline{\headerfont \LeXTeX\ref{With apologies to the designer of the
+\LaTeX\ logo.}}
+
+\medskip
+\centerline{A version of \TeX\ adapted for use by members of the Bar}
+\medskip
+\centerline{\ca Preliminary Incomplete Draft\se Manual}
+\smallskip
+\centerline{\tenrm \copyright 1991 \rh}
+
+\bigskip
+
+{\sh ^{Introduction}}
+
+\smallskip
+
+
+\noindent\T\ is not a *{word-processor}; It is a *{text-formatter}. You
+cannot use it to prepare your text; for that purpose you must use a normal
+word-processor such as \WP\ or a text editor such as \ca Emacs\se. \T\ is
+also not a ``*{what you see is what you get}'' program. It is suggested in
+{\sl**{LaTeX}The \LaTeX\ Guide\/} \ref{Page 7. \bo The \LaTeX\ Guide\ok is
+published by Addison Wesley, ISBN 0-201-15790-X.} that a better expression
+for programs of that type is ``*{what you see is all you've got}''. All
+that \T\ does it to convert a text file into printed output, but it can be
+extremely successful at the job.
+
+The way that \T\ works is to respond to commands inserted in the text in a
+similar way to that in which a word processor responds to its commands .
+The difference is that \T\ commands are visible and have no effect
+whatsoever while the file is being prepared; the commands inserted in a
+word-processed file often take effect immediately so that, for example, text
+to be centered is shifted to approximately the centre of the screen. Another
+difference is that any \T\ command can be redefined at any time. To take an
+example, the command |\centerline{This text is centered}| will normally
+simply centre the words within the squiggly brackets. However it is
+extremely simple to redefine the command |\centerline| so that it right or
+left justifies the text, or prints it in italic type. In order to left
+justify it all that would be necessary would be to add at the start of the
+text file the command |\let\centerline=\leftline|. This would affect all
+subsequent |\centerline| commands.
+
+This ability to define and redefine commands, or macros, makes \T\ extremely
+powerful and flexible. One result is that it is possible to divorce the
+preparation of the text, for example the body of a Pleading, from the layout
+of the document; the draftsman can concentrate on the content rather than
+the form. To take an example, the command |\writ| is used when printing a
+Writ. The draftsman need not be concerned with whether the command simply
+types at the top of the page ``[Usual Formal Parts]'' or inserts the full
+formal text. Further, if the command |\os| is substituted for |\writ| the
+formal parts will automatically change; the draftsman need not be concerned
+with what they say. Similarly if after re-reading the Instructions it
+becomes apparent that they are given on behalf of the Defendant all that is
+necessary is to substitute |\defence| for |\writ| and the appropriate layout
+will be produced.
+
+One well-known collection of macros that almost completely achieves this
+separation is called \LaTeX\ after its author Leslie Lamport. It is,
+however, designed principally for use by academics and so although extremely
+good at producing papers for learned journals, is not so good at producing
+the somewhat odd documents sent out by members of the Bar.
+
+Another set of macros which has been produced by me (with the assistance of
+many other people) is called \LT. The sole object of this package of
+macros is to assist in the formatting of the type of work produced by
+members of the Bar. It cannot claim to be any where near as good at its job
+as \LaTeX\ is at its, and it will be modified in the future as its
+deficiencies become obvious, but it is already reasonably effective.
+
+There are versions of \T\ running on most modern computers from the \bo
+Atari\ok home computer to the \bo Cray\ok super computer. In my own Chambers
+\T\ has been installed on an \bo Acorn Archimedes\ok, a \bo Commodore
+Amiga\ok, an \bo Apple Macintosh\ok and about half a dozen different MSDOS
+clones. There are at least six different versions of \T\ available for MSDOS
+machines, the differences between them being mainly questions of speed and
+ease of use.
+
+Every version of \T\ will format a given input file in an identical manner.
+Although the source code for the program is in the public domain, its
+author, Professor Donald Knuth, retains the copyright and will not allow any
+program to be sold or given away under the name of \T\ unless it can be
+demonstrated that its output is identical to the output of all other
+versions. Any version of \T\ is, however, allowed to use different names for
+the places where it keeps files. For example one version may keep certain
+files in a directory called |texinputs| while another may use an entirely
+different name. It is not therefore possible in this manner to describe in
+detail how to run \T\ or \LT\ on any particular machine and for this you
+must refer to the instructions for your particular version of \T.
+
+
+\TeX\ does not show you on screen what your text will look like as you type
+it\ref{It is usually possible to look at the output produced by \TeX\ using
+a screen previewer.}. One reason for this is that it is almost impossible
+to show \T's output on screen. A normal computer screen has a resolution of
+a few hundred dots in each direction. \T\ on the other hand uses scaled
+points for its calculations, and one hundred scaled points is roughly the
+wavelength of visible light; there are approximately 4,736,287 scaled
+points to the inch, and a normal line of type is about 5.35 inches
+long\ref{This is a slightly specious argument. The present generation of
+laser printers print 300 dots to the inch and so would print no more than
+1,605 dots on an average line.}. However, the main reason is that \TeX\ does
+not decide where to break a paragraph into lines until it has read the
+entire paragraph. The addition of one word to the end of a paragraph can
+alter the place where every line in that paragraph is broken.
+
+
+\bigbreak
+
+{\sh ^{Running \T.}}
+
+\nobreak\smallskip
+
+\noindent It is beyond the scope of this manual to explain the workings of
+\T\ in detail. It is almost essential for a user of \T\ or any macro package
+based on \T\ to acquire the main textbook on the subject, the \TB\ by
+Professor Knuth\ref{Addison Wesley, ISBN 0-201-13447-0. The quotations from
+this book used in this manual are printed with the permission of the
+publishers.}. A shorter guide is \bo a Gentle Guide to \T\ok, by Michael
+Droob. This can be downloaded in textual form from various electronic
+bulletin boards such as |Legal Teleforum| or |CIX| or from the mailserver
+|texserver@tex.ac.uk| or can be purchased in printed form from \bo
+UK\T\ok\ref{Details from Malcolm Clark, IRS, Polytechnic of Central London,
+115 New Cavendish Street, London W1M 8JS, e-mail: malcolmc@mole.pcl.ac.uk},
+the United Kingdom branch of the \bo \T\ Users Group\ok which has its
+headquarters in America.
+
+
+Running \T\ involves the following steps---
+
+\cl Prepare a file, using a word-processor such as \WP**{Word Perfect}\ or a
+text editor such as \bo Emacs\ok.
+
+
+\cl Save that file in *{ASCII}\ref{Text produced by \WP\ must be saved in
+*|DOS TEXT| format.} using the *{file extension} \tex. For the purposes of
+these Notes I will assume that the file itself is called ``\MF''\ref{Those
+familiar with computer manuals will know that stupid names of this type are
+always chosen for examples.}**|MYFILE|. The document should therefore be
+saved in the current directory as \MF\tex.
+
+
+\cl Apply \T\ to the file by typing \TEX\ \MF. Note that it is not
+necessary to type the file extension (although no harm will come from doing
+so). \T\ will produce two additional files, \MF\dvi\ and \MF\log. The
+latter contains error messages while the former, if your file contained no
+major errors, will contain the formatted text, ready for printing. (*|DVI|
+stands for ``*{DeVice Independent}''. A |DVI| file prepared on an IBM will
+be identical to one prepared on an {\sl *{Archimedes\/}}, an {\sl
+*{Amiga\/}}, an {\sl *{Atari}\/}, a {\sl *{Cray\/}} or a {\sl
+*{Macintosh\/}}.)
+
+
+\cl Print \MF\dvi\ref{This normally involves using a separate program. For
+example, Personal \TeX\ Inc.\ produce a program called ``PTI\,HP'' which
+prints on HP laser printers using an IBM compatible computer. |emTeX|, a
+public domain version of \T\ for MSDOS computers comes with printer drivers
+for most printers.}
+
+\bigbreak \clno=0
+\noindent\MF\tex\ need only have one \T\ command in it. That command is
+|\bye|, which tells \T\ that you have finished; anything that is typed after
+the |\bye| will simply be ignored. On the other hand, it could contain
+hundreds of separate commands. An intermediate type of file is the one
+called ``STORY.TEX'' which is set out in {\it Fig.~1\/} (and is taken from
+Chapter~6\ref{Page \storypage.} of the \TB\tbi). This file was prepared by
+Professor Knuth in such a way as to demonstrate a number of points---
+
+\def\boxit#1{\vbox{\hrule\hbox{\vrule\kern3pt
+\vbox{\kern3pt#1\kern3pt}\kern3pt\vrule}\hrule}}
+
+\newdimen\insertsize
+\insertsize=\hsize
+\advance\insertsize-12pt
+
+\setbox100=\vbox{\hsize=\insertsize
+\noindent\strut
+\tenbase=11pt
+\parskip=0pt
+
+\tenpoint
+
+\nrbeginlines
+
+**|STORY.TEX|
+|% This is STORY.TEX in text format, as of Mar 31, 1986.|
+|\hrule|
+|\vskip .75in|
+|\centerline{\bf A SHORT STORY}|
+|\vskip 6pt|
+|\centerline{\sl by A. U. Thor} |
+|\vskip .5cm|
+|Once upon a time, in a distant|
+| galaxy called \"O\"o\c c,|
+|there lived a computer|
+|named R.~J. Drofnats.|
+| |
+|Mr.~Drofnats---or ``R. J.,'' as|
+|he preferred to be called---%|
+|was happiest when he was at work|
+|typesetting beautiful documents.|
+|\vskip .75in|
+|\hrule|
+| |
+|\bye|
+
+
+\medskip
+\nrendlines
+\strut}
+
+\midinsert
+\boxit{\boxit{\box100}\advance\hsize by-6pt\centerline{\strut\tenit Fig.\ 1}}
+\endinsert
+
+\twelvepoint
+
+\clno=0
+\cl A *{percentage sign} (\%) in \T\ is a comment character and so the
+first line of the story will not be typeset by \T. A number of the
+following lines start with a backslash---the second line, for example, is
+*|\hrule|. A backslash introduces a \TeX\ command---in this case the
+command draws a horizontal line across the page; the next command (*|\vskip
+.75in|) tells \T\ to skip down the page by one inch. It should be noted
+that {\it all\/} of \T's commands start with a backslash.
+
+\cl The command *|\centerline| (note the American spelling) centres the text
+enclosed in squiggly brackets after it. (Many of \T's commands have
+parameters enclosed in brackets like this). The next |\vskip| skips down the
+page by six points\ref{There are 72.27 printers' points to an inch and so
+this is slightly more than \frac1/{12}th inch.}, and the next line centres
+the author's name in {\sl slanted\/} type, while the next after that skips
+by half a \hbox{centimetre}.
+
+\cl The text which follows is decidedly odd\ref{The name of the computer
+will be thought less odd by readers of the \TB\tbi.}, but it is intended to
+show various things, such as the use of the tilde ($\tilde{\phantom{x}}$)
+as a tie, or non-breakable space, between characters, the use of a number
+of hyphens to produce a dash, various accents, the use of the percentage
+sign to ensure that no spaces occur after the dash after ``called''\ref{In
+\T\ a carriage return produces a space. The \% `comments-out' the space.},
+the fact that many spaces have the same effect as one, and the fact that
+quotation marks are made up of two single left or right quotes. (Some IBM
+machines do not have left single quotes. This difficulty can be got round by
+typing *|\lq| instead; it is also possible to set up a shorter command to
+produce double left quotes.) Since the percent sign is a comment character
+it cannot be used directly for its normal purpose. In order to print a
+percent sign you must type a backslash in front of it (|\%|)**{percent sign
+(\%)}. Similarly, if you want to print \$, \&, \#, \* or \_, you must type
+|\$|**|dollarsign|, |\&|**{ampersand}, |\#|**{hashsign, (real)},
+|\*|**{asterix}, or |\_|**{underline}. Printing the backslash character
+itself (|\|)**{backslash}, or the *{squiggly brackets} |{| and |}| is
+slightly tricky but can be done if essential.
+
+
+When this file is \T ed, it will produce a *|DVI| file which, when printed,
+will produce the result shown in {\it Fig.~2\/}.
+
+\setbox101=\vbox{\hsize=\insertsize
+\noindent\strut
+\tenpoint% This is STORY.TEX in text format, as of Mar 31, 1986.
+\hrule
+\vskip .75in
+\centerline{\bf A SHORT STORY}
+\vskip 6pt
+\centerline{\sl by A. U. Thor}
+\vskip .5cm
+Once upon a time, in a distant
+ galaxy called \"O\"o\c c,
+there lived a computer
+named R.~J. Drofnats.
+
+
+Mr.~Drofnats---or ``R. J.,'' as
+he preferred to be called---%
+was happiest when he was at work
+typesetting beautiful documents.
+\vskip .75in
+\hrule
+\vskip4pt
+}
+
+\midinsert
+\boxit{\boxit{\box101}\advance\hsize by-6pt\centerline{\strut\tenit Fig.\ 2}}
+\endinsert
+
+
+\twelvepoint
+This text was printed in \T's *{default size}, that is to say, *{ten-point},
+and with narrow line spacing, \etc. The macro package \LT\ alters these
+defaults, setting the standard point size to 12~point and the spacing
+between lines to be 18~points. These can both be altered without difficulty.
+
+\smallbreak
+\LT\ adds a number of commands to those normally available in \TeX. If, for
+example, you commence the Story file with the line |\input lextex| ,
+substitute the line *|\opinion| for all the lines before the real text
+begins and omit the final |\vskip .75in| and |\hrule| the result when the file
+is \TeX ed will be something like {\it Fig.~3\/}. (Note
+that \T\ is case sensitive: |\input| is not the same as |\INPUT|.)
+
+The line |\input lextex| cause \T\ to read in the file containing the \LT\
+macros. Since this is a large file it takes quite a long time. \T\ has the
+facility to convert files such as \LT\ into a format which it can load at
+high speed. Again the way in which it does this varies from version to
+version. In general, however, the command will be something like |initex
+&plain lextex \dump|. Look up |initex| and |format files| in the manual
+which comes with your version of \T\ for more details. The result should be
+that a new format file is created with the extension |.fmt|. Your manual
+should say where this should be placed; if it doesn't, try looking for other
+files with the same extension and move it to the directory in which they are
+found.
+
+Having created a new format file \T\ can be run using the \LT\ macros by
+typing |tex &lextex filename| (where `filename' is, of course, replaced with
+the name of the file you wish to \T). (It is usual to create a batch file to
+do this automatically.) It is then no longer necessary to add |\input
+lextex| at the beginning of the file.
+
+\setbox102=\vbox{\hsize=\insertsize
+\noindent\strut
+\tenpoint
+
+% This is STORY.TEX in text format, as of Mar 31, 1986.
+%\hrule
+%\vskip .5in
+\twelvepoint % \twelvebase is the default size of 18pt
+\hfuzz=1.5pt
+\vsize=2.75in
+\parskip=3pt plus .75pt minus .75pt
+\quoteparskip=1.5pt plus 1pt % The amount of \parskip in quotes
+\parindent=20pt \quoteindent=40pt \quoteparindent=20pt
+%
+%\opinion % Calling it here causes problems. Fudge it.
+\centerline{\headerfont Opinion}
+\nobreak\vskip10pt\noindent
+Once upon a time, in a distant
+ galaxy called \"O\"o\c c,
+there lived a computer
+named R.~J. Drofnats.
+
+
+Mr.~Drofnats---or ``R. J.,'' as
+he preferred to be called---%
+was happiest when he was at work
+typesetting beautiful documents.
+\signed% Also necessary since no \bye
+}
+
+\midinsert
+\boxit{\boxit{\box102}\advance\hsize by-6pt\centerline{\strut\tenit Fig.\ 3}}
+\endinsert
+\twelvepoint
+
+
+
+You are now ready to learn in somewhat greater detail about \LT.
+
+\vfil\supereject
+
+\hfuzz=2pt
+\centerline{\headerfont \r}\par
+\bigskip
+
+It is customary in connection with computer programs to number the
+*{versions} which appear before the production version with numbers less
+than 1.0 and those of the production versions with numbers over 1.0. (The
+figure before the decimal point denotes a major release and that after it a
+small modification.) Thus the version of \WP\ currently in use is 5.1.
+These Notes and \r\ are both the \fmtversion\ versions\ref{Until recently
+\LT\ was known as |RHfmt| and went through versions 0.001 to 0.911. The fact
+that \LT\ has a number larger than 1 does not mean that it is perfect.} and
+as a result suffer from many deficiencies---and this manual contains a
+number of spelling and grammatical mistakes; it almost certainly describes
+some of the macros incorrectly\ref{You got it free and so you cannot
+complain \ca too\se loudly.}. \r\ itself has been in use for over two years
+but has been altered and rewritten on a number of occasions. A large part of
+it is pretty stable and relatively bug-free (in so far as it is possible for
+any computer program to be bug-free) but other parts, and in particular
+those that deal with pleadings are still far from perfect. These problems
+will usually manifest themselves as poor spacing or bad layout. They should
+not give rise to any insuperable difficulties.
+
+\medskip
+The written work of members of the Bar falls into three classes. First there
+is advisory work, whether or not in connection with litigation, then there is
+the production of non-litigious documents, and finally there is the
+production of pleadings of all types. \r\ has been designed to enable all of
+this work to be produced using \TeX\ as simply as is possible. I will try
+and explain the various commands under the same three headings, although it
+is perfectly possible to use, for example, a macro intended for use in a
+Statement of Claim in an Opinion\ref{Or Advice or other form of written
+advisory work.} or a Draft.
+
+\vfil\break
+{\sh ^{Written Advice.}}
+\nobreak\smallskip\noindent
+As was seen above, if you type *|\opinion| at the start of your file, an
+Opinion will be produced. Similarly, typing *|\advice|, *|\note| or
+|\jopinion| will put ``Advice'', ``Note'' or ``Joint Opinion'' at the top of
+the page. The command |\opinion| is actually shorthand for
+|\advising{Opinion}|. The command **|\advising||\advising{type of advice}|
+tells \T\ that what follows is written advice and should be formatted
+appropriately.
+
+It is very easy to set up other forms of header for written work. If
+you use the style that requires the name or the case-name to be put at the top of
+your written work then, for example, |\advice| could be redefined
+as---
+
+ |\def\advice{\centerline{\bstitle}|\hfil\break
+ |\smallskip\advising{Advice}}|.\hfil\break
+
+(For |\bstitle| see\ \pageref{bstitle} below.)
+
+\TeX, being an American program, believes that the ``\pounds\/'' symbol is
+unnecessary. Indeed, the font in which this is being typed does not contain
+a pound sign (although it contains various other odd symbols such as ?` and
+!` and possibly \AA\ and $\widehat \Psi$\ref{Mathematicians
+are apparently delighted by being able to type such wondrous things as
+$\Upsilon^{\Phi^{\varpi^\surd}}$ and $\sharp_{\forall_{\Phi_\triangle}}$,
+especially in a footnote.}). \TeX\ being a typesetting, rather than a
+wordprocessing, program, this does not cause significant difficulties since
+it is possible to use the pound sign from other fonts.
+
+In order to print ``\pounds'' the user of \r\ should type *|\pounds|. It is
+not essential to leave a gap between the ``s'' and the sum---\TeX\ will
+remove it if you do leave one.
+
+\font\seventeenrm=cmr17
+\tolerance=1000 \r\ sets up fonts in families of a particular point size.
+The default size---which I recommend should be used as the standard size---is
+*{12-point}; my view is that tenpoint script is not reproduced very well by a
+laser printer at *{300 dpi}. Other sizes are *{10-point}, and *{9-point}.
+They can be brought into use by typing *|\twelvepoint|, *|\tenpoint|, and
+*|\ninepoint|. The user \tenrm should not \ninerm find it necessary
+\eightrm to \sevenrm select \sixrm the smaller \fiverm or larger \sixrm
+sizes since \eightrm\TeX\ and \r\ together \ninerm automatically \tenrm
+select \twelverm the appropriate size in most situations. However, it is
+possible for the experienced user to select \seventeenrm any\ref{This is 17
+point.} \twelverm size if necessary. Any *{mathematics}, including simple
+fractions such as $15\over543$ or \frac{32}/{67}, will, with a bit of luck,
+be typed at the correct size.
+
+As is explained in the \TB, the command *|\rm| produces roman type, *|\it|
+produces \ca italic\se type, *|\sl| produces \bo slanted\ok type and *|\bf|
+produces {\bf bold} type in the current point size. \r\ adds a few more
+types of font. The command *|\ul| {\ul underlines the following text} and
+the command *|\xo| {\xo crosses it out}. There is also the command *|\xu|
+for underlined and crossed-out text, *|\xxl| for doubly crossed-out text and
+*|\uul| for doubly-underlined text. All these are intended for use with
+amended pleadings but at the moment need to be used with some care.
+
+*{Footnotes} are used by typing either *|\footnote| or (preferably) *|\ref|
+followed immediately by the footnote text in |{}| brackets---there must be
+no gap between the command and the opening |{|. (Very occasionally the text
+of a footnote may seem to disappear **{disappearing text} when the text is
+printed. For example, if a footnote is used in the *|\ssd| macro---see
+below---the text may disappear. The reason is too complicated too explain
+here. The solution is to type *|\footnotemark| where the footnote number
+should go and *|\footnotetext| immediately after e.g. the *|\ssd| macro.)
+
+Footnotes are normally numbered automatically. There are a number of
+commands available for use in relation to footnotes---see {\sl The Joy of
+\TeX\/}\ref{Published by Addison-Wesley. ISBN 0-8218-2999-8.}**{Joy of TeX,
+the} by Michael {Spivak}**{Spivak, Michael}, pages 162--165, for details.
+The command |\ref"*"{Like this}|, for example, uses an asterix as the
+marker\ref"\*"{Like this.}, **{asterix as footnotemarker} and similarly
+|\ref"\dag"{Or this}| and |\ref"\ddag"{And this.}| use a dagger\ref"\dag"{Or
+this.} and a double-dagger\ref"\ddag"{Like this.} to be used as a
+footnotemarker, and the command |\ref[45]{Like this.}| enables the number
+used for a particular footnote to be specified\ref[45]{Like this.}.
+
+\tolerance=500
+*{Case-names} are printed in the normal style, that is to say, in italic
+type. As an example, \ca Monnickendam \v. Leanse\se\ref{(1923) 39 TLR 445,
+67 Sol Jo 706}. \hfuzz=6pt This was typed---\par |\ca Monn|\-|ick|\-|endam
+\v. Leanse\se\ref{(1923) 39 TLR 445, 67 Sol Jo 706}|.
+
+The *|\ca| and *|\se| macros must surround the case name (and there must be a
+space after the ``ca''); the *|\ref| macro prints the reference as a
+footnote. In this case the ``v.'' was printed in roman type; if you prefer an
+italic ``v'', whether with or without the fullstop\ref{The All England
+Reports use an italic ``v'' without a fullstop.}, omit the backslash.
+\hfuzz=2pt
+
+A similar pair of macros is *|\bo| and *|\ok|. These set the names of
+books---such as \bo Bowen \on the Coal Act 1938\ok in {\sl slanted\/} type.
+In this case *|\on| was used in order to produce the vertical ``on''.
+
+Two further macros are |\beginquote| **|\beginquote| and |\endquote|.
+**|\endquote| These are, perhaps not surprisingly, intended for
+*{quotations}. The former should be used after a blank line and will cause
+the text which follows to be typed in tenpoint type. The first paragraph
+will not normally be indented, but subsequent ones will---
+
+\beginquote No quotation marks are used. If you want them, they must be
+typed manually. At a later stage it may be possible to provide them
+automatically but macros to do this are a bit tricky to write.
+
+\clindtrue
+\clearclno
+\cl It is possible to use the automatic clause numbering---see
+\pageref{Clausenumbering} below---in quotations, and mathematical
+expressions, such as $129 \over 7,934$, will be printed at a smaller size
+than they would be printed in twelvepoint type.
+
+\endquote
+
+\noindent
+In order to quote a numbered sub-clause, without the corresponding clause, it
+is preferable to use the macro *|\beginsclquote| which alters the indentation
+of the quotation---
+
+\beginsclquote
+\scl If |\beginquote| had been used, this sub-clause would have been inset too far.
+There are also the macros *|\beginssclquote| and *|\beginsssclquote|. In each
+case the macro which ends the quotation is the same, that is to say
+*|\endquote|.
+\endquote
+
+It sometimes happens that one wants to refer to something on a different
+page, earlier or later, of an Opinion. \r\ provides a number of macros to
+assist in this. At the point in the text which contains the matter to be
+referenced insert |\xref{stuff}| **|xref| (where |stuff| is a word of your
+own choosing). At the point in the text where you want to say ``see
+Page\dots'' type ``|see \pageref{stuff}|''. **|\pageref| It will now be
+necessary to run \TeX\ on the file twice; the first run will find the
+cross-reference and the second will insert it into the text\ref{This is
+similar to the \WP\ |generate| command. The reference to
+\pageref{Clausenumbering} above was put into the text using this command.}.
+As will be seen below\ref{\pageref{clauseref}.}, there is a corresponding
+command |\clref{stuff}| **|\clref| which inserts a reference to the
+appropriate clause or sub-clause, and various related commands.
+
+At the end of your Opinion type the command *|\bye|. This will automatically
+produce the following---
+
+\signed
+
+\vfilneg
+\smallskip
+It may be, of course, that you do not want Lincoln's Inn at the
+bottom of your Opinion. If the command |\let\inn=\middletemple|
+**|\middletemple| (or *|\grays| or *|\temple| or *|\innertemple|) appears
+before *|\signed| the appropriate alteration will be made. These
+alterations are usually made to the |RHlocal| file.
+
+It will be seen that the date has a comma in the middle of it. This
+is the default. Again, it is possible to alter this by incorporating in the
+file the command *|\nocommaindatetrue|. The date is inserted after the
+signature automatically by the command *|\today| which can be used elsewhere
+in your text to produce today's date.
+
+
+\bigbreak \noindent The command *|\bye| will also produce a
+backsheet**{Backsheets} for the Opinion. In order to be able to work,
+however, it must know what to put on the backsheet. This information may
+include the date, the title of the matter, the type of document---that is to
+say, is it an Opinion, a Note or something else?---and the name and address
+of the Solicitors.
+
+\TeX\ knows the date and has been told the nature of the document by the
+command |\opinion|, but it must find the remainder of this information in the
+file. The simplest case is that of an Opinion in a non-litigious matter
+where the Opinion is the only document being produced. In those
+circumstances the easiest method of providing \TeX\ with the information is
+to incorporate at the start of the file (that is to say, before the
+|\opinion| command) the following text---
+
+\beginlines
+|% backsheet info|
+|\bstitle{RE: JOHN SMITH}|
+|\solsref{XYZ/abc/42}|
+|\colsref{SUEGRA/99}|
+\endlines
+
+The first of these commands, *|\bstitle|, \xref{bstitle} sets up the title
+that will appear on the backsheet. This can, if required, be more than one
+line long. \LT\ will try to find an appropriate place to break the text; it
+can be told where to do so by the insertion of the command *|\break| at the
+appropriate place.
+
+The command *|\solsref| is short for ``Solicitors' Reference'' and it means
+the reference given \ca by\se the Solicitors. *|\colsref| is short for
+``Counsel's Reference''. The default macros expect this reference to be in
+the form used by the ``ACE'' Barristers' accounting system.
+
+*|\colsref| is a complicated macro and I have no intention
+of explaining here how it works. Its main object is to search a separate file
+called *|solicitors.tex|, which will probably be found in the directory called
+|\TEX\INPUTS|, for the name and address of the Solicitors concerned.
+Instructions for adding further names and addresses to this file will be found
+at the start of it.
+
+This simple Opinion requires only one other command and that is *|\bye|. This
+will tell \TeX\ that it is complete and can be fully processed. To summarise,
+the file will take the form---
+
+\beginlines
+
+|\bstitle{RE: JOHN SMITH}|
+|\solsref{XYZ/abc/42}|
+|\colsref{SUEGRA/99} |
+|\opinion|
+|This is an Opinion.|
+|\bye|
+
+\endlines
+
+In addition to printing the Opinion and its backsheet, \r\ will by default
+also produce a fee chit giving details of the work done and so on for the use
+of the Clerks. Some further information will be included on this if some or
+all of the following additional lines are included at the start of the
+file---
+
+\beginlines
+
+|\timetaken{3} % hours |
+|\casetype{breach of trust}|
+|\value{50,000} % pounds|
+|\difficulty{7} % out of 10|
+|\proposedfee{vast} |
+|\legalaidno{N/A}|
+|\comments{slightly tricky}|
+
+\endlines
+
+It is often useful to be able to produce such a chit in relation to a
+Conference, and particularly a telephone conference. \r\ provides the
+commands *|\conference| and *|\telcon| for this purpose; enter the required
+information (using the macros shown above) and then type one or other of
+these commands followed by |\bye|. For example---
+
+\beginlines
+|\bstitle{RE: JOHN SMITH}|
+|\solsref{XYZ/abc/42}|
+|\colsref{SUEGRA/99} |
+|\timetaken{.5} % in hours|
+|\casetype{breach of trust}|
+|\value{50,000} % pounds|
+|\difficulty{7} % out of 10|
+|\proposedfee{?} |
+|\legalaidno{}|
+|\comments{slightly tricky}|
+|\telcon|
+|\bye|
+\endlines
+
+Will produce something like the following---
+
+\bigskip
+\begingroup %preserve pagenumbering, etc
+
+%\vtop{
+\bstitle{RE: JOHN SMITH}
+\solsref{XYZ/abc/42}
+\colsref{SUEGRA/99}
+\timetaken{.5} % in hours
+\casetype{breach of trust}
+\value{50,000} % pounds
+\difficulty{7} % out of 10
+\proposedfee{vast}
+\legalaidno{}
+\comments{slightly tricky}
+\telcon
+\chit
+%}
+\endgroup
+
+\bigskip
+There is a further command called *|\faxsheet|.
+This does what might be expected of it. If it is the last command in the
+files before |\bye| it will automatically count and print out the number of
+pages being sent. The command |\attention{Mr Jones}| **|\attention| will
+mark the Fax for the attention of that gentleman; |\comment{Here at last are
+the documents I promised you.}| **|\comment| will put a (short) comment on
+this cover page.
+
+
+\vfil\eject
+{\sh ^{Non-litigious Drafts and similar documents}}
+
+\nobreak\smallskip
+
+\noindent A draft document is usually formatted somewhat differently to a
+piece of written advice. In order to tell \T\ that it is formatting a draft
+the text of it should commence with |\draft{document type}| **|\draft| (the
+document type being for example ``LEASE''). If you draft a lot of a leases
+it would, of course, be possible to define *|\lease| to mean
+|\draft{LEASE}|.
+
+Most drafts contain numbered clauses. The production of macros to number
+clauses automatically is tricky since people tend to have different ideas as
+to how documents should be numbered. \r\ has been written in such a way as
+to permit the default numbering style, which is that now used in statutes
+and other similar documents, to be altered as easily as is
+possible.\xref{Clausenumbering}
+
+Clauses are produced by typing the command *|\cl| at the beginning of a line
+followed by one or more spaces and then the text of the clause. The default
+is for clauses to be numbered in Arabic numbers\ref{If you go above 999, it
+may be necessary to make some alterations to the normal indentation of
+clauses.}, the number being followed by a full stop--- \goodbreak
+
+\clearclno
+\cl This is the first clause. There is also the command *|\ncl| which can be
+used when clause numbering is not required **{un-numbered clauses}. This can
+be useful when a subclause is followed by a proviso **{provisos} which forms
+part of the main clause.
+
+Sub-clauses have the command *|\scl| either at the beginning of a line or
+immediately after a *|\cl| possibly with one or more spaces between the two
+commands. There must be a blank line between a clause and its sub-clause
+unless they are intended to be on the same line. (It you do not leave the
+blank line they {\bf will} be on the same line, whether you like it or not.)
+
+Subsequent sub-sub-etc-clauses take the form *|\sscl|, *|\ssscl| etc.---the
+maximum being five `s's. In order to discourage the drafting style which
+uses such numerous sub-clauses the default numbering is as follows---
+
+\cl This is Clause 2
+
+\scl This is sub-clause 1
+
+\sscl This is sub-sub-clause 1
+
+\ssscl This is sub-sub-sub-clause 1
+
+\sssscl This is sub-sub-sub-sub-clause 1.
+
+\sssscl This is sub-sub-sub-sub-clause 2.
+
+\sssscl This is sub-sub-sub-sub-clause 3.
+
+\ssssscl This is *{sub-sub-sub-sub-sub-clause} 1
+
+\ssssscl This is sub-sub-sub-sub-sub-clause 2
+
+\ssssscl This is sub-sub-sub-sub-sub-clause 3
+
+\ssssscl This is sub-sub-sub-sub-sub-clause 4. (Using more than four
+sub-etc-clauses of this type is not recommended, since the spade is the last
+character in this particular font!)
+
+\nssssscl \relax This is |\nssssscl|
+
+\nsssscl This is |\nsssscl|
+
+\nssscl This is |\nssscl|
+
+\nsscl This is |\nsscl|
+
+\nscl Now |\nscl|
+
+\ncl Finally |\ncl|
+
+If the |\sssscl| or |\ssssscl| form of numbering is unwelcome, type\break
+*|\greekfalse| at the start of your document to turn off the *{Greek
+numbering} and (or) *|\cardfalse| to turn off the *{playing cards}. (Boring
+letters will be substituted.)
+
+\noindent|\cardfalse|\cardfalse
+
+\hfuzz=2.8pt
+\cl\scl\sscl\ssscl\sssscl\ssssscl
+\par
+
+\noindent|\cardfalse|\par\noindent|\greekfalse|\greekfalse
+
+{\overfullrule=0pt% !
+\cl\scl\sscl\ssscl\sssscl\ssssscl
+\inform{ (don't worry about this...)}
+\par}
+
+\noindent\cardtrue\greektrue
+
+\cl The clauses will have as a default hanging indentation. **{hanging
+indentation in clauses} As a result, the second and subsequent lines of the
+clause will be indented to the same extent as the first line and will line
+up with the number of the next sub-clause---
+
+\nobreak
+\scl Like this. In order to turn off this default type *|\clindfalse|. (The
+name is a sort of abbreviation for ``clause indentation false''.)
+
+\noindent|\clindfalse|\clindfalse
+
+\scl The effect will be that the second and subsequent lines will line up
+with the number of the same clause (or sub-clause) in the more normal manner.
+Hanging indentation is by default turned off in this way in Opinions.
+
+\smallskip
+
+In certain circumstances, for example, in Opinions, it may be necessary to
+reset the Clause **{resetting clause numbers} numbering, or to start from
+some number other than~1. The Clause number is held in a register called
+*|\clno|, while the sub-clause numbers are held in registers which use the
+names *|\sclno|, etc. Any such register can be reset at any time. To reset
+the clausenumbering to zero (so that the next Clause is numbered~1) type
+*|\clearclno|. If you are typing a rider **{riders} starting at, say,
+Clause~12, set |\clno| to one less at the start (i.e., to 11) by typing
+|\clno=11|. **|\clno| Similarly, subclauses and so on can be reset by typing
+*|\clearsclno|, *|\clearssclno| and so on.
+
+Although the style of numbering set out above can be said to be standard,
+there does not seem to be any standard form of `numbering' *{Recitals}. \r\
+by default uses capital letters for Recitals and small roman numbers for
+sub-recitals. The command *|\rec| at the beginning of a line followed by one
+or more spaces and then text prints recitals in the form---
+
+\clindtrue
+\rec This is a recital. The ``numbering'' and the indentation are
+automatic.
+
+\srec This was produced by *|\srec|.
+
+In addition to |\cl| and |\ncl| (and |\scl|, |\nscl| and so on) there are two
+other classes of clause-making macros. The first it *|\tcl|. This is used
+with a parameter in squiggly brackets, for example |\tcl{NOTE:}|. In this
+case the word ``NOTE:'' is put where the number would normally be, and the
+remainder of the first line of the clause is adjusted accordingly. The other
+is *|\xcl| which also takes a parameter, for example |\xcl{[1]}|. In fact
+all the other clause-numbering macros use |\xcl| in order to work.
+
+A recent addition to \r\ is the facility to use what is generally called
+``computer numbering''.**{computer numbering} If the command
+*|\computernumbering| appears in your file |\cl|, |\scl|, \etc\ will produce
+clauses numbered as follows---
+
+{\computernumbering
+\cl This is the first clause.
+
+\scl This is a subclause.
+
+\sscl This is boring.
+
+\ssscl The amount of indentation is set by a parameter called\break *|\cnindent|.
+Here it is set at \the\cnindent.\par}
+
+\bigbreak
+
+
+Cross-references in drafts often refer to a particular clause of sub-clause.
+If the command |\xref{stuff}|**|\xref| appears in a draft and elsewhere
+there appears, for example, ``|subject to
+\clref{stuff}|''\xref{clauseref}there will be substituted
+automatically\ref{After two runs through \TeX.} for the latter command a
+reference to the appropriate clause or subclause; it is not necessary for
+the draftsman to know whether the |\xref{}| command appears in a clause, a
+sub-clause, a sub-sub-clause or whatever. If
+|\def\clause{Paragraph}| appears at the top of the text then
+the reference will be to a paragraph number. Similarly ``Sub-clause'' can be
+redefined as ``sub-paragraph'' by |\def\subclause{sub-paragraph}|
+
+There are similar commands **|\noteref|**|\schedref|**|\appref|
+|\noteref{stuff}|, |\schedref{stuff}| and |\appref{stuff}| or
+cross-referencing footnotes, schedules and appendices.
+
+If at the beginning of a draft you type after a person's name ``{\tt of}
+|\noaddr|'' **|\noaddr| an appropriate gap (based on an address in *{Railway
+Cuttings, Cheam}) **{Hancock}will be left. (This does not yet always work,
+although it is better than it was.) There are similar macros known as
+*|\nodate| (which prints in effect ``\nodate''), *|\noyear| (which is similar
+but leaves you to insert the year), *|\noday|, *|\nomonth| and *|\noname|
+(which leave suitable blank spaces), and *|\nopounds| (which produces
+``\nopounds'').
+
+
+A normal hyphen in an upper-case name tends to look wrong as, for example,
+in SIR HENRY WILLIAM-WORDSWORTH. The macro *|\uc-|**{upper-case hyphen} can
+be used in these circumstances to raise the hyphen which gives a
+better-looking result---SIR HENRY WILLIAM\uc-WORDSWORTH. (There is also the
+macro *|\duc-| which provides a *{discretionary upper-case hyphen}, but this
+is for the real \TeX perts only.)
+
+If at the end of a draft (but before the signature) you type
+\hfil\break|\ssd{the said JOHN SMITH}| **|\ssd| **{signed, sealed and
+delivered} the effect will be--- \bigskip
+
+{\noindent\ssd{the said JOHN SMITH}}
+
+\bigbreak
+If you type |\ssc{SEVNEW LIMITED}| **|\ssc| the effect is like
+this---
+\smallskip
+{\noindent\ssc{SEVNEW LIMITED}}
+
+\bigskip
+Similarly, |\ssw{the said JOE BLOGS}| **|\ssw| will produce the
+following---
+
+{\parindent=0pt\ssw{the said JOE BLOGS}}
+
+(There is also a general purpose macro, *|\ssgen| which can be used to insert
+any text to the left of a big bracket. See also in the \TeX nical Manual
+(when it is produced---it will set out all the macros used in \LT\ and
+explain, or try to explain, how they work.) *|\rbracket| and *|\lbracket|.)
+
+
+\bigskip Although it has not been usual in the past to set out the
+testimonium in full, I have often noticed when drafts which I have settled
+are returned to me how Solicitors have written it in in longhand before
+giving the draft to their Secretary to type. Inserting it in full saves them
+the trouble. If you do not approve of this practice you can use
+*|\witnessetc| which will produce---
+
+\smallskip {\parindent=0pt
+\witnessetc\par
+}
+\par
+\medskip
+The macros *|\whereas| and *|\now| produce---
+
+\whereas
+
+\noindent and
+
+\now
+
+\bigskip\bigbreak
+
+The macros *|\wwhereas| and *|\nnow| have odd names but can be used where
+there is only one recital or clause; the former simply types ``WHEREAS'' and
+the latter ``NOW THIS DEED WITNESSETH''.
+
+Other useful macros are *|\schedule|, *|\appendix| and *|\part| which can be
+used to produce schedules and appendixes. It there is only one schedule it
+will be called ``the Schedule''. If there are more than one they will be
+numbered appropriately. If the command |\xref{stuff}| appears in a schedule,
+a reference elsewhere in the document to |\schedref{stuff}| will refer to
+the correct schedule (after two runs through \T).
+
+\centertext{It is sometimes quite effective to centre the text in a Schedule
+(or elsewhere---as in this paragraph) over several lines. \r\ provides the
+command {\tt\bslash centertext} for this purpose. Its usage is similar to
+that of {\tt\bslash centerline} but it centres more than one line. It is
+derived from a macro which can be found on page~317 (exercise 14.34) of the \TB.}
+
+The modern form of *{stamp duty certificate} can be produced by typing, for
+example, |\sdcert{A}| **|\sdcert| which produces---
+
+\sdcert{A}
+
+*|\dovcert| and *|\giftcert| provide the appropriate letters for use with
+deeds of variation and gifts inter vivos.
+
+
+It sometimes happens that a number of different versions of a draft or
+Opinion are prepared. **|\version| Typing |\version{Version 1}| will print
+{\fiverm Version 1} in miniscule type\ref{The size is 5-point.} at the bottom
+of each page. An example can be seen at the bottom of the current page.
+
+
+Another small control sequence which is useful in drafts is ``*|\,|''. This
+adds a small bit of space and can be used to separate two names in a deed.
+Another is *|\etc| which produces \etc\ \ **|\frac| |\frac 5/6| produces \frac
+5/6. (To produce \frac {27}/{85} it is necessary to put the double figures
+into squiggly brackets like this--- |\frac {27}/{85}|.) A `normal' fraction,
+such as $27\over 85$ can only be typed using ``*{maths mode}''. The fraction
+in the previous sentence was typed |$27\over 85$|.
+
+\bigskip
+The command *|\bye| produces an appropriate backsheet for the deed. It also
+types towards the bottom of the last page---\par
+\def\csettled#1{% Fudge it.
+ \par\nobreak \vskip20pt
+ \hbox{\hskip\signindent\vtop{%
+ \advance\hsize by-\signindent
+ \parindent0pt \raggedright\tolerance=1000
+ Settled,
+ \ignorespaces#1 \vskip20pt
+ \inn \hbox{\today}}}
+ \vskip20pt}
+
+\bigskip
+\settled
+
+\nobreak
+As in the case of *|\signed| it is possible to change `the Inn' to whichever
+may be required.
+
+\bigbreak A backsheet for a draft will be produced automatically. Again it
+will be necessary to supply \r\ with the appropriate information. However,
+if the appropriate information has been supplied earlier in the file (for
+example in an Opinion) it is not necessary to repeat it. The command
+|\draft{LEASE}| will have given \r\ the document name to insert on the
+backsheet.
+
+If an Opinion and a Draft are incorporated in the same file, it is often
+useful to know where one ends and the next begins. While it is processing a
+document \r\ will show a succession of triplets of numbers on the
+screen.**{Page numbering} The first number is the page number of the current
+document, the second is the *{overall page count}, and the third is the
+number of the document being processed. This information will also be found
+in the *|log| file produced by \TeX.
+
+It is sometimes useful to produce a *{Table of Contents} for a draft. If the
+command *|\contents| appears at the beginning of the draft this will be done
+automatically. It is, of course, necessary to provide the information which
+is to be entered into the table. This is done by using the ``magic''
+*{circumflex} commands. If immediately after a *|\cl| command there appears
+the command {\tt\hat\strut}|{Stuff}|, the Table of Contents will get an entry
+such as---
+
+\line{Clause 6. Stuff\dotfill 4}
+
+Similar results will be obtained if the command follows a *|\scl| or a
+*|\sscl|. In this case ``stuff'' will appear in both the Table of Contents
+and the text where it was found. If two circumflexes are used, **{circumflexes,
+two} however, ``stuff'' becomes invisible in the text and only appears in the
+Table of Contents.
+
+One final command is *|\engrossment|. This as the effect of removing the word
+``draft'' from the backsheets and deleting the ``Settled'' at the end of the
+draft.
+
+\vfil\eject
+{\sh ^{Pleadings}}
+
+\nobreak\smallskip
+\noindent
+Here we come to what is perhaps the most complicated part of \r, and the part
+containing most bugs. These notes for the time being will only skim
+the surface and show how the macros are used; they will not attempt to
+explain how they work---for that you must consult the \TeX nical manual
+(when written). However, if you have got this far you may not need any
+explanations and will be able to discover all the secrets by simply
+reading \LT.
+
+The macros were originally written by me some time in 1989. A considerable
+amount of work has since been done on them by Gilead Cooper, Robert Ham and
+others and their efforts and suggestions have persuaded me to make a number
+of further improvements. However, a large amount of work still remains to be
+done.
+
+\medskip
+I will start with High Court litigation. To take as an example a case
+commenced in the Chancery Division. This will normally have a reference
+consisting of three items, that is to say, the year, a letter and a number.
+To show that the case is in the Chancery Division type the following
+command---
+
+|\ch{|{\tt\number\year}| X 1234}|.
+
+
+If the full reference is not known simply type *|\ch| or
+|\ch{|{\tt\number\year}|}|. The commands for proceedings in the Queen's
+Bench and Family Divisions are similar; the former is
+|\qb{|{\tt\number\year}| X 1234}| **|\qb| and the latter
+**|\family||\family{|{\tt\number\year}| X 1234}|. Why in the latter case is
+it not |\fam|? Simply because *|\fam| is already used by \TeX\ for something
+else and the consequences of redefining it would be dire in the extreme.
+
+The name of a Plainiff is given by the following command---
+
+|\plaintiff{WILLIAM WORDSWORTH}|.
+
+His address takes the form |\of{Lakeside Villa, Putney}|. The names and
+addresses of Defendants and Third Parties are given in a similar fashion
+using |\defendant{name}| and |\of{address}|.**|\of| and
+|\thirdparty{name}|**|\thirdparty| and |\of{address}|. (If the address of a
+party is not given a blank space will be inserted in the document where
+appropriate .) It is intended that inserting the address should be optional;
+at present however this sometimes causes problems.
+
+If some parties have the same address, ie John Smith and Freda Smith both of
+Springtime Villas, put |\and| after |\plaintiff{JOHN SMITH}| and
+|\of{Springtime Villas}| after |\plaintiff{FREDA SMITH}|. (This is not very
+robust at the moment.)
+
+If you want to refer to a party as being, for example, a firm, type, for
+example,**|\firm| |\plaintiff{SUE GRABBIT \& RUNNE \firm}|. Other capacities
+include *|\widow|, *|\minor| and *|\patient|.
+
+
+The command **|\matter||\matter{123 New Square, Lincoln's Inn}| does what it
+might be expected to do. There is also the command **|\estate||\estate{A.B.
+deceased.}| Each will store the matter set out and in due course print it in
+the correct place on the pleading and the backsheet (adding `And' where
+appropriate).
+
+Having entered the names and addresses of the parties the next step is to
+ask \r\ to produce the appropriate type of pleading. Once again the command
+is vaguely logical, being |\pleading{type of pleading}|**|\pleading|. Thus
+|\pleading{STATEMENT OF CLAIM}| will produce a document containing the usual
+heading including the names of the parties. The body of the claim will be
+typed in using *|\cl| and *|\scl| for the clauses. It is possible to type
+*|\claim| to produce ``AND the Plaintiff(s) claim(s)---'' automatically. To
+reset the clause numbering at any time type *|\clearclno|. The command
+|\bye| will in this case also add at the bottom of the text the usual
+wording about the document being served.
+
+Pleadings are more complicated than written advice and drafts since \T\
+needs to know which party the draftsman is acting for. In the case of a
+Statement of Claim this is obviously the Plaintiff but \T\ cannot be
+expected to know this. The text should therefore contain the command
+*|\clientpltrue|. As in the case of an *|\opinion|, however, there is a
+shorthand command which will achieve this automatically. A Statement of Claim
+(with the client set to the Plaintiff) will be produced by the command
+|\soc|. If this command is preceded by the command
+|\writissued{12/03/91}| **|\writissued| the date when the writ was issued
+will be inserted at the appropriate place; otherwise the date will be left
+blank.
+
+
+The formal parts of a specially endorsed Writ are slightly different from
+those of a Statement of Claim. In this case *|\writ| does the necessary
+formatting and inserts the appropriate formal parts. Similarly *|\os| can be
+used for an originating summons. (There are also built-in macros called
+*|\defence|, *|\reply|, |\dacc|\ref{Defence and Counterclaim.},
+|\rdcc|\ref{Reply and Defence to Counterclaim.} which act as might be
+expected.
+
+Pleadings have another difference from drafts and written advice and that is
+that they are amended. The command *|\amended| when inserted before the
+command |\pleading| (or |\soc| or |\defence| or whatever) makes the
+necessary amendments to the formal parts. *|\reamended| and *|\rereamended|
+can also be used. An amended Statement of claim can therefore take the form
+|\amended\pleading{STATEMENT OF CLAIM}| or |\amended\soc|. **|\pleading|
+
+The amendments to the text itself are complicated. James Behrens has
+produced a useful note on the question of how to show amendments to
+Pleadings using \WP\ without using coloured ink. In \LT\ I take a slightly
+different approach in that I denote the first amendments by underlining
+additions and crossing-out deletions. For the re-amendments I underline
+twice and cross-out twice and for re-re-amendments underline thrice and
+cross-out thrice. Any such monochrome scheme does look messy if there are many
+amendments; it is best to delete and replace whole sentences rather than
+individual words and letters.
+
+The method of producing the underlining and crossing out is to use the
+commands *|\ul| and |\xo| \ca inside\se squiggly brackets (|{\ul like this}|.
+The brackets limit the extent of the underlining or crossing-out. The
+corresponding commands for double and triple underlining and crossing-out
+are *|\uul|, *|\uuul|, *|\xxo| and *|\xxxo|.
+
+If new clauses are inserted into a Pleading either the original numbers have
+to be altered or the new clauses have to be numbered in some distinctive
+manner. \LT\ uses the latter method. The new clause should be preceded by
+the command *|\acl| instead of |\cl|. (There are also the commands *|\ascl|
+and *|\asscl| for sub-clauses and sub-sub-clauses).
+
+\acl This is a clause starting with |\acl|
+
+Once again, in order to be able to process the text of a pleading \LT\ needs
+a certain amount of additional information. It does not this time need to be
+told the title of the matter since it can work that out for itself. It does,
+however, need to know the *|\colsref| so that it can produce the backsheet
+and add the Solicitors' name and address in the appropriate place at the end
+of the pleading. (If your file contains a pleading followed by an Opinion it
+is not necessary to tell \r\ the title for the backsheet of the Opinion
+since it will use the same title as it uses on the pleading.)
+
+
+An Originating Summons might, therefore, take the following form in your file---
+\beginlines
+|\solsref{XYZ/abc/42}|
+|\colsref{SUEGRA/99} |
+|\def\timespent{3} % in hours|
+|\def\typeofcase{breach of trust}|
+|\def\amountatstake{50,000} % pounds|
+|\def\difficulty{7} % out of 10|
+|\def\suggestedfee{?} |
+|\def\legalaid{}|
+|\def\remarks{slightly tricky}|
+\smallskip
+|\ch{1990 S 1234}|
+\smallskip
+|\plaintiff{ALGERNON SMITH}|
+|\defendant{ALFRED JONES}|
+|\defendant{ETHELRED UNREADY}|
+|\plaintiff{EGBERT SMITH}|
+|\matter{John Smith deceased}|
+|\matter{the Law of Property Act 1925}|
+\smallskip
+|\os|
+|\cl That it may be determined \dots|
+|\cl Further of other relief|
+\smallskip
+|\bye|
+\endlines
+
+The result of \TeX ing this file is shown on the next couple of pages.
+
+%NOTE: No it ain't; a slight problem arose with the new ve%rsion of \LT\ and
+%so I have removed it for the time being. The file does not like being \T ed
+%in the middle of another file for some reason
+
+\vfil \eject
+\inform{Printing demonstration pages of Originating Summons}
+
+\partcount=\the\pageno % preserve page count, using "spare" count reg.
+
+\solsref{XYZ/abc/42}
+\colsref{SUEGRA/99}
+\def\timespent{3} % in hours
+\def\typeofcase{breach of trust}
+\def\amountatstake{50,000} % pounds
+\def\difficulty{7} % out of 10
+\def\suggestedfee{?}
+\def\legalaid{}
+\def\remarks{slightly tricky}
+\smallskip
+\ch{1990 S 1234}
+
+\plaintiff{ALGERNON SMITH}
+\defendant{ALFRED JONES}
+\defendant{ETHELRED UNREADY}
+\plaintiff{EGBERT SMITH}
+
+\matter{John Smith deceased}
+\matter{the Law of Property Act 1925}
+\smallskip
+\os
+
+\pageno=\the\partcount % restore it
+
+\cl That it may be determined \dots
+\cl Further of other relief
+\smallskip
+\bottomofpleading{\endostext} % Not normally necessary
+\vfil
+\settled % fudge since no \bye
+\vfil\vfil\eject
+
+
+An Originating Summons is often accompanied by an Affidavit. If both
+documents appear in the same file, the affidavit being the second of them,
+the number of commands that need to be typed is limited. The first is
+|\deponent{WILLIAM WORDSWORTH}|.**|\deponent| This can optionally be
+followed by |\of{Lakeside Villa, Putney}|**|\of| and
+|\occupation{Poet}|**|\occupation|. (If the deponent has a non-hyphenated
+hyphenated name, that is to say a name where for example the person's
+surname is actually two words, join the words together with an underline
+character ($\_$), as in |\deponent{BRIAN HAMILTON_KELLY}|. This enables \LT\
+to extract the correct initials from the fullname. \LT\ is not psychic and
+so if a person has a title or other formal names which should not be used as
+initials (for example, George Seventeenth Duke of Borchester) it will be
+necessary to tell \LT\ what his initials and initialised names are. The
+commands to use are **|\shortname||\shortname{G. Borchester}| and
+**|\initials||\initials{G.B.}|.
+
+\initials{A.B.C.}
+
+The next command is *|\affidavit| which will print all the formal parts
+(including the endorsement at the top). The text of the affidavit should be
+typed using *|\cl| in the usual way. The commands *|\exhibited| and
+*|\bundled| will respectively produce `\exhibited\,' and `\bundled\,' (the
+initials and number being produced automatically).
+
+In this case the command *|\bye| should add at the end of the document---
+
+\noindent\sworn
+
+
+If the Affidavit is the only pleading it is, of course, necessary to set out
+the parties and so on in the file. In these circumstances \r\ will assume
+that you are acting for the Defence and refer to your Solicitors as
+Solicitors for the Defendants. To change this type *|\clientpltrue| at the
+beginning. The affidavit will also by default be treated as being the first
+sworn for the relevant party. To alter this to, for example, the second type
+**|\affyno||\affyno{2}| at the start. If the deponent is the same it will probably
+also be necessary to ensure that the exhibit numbers continue on where they
+left off in the previous affidavit. To do this if, for example, the last
+number was 10, type *|\exno=10| at the beginning of the new affidavit, but \ca
+after\se the command *|\affidavit| (which resets the count to zero).
+
+Minutes of Order can be produced by the command *|\minutes|. This will set
+out the formal parts of the Minutes.
+
+Pleadings for use in the County Court are produced in exactly the same way
+as those for use in the High Court. The commands are very similar. If the
+name of the Court and the case number are known the document should be
+headed---
+
+|\countycourt{BORCHESTER}|\hfil\break
+|\case{1234}|
+
+If, however, either are unknown it is acceptable to simply type
+|\countycourt| (or even |\case|) and \LT\ will supply defaults.
+
+
+
+\def\VT{{\tt\char'174}}
+It is sometimes necessary to produce a table in either a pleading or other
+document. \T\ has very sophisticated table producing commands bit they
+cannot be described a user-friendly. \LT\ now incorporates\ref{At the moment
+they are contained in a separate file, txsruled.tex. At a later date they
+will be incorporated into \LT\ itself.} the ruled table macros written by
+Eric Myers which normally form part of the \T sis macros (macros for
+physicists). The full documentation can be obtained elsewhere (and fuller
+documentation will appear in a subsequent edition of this manual). However, to
+produce a simple ruled table type *|\ruledtable|. On successive lines put
+the material that should appear in the lines of the table. Separate each
+column with the vertical bar character (\VT). End each line \ca except the
+last\se with |\cr| (which can roughly be translated as `carriage return').
+At the end of the table type |\endruledtable|. (This effectively replaces
+the last |\cr|.) There are commands available for producing tables without
+rules and for altering the thickness of the rules and so on. Here is an
+example---
+\bigskip
+{\obeylines
+|\ruledtable|
+|\bf Date Due| \VT|\bf Amount (\pounds)| \VT|\bf When Paid \cr|
+01/02/89 \VT 34.56 \VT 09/12/90|\cr|
+24/01/90 \VT 99.00 \VT Outstanding
+|\endruledtable|\par}
+
+This produces---
+
+\bigskip
+\begingroup % Keep txsruled local.
+
+\ruledtable
+\bf Date Due | \bf Amount (\pounds)| \bf When Paid \cr
+01/02/89 | 34.56 | 09/12/90\cr
+24/01/90 | 99.00 | Outstanding
+\endruledtable
+
+\endgroup
+
+\medskip
+It must, of course, be remembered that a large table may not fit on a page
+in portrait mode.
+
+\bigskip
+
+There are many other commands in \r\ and these
+Notes will be lengthened in due course. This particular version is being
+written in rather a hurry and so is incomplete. In the meantime try the
+Index (if it exists) and experiment with the commands that you find there.
+
+\bigbreak
+
+{\sh ^{Altering the defaults.}}
+\nobreak\smallskip\noindent
+There is one file that can be altered
+with impunity---that is to say, that I have no objection to you altering
+it. It is |RHlocal|. When you receive \r\ this is likely to
+contain the following text---
+
+\beginlines
+|% RHlocal|
+|% definitions of local matters|
+|%|
+|%|
+|\counsel{John Smith}|
+|%|
+|\def\col{AB}|
+|%|
+|%\let\inn=\lincoln|
+|%\let\inn=\grays|
+|%\let\inn=\temple|
+|%\let\inn=\middletemple|
+|%\let\inn=innertemple|
+|\def\ouraddress{%|
+|7 New Square\cr|
+|Lincoln's Inn\cr|
+|London WC2A 3QS\cr|
+|Telephone: 071 405 1266\cr|
+|Fax: 071 405 0554\cr}|
+\endlines
+
+You should insert your name between the |{}| after *|\counsel| in the form in
+which you like it to appear on pleadings. You should also substitute your
+initials for |AB| in |\def\col{AB}| in the form in which they are used in the
+ACE accounts package and ``un-comment'' one Inn. You should also substitute
+your address for mine (taking care to include the *|\cr|'s) in *|\ouraddress|.
+
+If you define your own macros either put them in a new file (called, for
+example |newmacs.TEX|) which you put in either the |\TEX| or the
+|\TEX\INPUTS|\ref{Depending on your version of \T.} directory and add the
+command *|\input newmacs| at the beginning of your text file, or add them to
+|RHlocal.TEX|; in the latter case you will have to create a new format file
+by typing |INITEX &PLAIN RHFMT \dump|\ref{Note that {\tt\bslash dump} must be in
+lower case. This is the command for the \pctex\ version of \T. The \bo emTeX\ok
+version uses a different system; please see the instructions.}.
+
+\bigskip
+{\bf Suggestions for improvements in this format file and these Notes will be
+gratefully received---and probably rejected out of hand.}
+
+If you are reading the long version of this Manual, the next part of these
+these Notes is a further document called ``\r\ \TeX nical Manual''. This
+sets out the \r\ macros in full. I suggest, however, that only those who have
+used \r\ for some time actually bother to look at it. However, it contains
+details of {\it all\/} the macros that are to be found in \r, including a
+large number which are not mentioned in this document or elsewhere---See also
+the Index. You may also find it useful when developing your own macros, since
+it may help you to avoid the many mistakes which I have made. It may also set
+out the text of other macro files which I use.
+
+If, however, you are reading the short version of this Manual, the next part
+will be the index which makes rather boring reading.
+
+
+\bigskip\vfill\eject
+%
+% Read in the commented macro files
+\iflongversion\input RHstuff\relax\fi
+
+\vfil\eject
+%
+\def\indexname{%
+\vtop{%
+\centerline{\bf Index}
+\medskip
+\rm This is a fairly rough index. It is produced automatically by the
+|MANMAC| macros, and as a result there may be a number of duplicated page
+references, and the page numbers are not necessarily in order. In later
+editions I will perhaps try to rectify this, but at present I could only do
+this by hand, and that would take too long.
+\medskip%
+For those who are interested, the index entries were produced by using a
+slightly modified version of the codes shown in {\sl the \TeX book\/} at
+pages 423--424\ref{This is to be found in RHindex.TeX.}, were sorted by a
+comparatively simple program written in the ``C'' language, and were then
+``massaged'' very gently using a text-editor. The \r\ macros then
+formatted the result.
+\medskip
+Of course, if you are reading an early version of these Notes, the index will
+not be sorted and so you should not have read the previous paragraph. Forget
+that you did.}}
+
+% stop LeXTeX thinking that this is a pleading
+\chitfalse
+\let\backmatter\empty
+\let\signoff\empty
+
+% Print the index
+\printindex
+\bye
+
diff --git a/macros/plain/contrib/lextex/read.me b/macros/plain/contrib/lextex/read.me
new file mode 100644
index 0000000000..59a28bdfed
--- /dev/null
+++ b/macros/plain/contrib/lextex/read.me
@@ -0,0 +1,103 @@
+LeXTeX
+
+LeXTeX is a collection of macros intended to enable lawyers,
+and in particular Barristers, to format their work using
+TeX. The package consists of the following files---
+
+READ.ME This file.
+
+LEXTEX.TEX The principle macro file.
+RHLOCAL.TEX A file containing local modifications.
+SOLICITORS.TEX A database file.
+
+LTMAN.TEX A Manual for LeXTeX.
+EXAMPLE1.TEX A file containing some examples.
+
+DPI300 A Directory containing the following
+ fonts at 300dpi---
+
+ xcmr12
+ xxcmr12
+ xxxcmr12
+ ucmr12
+ uucmr12
+ uuucmr12
+ xucmr12
+
+DPI360 A Directory containing the same fonts
+ as DPI300 but at 360dpi (magstep1)
+
+TFM A Directory containing the tfm files
+ for the same fonts.
+
+
+Installing the package is to a certain extent machine and
+software dependent. The files LEXTEX.TEX, RHLOCAL.TEX and
+SOLICITORS.TEX should be installed in the directory
+containing input files. In the emTeX distribution this is
+called \EMTEX\TEXINPUTS.
+
+The files LTMAN.TEX and EXAMPLE1.TEX can also be installed in
+this directory. Alternatively they can be put in the working
+directory (which may be \EMTEX itself).
+
+The fonts need to be installed in the appropriate
+directories. Various versions of emTeX seem to store fonts
+in different directories and to set up the paths to find
+them in different ways. These paths are set up by files
+called, for example, LJ.CNF. Details of these can be found
+in the file called something like
+\EMTEX\DOCS\ENGLISH\DVIDRV.DOC. It may be necessary to
+rename DPI300 and DPI360 to 300DPI and 360DPI or to make a
+corresponding alteration to the CNF file or files. Some
+systems may require the files to be given the extension .PK
+
+The files in the directory TFM should be copied into the
+directory \EMTEX\TFM. Some systems require them to be given
+the extension .TFM
+
+There are two ways of running LeXTeX. The first involves
+creating a format file. To do this it is necessary to use a
+version of TeX called IniTeX. In the case of emTeX this is
+actually the same program as TeX. To create the format file
+using emTeX type---
+
+TEX -I &PLAIN LEXTEX \dump
+
+Note that it is essential that \dump is typed in lower case.
+
+After a fair time TeX will report that it has created a
+format file called LEXTEX.FMT. This should be moved into the
+directory called something like \EMTEX\TEXFMTS. (Some
+implementations of TeX call this directory simply FMT or
+FMTS.)
+
+Now to format the Manual type---
+
+TEX &LEXTEX LTMAN
+
+To format the file EXAMPLE1.TEX type TEX &LEXTEX EXAMPLE1
+
+The second method of using LeXTeX does not involve creating
+a format file. In this case simply type---
+
+TEX &PLAIN LTMAN or TEX &PLAIN EXAMPLE1
+
+This will be somewhat slower than the first method.
+
+To print the resulting files is very system dependent. In
+the case of emTeX the command---
+
+PRTHPLJ LTMAN should work provided that the correct paths to
+the fonts have been set up. The documentation on the printer
+driver is very thorough and you should have no real
+difficulties.
+
+Roger Horne
+7 New Square
+Lincoln's Inn
+London WC2A 3QS
+
+rhorne@cix.compulink.co.uk
+rhorne@lix.compulink.co.uk
+
diff --git a/macros/plain/contrib/lextex/rhlocal.tex b/macros/plain/contrib/lextex/rhlocal.tex
new file mode 100644
index 0000000000..cc950e9068
--- /dev/null
+++ b/macros/plain/contrib/lextex/rhlocal.tex
@@ -0,0 +1,31 @@
+% RHlocal
+% definitions of local matters
+%
+%
+\def\rh{Roger C\uc-H. Horne}
+\counsel{\rh}
+%
+\def\col{RH}
+%
+%\let\inn=\lincoln
+%\let\inn=\grays
+%\let\inn=\temple
+%\let\inn=\middletemple
+%\let\inn=innertemple
+%
+\def\ouraddress{%
+7 New Square\cr
+Lincoln's Inn\cr
+London WC2A 3QS\cr
+Telephone: 071 405 1266\cr
+Fax: 071 405 0554\cr}
+
+\gdef\myaddress{%
+7 New Square\cr
+Lincoln's Inn\cr
+London WC2A 3QS\cr
+Telephone: 071 405 1266\cr
+Fax: 071 405 0554\cr
+Lix: LON\,031\cr
+email: rhorne@cix.compulink.co.uk\cr}
+
diff --git a/macros/plain/contrib/lextex/ruled.tex b/macros/plain/contrib/lextex/ruled.tex
new file mode 100644
index 0000000000..9843b5d594
--- /dev/null
+++ b/macros/plain/contrib/lextex/ruled.tex
@@ -0,0 +1,62 @@
+% file: ruled.tex TeXsis version 2.14
+% $Revision: 1.8 $ : $Date: 91/06/04 14:03:51 $ : $Author: myers $
+%======================================================================*
+% RULED TABLES. Plain TeX macros for making nice ruled tables.
+%
+% The actual guts of the ruled.tex macros are in the file TXSruled.tex,
+% which is loaded at the end of this file. Here we just include
+% the interline spacing macros from TeXsis since they are also of
+% use in the table making macros.
+%
+% (C) copyright 1990, 1991 by Eric Myers and Frank E. Paige
+%--------------------------------------------------*
+% INTERLINE SPACING. (from TeXsis)
+
+\def\singlespaced{% sets interline spacing to \normalbaselineskip
+ \baselineskip=\normalbaselineskip % reset interline
+ \setRuledStrut % set ruled table spacing
+ }
+\def\singlespace{\singlespaced} % synonym for \singlespaced
+
+\def\doublespaced{% sets interline spacing to 1.5 the \normalbaselineskip
+ \baselineskip=\normalbaselineskip % increase interline
+ \multiply\baselineskip by 150 % spacing by 1.50
+ \divide\baselineskip by 100 % of normal
+ \setRuledStrut % set ruled table spacing
+ }
+\def\doublespace{\doublespaced} % synonym for \doublespaced
+
+\def\TrueDoubleSpacing{% sets interline spacing to twice \normalbaselineskip
+ \baselineskip=\normalbaselineskip % increase interline
+ \multiply\baselineskip by 2 % spacing by 2.0
+ \setRuledStrut % set ruled table spacing
+ }
+\def\truedoublespacing{\TrueDoubleSpacing} % synonym for \TrueDoubleSpacing
+
+\def\triplespaced{% sets interline spacing to 3.0 the \normalbaselineskip
+ \baselineskip=\normalbaselineskip % increases interline
+ \multiply\baselineskip by 3 % spacing by 3.0
+ \setRuledStrut % set ruled table spacing
+ }
+
+\def\widenspacing{% increases the interline spacing by 1.25
+ \multiply\baselineskip by 125 % increase the interline
+ \divide\baselineskip by 100 % spacing by a factor of 1.25
+ \setRuledStrut % set ruled table spacing
+ }
+\def\whitespaced{\widenspacing} % synonym for \widenspacing
+\def\whitespace{\widenspacing} % synonym for \widenspacing
+
+
+% \setRuledStrut creates a vertical strut to hold the interline
+% spacing in ruled tables. It is defined in TXSruled.tex
+
+\def\setRuledStrut{\relax}
+
+%--------------------------------------------------*
+% RULED TABLE MACROS:
+
+\input TXSruled.tex
+
+%>>> EOF TXSruled.tex <<<
+
diff --git a/macros/plain/contrib/lextex/solicit.tex b/macros/plain/contrib/lextex/solicit.tex
new file mode 100644
index 0000000000..2f6cf425ae
--- /dev/null
+++ b/macros/plain/contrib/lextex/solicit.tex
@@ -0,0 +1,112 @@
+% >$.!tex.texinputs.solicitors.TeX
+%\ifx\solsisloaded\relax\endinput\else\let\solsisloaded=\relax\fi
+\message{Version RH/0.2}
+%
+% Each entry begins with the control sequence \z:
+% followed by the Chambers' shortname of the firm
+% followed (immediately) by a :
+% followed by the name and address.
+% Spaces in the name and address do not matter.
+% Each line ends with \cr
+% The last line should in addition either end with
+% \par or be followed by a blank line (or both)
+%
+% These will later be modified
+%\def\tel#1{\afterassignment{\xdef\stel{#1}}}
+\def\tel#1{}
+\def\dx#1{}
+\def\fax#1{}
+\def\tlx#1{}
+\def\mbx#1{}
+\def\email#1{}
+%
+
+\z:INGLED: Ingledew, Brown, Bennison \& Garrett\cr
+ International House\cr
+ 26 Creechurch Lane\cr
+ London\cr
+ EC3A 5AL\cr\par
+
+\z:DICKIN: Dickinson Dees\cr
+ Cross House\cr
+ Westgate Road\cr
+ Newcastle upon Tyne\cr
+ NE99 1SB\cr\par
+ \tel{091-261 1911}
+
+\z:DJFREE: D.J. Freeman \& Co.,\cr
+ 43 Fetter Lane,\cr
+ London EC4A INA\cr
+ \cr\par
+
+\z:FREERB: Freer, Bouskell \& Co.\cr
+ 10 New Street\cr
+ Leicester\cr
+ LE1 5ND\cr\par
+
+\z:CHARLE: Charles Russell\cr
+ Hale Court\cr
+ Lincoln's Inn\cr
+ London WC2A 3UL\cr\par
+ \tel{01-242 1031}
+
+\z:ABBOTT: Computing Service\cr
+ Aston University\cr
+ Aston Triangle\cr
+ Birmingham B4 7ET\cr\par
+ \tel{021-359 3611}
+
+
+\z:FARRER: Messrs Farrer \& Co\cr
+ Solicitors\cr
+ 66 Lincoln's Inn Fields\cr
+ London WC2A 3LH\cr\par
+ \tel{01 242 2022}
+
+\z:TUGBOAT: \TeX\ Users Group\cr
+ 653 North Main Street\cr
+ P.O. Box 9506\cr
+ Providence, RI 02940\cr
+ U.S.A.\cr\par
+ \tel{401 751 7760}
+ \fax{401 751 1071}
+
+
+\z:OVEREND: S.K. Overend Esq\cr
+ 4 Paper Buildings\cr
+ Temple\cr
+ London EC4Y 7EX\cr\par
+ \tel{353 3366}
+
+\z:BARCO: The General Council of the Bar\cr
+ 11 South Square\cr
+ Gray's Inn\cr
+ London WC1R 5EL\cr\par
+ \tel{242 0082}
+ \fax{831 9217}
+
+\z:SUEGRA: Sue, Grabbit \& Runne\cr
+ 1234 Lincoln's Inn Fields\cr
+ London WC7A 9JJ\cr\par
+
+\z:DEWILDE: %Robin de Wilde\cr
+ New Court\cr
+ Temple\cr
+ London EC4Y 9BE\cr\par
+
+\z:OXFORD: Oxford Text Archive\cr
+ 13 Banbury Road\cr
+ Oxford OX2 6NN\cr\par
+ \tel{0865 273238}
+ \fax{0865 270708}
+ \email{ARCHIVE@vax.oxford.ac.uk}
+
+\z:SEAN: %Sean Overend
+ Cliffside\cr
+ Yealm Road\cr
+ Newton Ferrers\cr
+ Plymouth\cr
+ Devon PL8 1BL\cr\par
+ \tel{0752 873030}
+
+
diff --git a/macros/plain/contrib/lextex/txs.doc b/macros/plain/contrib/lextex/txs.doc
new file mode 100644
index 0000000000..3d6a9059b2
--- /dev/null
+++ b/macros/plain/contrib/lextex/txs.doc
@@ -0,0 +1,569 @@
+% file: TXSruled.doc TeXsis version 2.14
+% $Revision: 1.1 $ : $Date: 91/06/04 13:58:47 $ : $Author: myers $
+%======================================================================*
+
+\def\VT{\char'174} % the vertical var character ``|'' is needed below
+
+ While |\halign| in Plain \TeX\ is convenient for making simple
+tables, it is still difficult to make tables with horizontal and
+vertical rules. Indeed, typesetting ruled tables in \TeX\ has often
+been likened to programming a computer in assembler language. Even
+\TeXbook\ acknowledges that ``people who know how to make ruled tables
+are generally known as \TeX\ Masters.''\reference{Masters}
+D.E.~Knuth, {\sl The \TeX book} (Addison Wesley, 1986, ISBN
+0-201-13448-9), page 245
+\endreference\space
+The macros described below take a great deal of the difficulty out of
+making ruled tables, so that anybody can be a
+\TeX\ Master.
+
+ The basic idea behind making a ruled table is similar to
+|\halign|, and the syntax is the same as the Princeton table macros
+known as |TABLES.TEX| by Ray Cowan,\reference{Cowan} Ray F.~Cowan, {\sl
+Making Tables with Macros} (unpublished)
+\endreference
+although the \TeXsis\ macros are quite different internally and run
+about 5 times faster. You begin the table material with |\ruledtable|
+and end it with |\endruledtable|. The table material is a list of items
+to appear in the rows and columns of the tables. Just as with |\halign|
+you can separate items in different columns with |&| and end a row with
+|\cr|. The |&| alignment character separates columns without putting a
+vertical rule between the columns, while |\cr| ends a line and puts a
+thin horizontal rule under it. To get a vertical rule between columns
+replace the |&| with a `{\tt\VT}' (the vertical line), and to end a line
+without a horizontal rule under it replace the |\cr| with |\crnorule|.
+One important thing to remember is to end the last line in the table
+with |\endruledtable| instead of |\cr|!
+
+ As an example here is a simple ruled table,
+{\singlespaced
+\bigskip
+\ruledtable
+Year | World Population \cr
+8000 B.C. | ~~~5000000 \crnorule
+~~50 B.C. | ~200000000 \crnorule
+1650 A.D. | ~500000000 \crnorule
+1850 A.D. | 1000000000 \crnorule
+1945 A.D. | 2300000000 \crnorule
+1980 A.D. | 4400000000
+\endruledtable
+\smallskip}
+\noindent
+and here are the instructions that created it,
+\TeXexample
+\ruledtable
+Year |VT World Population \cr
+8000 B.C. |VT ~~~5000000 \crnorule
+~~50 B.C. |VT ~200000000 \crnorule
+1650 A.D. |VT ~500000000 \crnorule
+1850 A.D. |VT 1000000000 \crnorule
+1945 A.D. |VT 2300000000 \crnorule
+1980 A.D. |VT 4400000000
+\endruledtable
+|endTeXexample
+This example also appears in \TeXbook, where it is typeset using
+|\halign|. Compare how the two are constructed
+and see which way you think is easier.
+
+ By default each item in the table is centered in its column.
+Inside a table the tie character ``|~|'' takes up the
+space of exactly one digit (it is the same as saying |\phantom{0}|),
+and this has been used to line up the digits of the entries in
+both columns. It is also possible to change the definition of
+the |\TableItem| macro so that each entry in each column is left
+or right justified. This is described a little bit later.
+
+ Something to note about this example table is that the outer
+rules are thicker than the others. You can also get a thick
+vertical rule between columns by using ``{\tt\bs\VT}'' in place of
+``{\tt\VT}'', and you can get a thick horizontal rule below a row by
+replacing the |\cr| with |\crthick|. The widths of thick and
+thin rules are controlled by the dimensions |\thicksize| and
+|\thinsize|. If you don't want thick rules at all simply say
+|\thicksize=\thinsize|, which makes the thick rules as thin
+as the thin rules.
+
+ Some synonyms: |\CR| is the same as |\crthick|, |\nr| is the
+same as |\crnorule|, and |\crrule| is the same as |\cr| (actually
+it's the other way around!). |\tab| is the same as |&| --- it
+separates columns without a vertical rule. |\vb| is the same as
+{\tt\VT}, it separates columns with a thin vertical bar, while
+|\Vb| is the same as {\tt\bs\VT} and separates the columns with a
+thick vertical bar. You can also use |\dbl| to separate columns
+with a double vertical rule.
+
+ As in Plain \TeX\ you can use |\span| in place of |&| (or the other
+column separators) to join two columns together into one, and you can
+use |\omit| as the very first token in a column to tell it to omit the
+fancy column layout (the centering or other spacing). You can also use
+|\multispan| to |\span| and |\omit| several columns, just as in an
+|\halign|. The only difference is that the number of columns you tell
+it to |\multispan| is the number of columns of the table it spans ---
+with an |\halign| you would count the columns {\it and} any vertical
+rules.
+
+\table{table-example-II}
+\caption{Another example of a ruled table.}
+\singlespaced
+\ruledtable
+\multispan3\hfil AT\&T Common Stock \hfil\CR
+ Year \dbl Price | Dividend \cr
+ 1971 \dbl 41-54 | \$2.60 \cr
+ ~~~2 \dbl 41-54 | \$2.70 \cr
+ ~~~3 \dbl 46-55 | \$2.87 \cr
+ ~~~4 \dbl 40-53 | \$3.24 \cr
+ ~~~5 \dbl 45-52 | \$3.40 \cr
+ ~~~6 \dbl 51-59 | ~~.95
+\endruledtable
+\endtable
+
+ \Tbl{table-example-II} is another sample table, again taken
+{from} \TeXbook. Something important to notice is that the last
+ruled table example didn't have a table number or a caption,
+while this one does. That's because the last example was created
+using just |\ruledtable|, while this example is inside of
+|\table|. The point is that |\table| and |\ruledtable| do
+separate things and can be used either separately or together:
+|\table| creates the space for the table and gives it a caption
+and a number, while |\ruledtable| actually constructs the body of
+the ruled table. The instructions that created \Tbl{table-example-II}
+are:
+\TeXexample
+\table{table-example-II}
+\caption{Another example of a ruled table.}
+\singlespaced
+\ruledtable
+\multispan3\hfil AT\&T Common Stock \hfil\CR
+Year \dbl Price |VT Dividend \cr
+1971 \dbl 41-54 |VT \$2.60 \cr
+~~~2 \dbl 41-54 |VT \$2.70 \cr
+~~~3 \dbl 46-55 |VT \$2.87 \cr
+~~~4 \dbl 40-53 |VT \$3.24 \cr
+~~~5 \dbl 45-52 |VT \$3.40 \cr
+~~~6 \dbl 51-59 |VT ~~.95
+\endruledtable
+\endtable
+|endTeXexample
+\bigskip\goodbreak
+
+\table{SiHCl}
+\singlespaced
+\tenpoint
+\tolerance=1000 % here for the caption which is a pain
+\ruledtable
+\vctr{Molecule} | \vctr{Region} | Radius |
+ \vctr{$\alpha _{\rm HF}$}|\multispan{2} $l_{\rm max}$ \crnorule
+\cskip | \cskip | \cskip |\cskip| \crule | \crule \crpart
+ | | (au) | | initial state | final state \CR
+
+SiCl$_4$ | outersphere | 6.21 | 0.7238 | 4 | 7\crnorule
+ | Si | 2.20 | 0.7275 | 2 | 3\crnorule
+ | Cl | 2.40 | 0.7233 | 2 | 3\cr
+
+SiHCl$_3$ | outersphere | 6.21 | 0.7260 | 4 | 7\crnorule
+ | Si | 2.16 | 0.7275 | 2 | 3\crnorule
+ | Cl | 2.40 | 0.7233 | 2 | 3\crnorule
+ | H | 1.20 | 0.7772 | 1 | 2\cr
+
+SiH$_2$Cl$_2$ | outersphere | 6.25 | 0.7295 | 4 | 7\crnorule
+ | Si | 2.20 | 0.7275 | 2 | 3\crnorule
+ | Cl | 2.40 | 0.7233 | 2 | 3\crnorule
+ | H | 1.20 | 0.7772 | 1 | 2\cr
+
+SiH$_3$Cl | outersphere | 6.30 | 0.7360 | 4 | 7\crnorule
+ | Si | 2.20 | 0.7275 | 2 | 3\crnorule
+ | Cl | 2.40 | 0.7233 | 2 | 3\cr
+
+SiH$_4$ | outersphere | 4.10 | 0.7524 | 4 | 7 \crnorule
+ | Si | 2.04 | 0.7275 | 2 | 3 \crnorule
+ | H | 1.20 | 0.7772 | 1 | 2
+\endruledtable
+
+\caption{Parameters used in the MS-X$\alpha$ calculations for
+ the chlorosilane molecules, H$_{\rm x}$SiCl$_{\rm 4-x}$;
+ x=0-4.}
+
+\endtable
+
+Sometimes it is desirable to have rules across only some of the columns
+of a table. In this case put |\crule| in the columns that are to have
+rules, |\cskip| in the columns where no rules are desired, and
+end the line with |\crpart|, which signals that the line contains a
+partial rule. The column headings in \Tbl{SiHCl} are an example of
+partial rules in a table.
+That table was created with the commands,\reference{Bozek, 1991}
+J.D.~Bozek, Ph.D. thesis (unpublished), Department of Chemistry,
+University of Western Ontario, London, Ontario CANADA
+\endreference\relax
+\TeXexample
+\table{SiHCl}
+\singlespaced\tenpoint\tolerance=1000
+
+\ruledtable
+\vctr{Molecule} |VT \vctr{Region} |VT Radius |VT
+ \vctr{$\alpha _{\rm HF}$}|VT\multispan{2} $l_{\rm max}$
+\crnorule
+\cskip |VT \cskip |VT \cskip |VT\cskip|VT \crule |VT \crule \crpart
+ |VT |VT (au) |VT |VT initial state |VT final state \CR
+
+SiCl$_4$ |VT outersphere |VT 6.21 |VT 0.7238 |VT 4 |VT 7 \crnorule
+ |VT Si |VT 2.20 |VT 0.7275 |VT 2 |VT 3 \crnorule
+ |VT Cl |VT 2.40 |VT 0.7233 |VT 2 |VT 3 ...
+
+\endruledtable
+\endtable
+|endTeXexample
+\bigskip\goodbreak
+
+ Ruled tables are normally centered on the page, but you can turn
+off the centering with |\noncenteredtables|. Then the table becomes just
+another piece to add to a horizontal list. One thing this lets you do is
+have two tables side by side on the page, like so:
+\noncenteredtables
+\medskip
+\line{
+\ruledtable
+Item ABC | Item DEF \cr
+Item GHI | Item JKL \endruledtable
+\hfil
+\ruledtable
+Data 111 | Data 222 \cr
+Data 333 | Data 444 \cr
+Data 555 | Data 666 \endruledtable}
+\smallskip
+\noindent This pair of tables was produced by saying:
+\TeXexample
+\noncenteredtables
+\medskip
+\line{
+\ruledtable
+Item ABC |VT Item DEF \cr
+Item GHI |VT Item JKL \endruledtable
+\hfil
+\ruledtable
+Data 111 |VT Data 222 \cr
+Data 333 |VT Data 444 \cr
+Data 555 |VT Data 666 \endruledtable}
+\smallskip
+|endTeXexample
+\noindent Saying |\centeredtables| turns table centering back on.
+Tables are then centered across the page, and a table is then
+added to a {\it vertical} list.
+\bigskip\goodbreak
+
+ Usually |\ruledtable| makes tables as wide as their natural
+width, but it is possible to make them wider by setting the dimension
+|\tablewidth| to the width desired before saying |\ruledtable|. We can
+make the same table in \Tbl{table-example-II} but with the width set to
+10cm:
+%
+\bigskip
+\noncenteredtables
+\tablewidth=10cm
+\line{\hfil\vbox{\singlespaced
+\ruledtable
+\multispan3\hfill AT\&T Common Stock \hfill\CR
+Year \dbl Price | Dividend \cr
+1971 \dbl 41-54 | \$2.60 \cr
+~~~2 \dbl 41-54 | \$2.70 \cr
+~~~3 \dbl 46-55 | \$2.87 \cr
+~~~4 \dbl 40-53 | \$3.24 \cr
+~~~5 \dbl 45-52 | \$3.40 \cr
+~~~6 \dbl 51-59 | ~~.95\rlap*
+\endruledtable
+\hbox{* (first quarter only)}
+\vss}\hfil}
+\smallskip
+\noindent
+The careful reader will notice that the version of
+\Tbl{table-example-II} in \TeXbook\ had a footnote to the last entry,
+and we have added that here. To do so we had to put the footnote in an
+|\hbox| and stack it under the table, so we had to turn off table
+centering. The table is therefore a bit more complicated to make, but
+not much:
+\TeXexample
+\noncenteredtables
+\tablewidth=10cm
+\line{\hfil\vbox{\singlespaced
+\ruledtable
+\multispan3\hfill AT\&T Common Stock \hfill\CR
+Year \dbl Price |VT Dividend \cr
+1971 \dbl 41-54 |VT \$2.60 \cr
+~~~2 \dbl 41-54 |VT \$2.70 \cr
+~~~3 \dbl 46-55 |VT \$2.87 \cr
+~~~4 \dbl 40-53 |VT \$3.24 \cr
+~~~5 \dbl 45-52 |VT \$3.40 \cr
+~~~6 \dbl 51-59 |VT ~~.95\rlap*
+\endruledtable
+\hbox{* (first quarter only)}
+\vss}\hfil}
+|endTeXexample
+\centeredtables % turn back on!
+\noindent
+If we had not wanted to add the footnote, then the table would have
+been typed the same way as \Tbl{table-example-II} except for setting
+the |\tablewidth|.
+
+ Important note: |\tablewidth| is turned ``off'' after the
+table is made, so the next table will have its natural width unless
+you explicitly set |\tablewidth| again!
+\bigskip\goodbreak
+
+ |\ruledtable| normally inserts a |\quad| of space around each
+item. If you have a very wide table, especially one with many columns,
+you may wish to reduce this. |\TightTables| make this spacing a single
+space, the minimum acceptable. |\LooseTables| restores the default
+spacing. You can define this space to be something else by
+re-defining |\tablespace|, for example as
+\TeXexample
+\def\tablespace{\ \ }
+|endTeXexample
+\noindent
+If the table is still too wide with |\TightTables|, you will probably
+have to reformat it or print it in landscape mode.
+\bigskip\goodbreak
+
+ The careful reader may also have noticed that in the
+examples in \Tbl{table-example-II} and \Tbl{SiHCl} we said
+|\singlespaced|. That's
+because the spacing of the rows of a table can be controlled just like
+the spacing of the text with |\singlespaced|, |\doublespaced|,
+etc. The space between the rows of a table is set by a strut called
+|\tstrut|, which holds the rows apart. Its default definition is
+\TeXexample
+\def\tstrut{\vrule height 3.1ex depth 1.2ex width 0pt}
+|endTeXexample
+\noindent
+You can change the spacing between rows by changing the definition of
+this strut. One of the things |\singlespaced| does is define the
+|\tstrut| to be 0.5ex higher and deeper than a parenthesis.
+|\doublespaced|, |\triplespaced|, and |\widenspacing| all increase the
+height and depth of the strut in proportion to the increase in the
+baseline spacing.
+
+ If you put something in a table which is larger than the strut,
+then it will touch the rows above or below. You can fix this by
+inserting your own strut into that row. More simply, you can say
+|\bigitem{|\meta{stuff}|}|, and ``stuff'' will be positioned correctly
+with a nice amount of space above and below.
+\medskip
+
+ You can also decide whether or not you want diagnostic messages
+printed when a table is created. |\tableinfotrue| causes a message to
+be printed on your terminal every time a ruled table is created. The
+message tells you how many rows and columns were in the table. This is
+useful information, because it can tell you immediately if you made a
+mistake in the table or left out a row or column. |\tableinfotrue| is
+the default, but you can turn off these messages by saying
+|\tableinfofalse|. In any case, you will be warned if a row has a
+different number of columns from the previous one.
+\medskip
+
+ The tables we have demonstrated so far all contain numbers, but
+sometimes it is desirable to have an entry in a table which is a
+paragraph of text. For that purpose, you can use
+|\para{|\meta{text}|}|. The width of the paragraph is determined by
+the dimension |\parasize|, which defaults to 4 inches.
+\medskip
+
+\table{tablemac;a}
+\caption{Basic table macros for use with {\tt\bs ruledtable}.}
+\intablelist{Basic macros for {\tt\bs ruledtable}}
+\tablewidth=\hsize
+\LeftJustifyTables
+\ruledtable
+\sl Macro name\relax
+ | \sl Description \relax \crthick
+\tt\bs ruledtable\relax
+ | \para{Starts a ruled table.}\cr
+\tt\bs endruledtable\relax
+ | \para{Ends the ruled table.}\cr
+\tt\bs cr\relax
+ | \para{Ends the current row, and starts the next
+ one. The completed row will be separated from
+ the next with a thin horizontal rule.}\cr
+\vtop{\noindent\hsize=1.6in\normalbaselines
+\tt\bs crthick \hfil\break \rm or \tt\bs CR\hfil }\relax
+ | \para{Similar to {\tt\bs cr}, but the rows will
+ be separated with a thick horizontal rule.}\cr
+\vtop{\noindent\hsize=1.6in\normalbaselines
+\tt\bs crnorule \hfil\break \rm or \tt\bs nr\hfil }\relax
+ | \para{Similar to {\tt\bs cr}, but the rows will
+ not be separated by a rule.}\cr
+\vtop{\noindent\hsize=1.6in\normalbaselines
+\tt\char124\quad \rm (vertical bar)\hfil\break
+or \tt\bs vb\hfil} \relax
+ | \para{Separates one column from the next, and
+ puts a vertical rule between them.} \cr
+\tt\&\ \rm or\tt\ \bs tab \relax
+ | \para{Same as {\tt\char124}, but does not put
+ in the vertical rule between the columns.}\cr
+\tt\bs\char124 \relax
+ | \para{Same as {\tt\char124}, but puts in a
+ thick vertical rule.}
+\endruledtable
+\line{\hfil {\sl Continued...}}
+\endtable
+
+\fulltable{tablemac;b}
+\caption{Additional macros for use with {\tt\bs ruledtable}.}
+\intablelist{Additional macros for {\tt\bs ruledtable}}
+\tablewidth=\hsize
+\LeftJustifyTables
+\line{{\sl Continued...}\hfil}
+\smallskip
+\ruledtable
+\sl Macro name\relax
+ | \sl Description \relax \crthick
+\tt\bs multispan\lb{\it n}\rb\relax
+ | \para{Makes the next entry span the next $n$
+ columns, where $n$ is an integer, $n>0$.
+ See other notes on {\tt\bs multispan} below.} \cr
+\tt\bs omit \relax
+ | \para{This \TeX\ primitive causes the normal
+ template for its entry to be omitted, allowing
+ the user to do something else with this entry.} \cr
+\tt\bs para\lb{\it text}\rb \relax
+ | \para{Formats {\it text} into a neat little
+ paragraph like this one. The width of the
+ paragraph produced is determined by the dimension
+ {\tt\bs parasize}. The default is 4 inches. } \cr
+\tt\bs parasize=\meta{dimen} \relax
+ | \para{Sets the width of paragraphs for the {\tt\bs para}
+ macro.} \cr
+\tt\bs TableItem\lb\#\rb\relax
+ | \para{Used in the standard template, this
+ macro centers its argument in the column. The
+ user can redefine it for special effects.} \cr
+\tt\bs tablespace
+ | \para{The spacing around each item for {\tt\bs TableItem}.}\cr
+\vtop{\noindent\hsize=1.4in\normalbaselines
+\tt\bs LooseTables \hfil\break
+\tt\bs TightTables\hfil}\relax
+ | \para{Set {\tt\bs tablespace} to {\tt\bs quad} and {\tt\bs\ }
+ respectively.\hfill\break\ }\cr
+\vtop{\noindent\hsize=1.6in\normalbaselines
+\tt\bs TrailingSpaces \hfil\break
+\tt\bs NoTrailingSpaces \hfil}\relax
+ | \para{Use trailing spaces and glue items in table entries
+ (default) or ignore them. See text.}\cr
+\tt\bs bigitem\lb\#\rb\relax
+ | \para{Use this for something that would normally
+ not fit in one line of a table to make the spacing
+ between rows large enough for this item.} \cr
+\tt\bs vctr\lb\#\rb\relax
+ | \para{Centers the item {\it vertically} so that
+ it can appear between two rows.}\cr
+\tt\bs centeredtables\relax
+ | \para{Turns table centering on. Each table
+ will be centered left-to-right on the page.
+ This is the default.} \cr
+\tt\bs noncenteredtables\relax
+ | \para{Turns table centering off. Each table
+ is returned as an {\tt\bs hbox}, and it is up
+ to the user to place it as desired.} \cr
+\vtop{\noindent\hsize=1.6in\normalbaselines
+\tt\bs tableinfotrue \hfil\break
+\tt\bs tableinfofalse\hfil}\relax
+ | \para{Turns on or off the diagnostic message telling
+ you how many rows and columns were found in the
+ table. }\cr
+\tt\bs thicksize=\meta{dimen} \relax
+ | \para{This dimension specifies the thickness
+ of the thick rules in the table. The default
+ size is 1.5 points.} \cr
+\tt\bs thinsize=\meta{dimen} \relax
+ | \para{This dimension specifies the thickness
+ of thin rules in the table. The default
+ size is 0.8 points.} \cr
+\tt\bs tablewidth=\meta{dimen} \relax
+ | \para{Specifies how wide to make the next
+ table. If not specified, the table is made to
+ its natural width. This value is reset
+ following the construction of each table.}
+\endruledtable
+\vss
+\endtable
+
+Tables \use{Tb.tablemac;a} and \use{Tb.tablemac;b} summarize the
+most important commands for making ruled tables.
+\medskip
+
+ Finally we can discuss how you can change how each column of
+a table is constructed. The macros which build the table take
+each entry and pass it to a macro called |\TableItem|. The
+default definition of |\TableItem| is:
+\TeXexample
+\let\TableItem=\@TableItem % default is centered
+\def\@TableItem#1{% % centers item in ruled table
+ \hfil\tablespace % left glue
+ #1\killspace % item, no space after
+ \tablespace\hfil % right glue
+ }%
+|endTeXexample
+The |\hfil| glue on both sides of the argument causes the item to be
+centered in the column, while |\tablespace| (which defaults to |\quad|)
+insures that there will be at least some amount of space between the
+item and the vertical rules on each side. Because of the way that
+\TeX\ handles macro arguments, if you type a table with spaces between
+the text and the next column separator, an extra |\space| will be
+inserted into the table. If you first say |\NoTrailingSpaces|, then
+|\killspace| in the above macro is defined to remove any trailing glue
+items. |\hfill| is redefined by the table macros so that if it is the
+last token in an entry, then that entry is properly left justified,
+but to insert any other trailing glue, you must say
+\example
+\meta{text}\meta{glue}\null
+\endexample
+\noindent
+The default is |\TrailingSpaces|, which does incorporate any trailing
+spaces into the table but which also treats any trailing glue items
+normally. You may wish to change this default in your |TXSpatch.tex|
+file.
+
+ You can change the definition of |\TableItem| to suit your own
+purpose. The simplest modification is to omit the |\hfil| on the left
+or right so that each entry is right or left justified. This is so
+commonly used that saying |\RightJustifyTables| or
+|\LeftJustifyTables| makes the appropriate change for you. Saying
+|\NoJustifyTables| restores |\TableItem| to its original centering
+function.
+
+ Since |\TableItem| is used to create every column of the table, you
+cannot use it to modify a single column. To justify just one column
+you can simply put |\hfill| to the left or right of each item in the
+column, since |\hfill| is infinitely more stretchy than |\hfil|. (The
+behavior of glue items other than |\hfill| depends on whether
+|\NoTrailingSpaces| has been set.) With a little more work it is
+possible to design special or unusual tables by redefining the
+``preamble'' of the table. This is possible because |\ruledtable|
+uses |\halign| with a preamble called |\TablePreamble|. The default
+definition of |\TablePreable| is:
+\TeXexample
+\def\TablePreamble{% % \ruledtable preamble
+ \TableItem{####}% % the first item
+ \plaintab\plaintab % && means repeat this
+ \TableItem{####}% % the subsequent items
+ \plaincr}% % end of preamble
+|endTeXexample
+\noindent
+The syntax for |\TablePreamble| is like an |\halign| preamble in Plain
+\TeX\, but with |&| replaced by |\plaintab|, |\cr| replaced by
+|\plaincr|, and |#| replaced by |####|. If you have read this far and
+want to try changing |\TablePreable| then you should read the source
+code and the comments that go with it in the file |TXSruled.tex.|
+
+As a final note we point out that it is also possible for you to create
+your own column separators with the macro |\nextcolumn|. This macro
+takes a single argument which is used to separate one column of the
+table from another. Thus for example, the |\dbl| macro for creating a
+double vertical rule between columns is defined as:
+\TeXexample
+\def\dbl{%
+ \nextcolumn{\vrule width\thinsize
+ \hskip\thinsize\vrule width\thinsize}}
+|endTeXexample
+
+%>>> EOF TXSruled.doc <<<
+
+
diff --git a/macros/plain/contrib/lextex/txsruled.tex b/macros/plain/contrib/lextex/txsruled.tex
new file mode 100644
index 0000000000..69e33bd1db
--- /dev/null
+++ b/macros/plain/contrib/lextex/txsruled.tex
@@ -0,0 +1,409 @@
+% file: TXSruled.tex TeXsis version 2.14
+% $Revision: 1.3 $ : $Date: 91/06/02 02:22:54 $ : $Author: myers $
+%======================================================================*
+% RULED TABLES. E. Myers and F.E. Paige
+%
+% The following macros will typeset tables with vertical and
+% horizontal rules. The syntax is similar to Ray Cowan's TABLES.TEX,
+% but the macros have been completely rewritten. Vertical and horizontal
+% rules are drawn by macros using vertical spacing controlled by struts.
+% Usage:
+% \ruledtable
+% <item> <tab> ... <item> <cr>
+% ...
+% <item> <tab> ... <item> \endruledtable
+% where <item> is an element of the table (every row must have exactly
+% the same number of items, although some may be blank), <tab> is any
+% one of
+% & for no vertical rule
+% | [or \vb] for vertical rule
+% \| [or \Vb] for thick vertical rule
+% \dbl for double vertical rule
+% and <cr> is any one of
+% \nr for no horizontal rule
+% \cr for horizontal rule
+% \CR [or \crthick] for thick horizontal rule
+% The last <cr> must be omitted in favour of the \endruledtable
+%
+% For horizontal rules across only some columns use
+% ... \nr
+% \crule | \cskip & \Crule ... \crpart
+% where \crpart is a special \cr for the partial rule line and
+% \cskip no rule for column
+% \crule horizontal rule for column
+% \Crule thick horizontal rule for column
+% The number of columns must be identical to the other rows.
+%
+% To change the appearance of the table, modify \TableItem.
+% Several modifications are built in:
+% \LeftJustifyTables left justify each column
+% \RightJustifyTables right justify each item
+% \NoJustifyTables center each item (default)
+% \tablespace horizontal spacing around each item
+% (default is \quad)
+% \TightTables use \ horizontal spacing
+% \LooseTables use \quad horizontal spacing (default)
+%
+% Use \bigitem to expand the vertical strut for high or deep items.
+%
+% These macros have been reorganized and substantially revised from
+% version 2.13. The following functional changes have been made:
+% (1) The @ signs have been removed from the names of the macros
+% used to save the Plain \cr, \span, and & so that they can be used to
+% modify the preamble. See above.
+% (2) Macros for partial horizontal rules have been added.
+% (3) \tabskip glue has been added so that \tablewidth works
+% correctly -- the table stretches uniformly over all columns.
+% (4) \linecount has been moved to the \cr macros. It produces a
+% warning if the number of columns is different from that in the
+% previous row.
+% (5) Trailing spaces in the table items are added to the output.
+% A macro \NoTrailingSpaces inserts an \unskip after each item to remove
+% them. But this also removes trailing skips unless they are followed by
+% an empty \hbox or something similar. This is done automatically for
+% an \hfill (frequently used to left justify an item).
+% The default is \TrailingSpaces, but you may wish to insert
+% \NoTrailingSpaces in your TXSsite.tex file.
+% (6) \para uses \normalbaselines rather than specific pt values
+% for the interline spacing and the final strut.
+%
+% (C) copyright 1990, 1991 by Eric Myers and Frank E. Paige
+%======================================================================*
+% Counters and such:
+\catcode`@=11 % @ is a letter here
+\catcode`\|=12 % make sure | is not active
+\catcode`\&=4 % and that & is alignment tab
+
+\newcount\ncols \ncols=\z@ % number of columns in table
+\newcount\nrows \nrows=\z@ % number of rows in table
+\newcount\curcol \curcol=\z@ % current column counter
+\let\currow=\nrows % current row counter
+
+\newdimen\thinsize \thinsize=0.6pt % thin rule width
+\newdimen\thicksize \thicksize=1.5pt % thick rule width
+\newdimen\tablewidth \tablewidth=-\maxdimen % start ``turned off''
+\newdimen\parasize \parasize=4in % paragraph size in tables
+
+\newif\iftableinfo \tableinfotrue % report rows and columns? Yes
+\newif\ifcentertables \centertablestrue % center tables? Yes
+\def\centeredtables{\centertablestrue}%
+\def\noncenteredtables{\centertablesfalse}%
+\def\nocenteredtables{\centertablesfalse}% % synonym !
+
+\let\plaincr=\cr % save real \cr
+\let\plainspan=\span % save real \span
+\let\plaintab=& % save real alignment tab &
+\def\ampersand{\char`\&}% % to print `&' in text
+\let\lparen=( % save left paren
+\let\NX=\noexpand % shorthand for \noexpand is \NX
+
+%---------------------------------------*
+% Main macros:
+% \ruledtable <table stuff> \endruledtable turns on the ruled
+% table definitions and makes the table with \halign. It handles all
+% the control stuff; the real work is done by \@RuledTable.
+
+\def\ruledtable{\relax % make ruled table
+ \@BeginRuledTable % initialize table
+ \@RuledTable}% % now process table body
+
+% \@BeginRuledTable does all the work of setting things up before
+% we read in the body of the table
+
+\def\@BeginRuledTable{% % initialize table
+ \ncols=0\nrows=0 % reset row and column count
+ \begingroup % keep the following local
+ \offinterlineskip % so vrules touch
+ \def~{\phantom{0}}% % ~ is phantom digit
+ \def\span{\plainspan\omit\relax\colcount\plainspan}% \span USER columns
+ \let\cr=\crrule % \cr gives a \tablerule
+ \let\CR=\crthick % \CR gives a \thickrule
+ \let\nr=\crnorule % \nr give no rule
+ \let\|=\Vb % thick vrule between columns
+ \def\hfill{\hskip0pt plus1fill\hbox{}}% % so it is not removed
+%
+% support old \tablestrut in place of \tstrut if it exists
+%
+ \ifx\tablestrut\undefined\relax % if not defined, no problem
+ \else\let\tstrut=\tablestrut\fi % use \tablestrut
+%
+ \catcode`\|=13 \catcode`\&=13\relax % make | and & active
+ \TableActive % | and & get active \def`s
+ \curcol=1 % reset column count
+%
+% define \Halign to do an \halign with or without a width
+%
+ \ifdim\tablewidth>-\maxdimen\relax %
+ \edef\@Halign{\NX\halign to \NX\tablewidth\NX\bgroup\TablePreamble}%
+ \tabskip=0pt plus 1fil % let things stretch
+ \else %
+ \edef\@Halign{\NX\halign\NX\bgroup\TablePreamble}%
+ \tabskip=0pt % no stretch between columns
+ \fi %
+%
+% center text if needed
+%
+ \ifcentertables % should table be centered?
+ \ifhmode\vskip 0pt\fi % yes: force vertical mode
+ \line\bgroup\hss % center across page
+ \else\hbox\bgroup % else: just put in \hbox
+ \fi}% % end of \@BeginRuledTable
+
+
+% \@RuledTable builds the table with \@Halign and getting the
+% table body text as its argument.
+
+\long\def\@RuledTable#1\endruledtable{% % ruled table alignment
+ \vrule width\thicksize % thick rule on side
+ \vbox{\@Halign % then do \halign
+ \thickrule % thick rule on top
+ #1\killspace % body of table
+ \tstrut % vertical strut for last line
+ \linecount % count this line
+ \plaincr\thickrule % \cr, thick rule on bottom
+ \egroup}% % end of \halign and \vbox
+ \vrule width\thicksize % thick rule on side, end \hbox
+ \ifcentertables\hss\fi\egroup % finish table centering
+ \endgroup % end group from \ruledtable
+ \global\tablewidth=-\maxdimen % and reset width
+ \iftableinfo % report rows and columns
+ \immediate\write16{[Nrows=\the\nrows, Ncols=\the\ncols]}%
+ \fi}% % end of \@RuledTable
+
+%---------------------------------------*
+% Preamble and item macros:
+% \TablePreamble is the preamble for the \halign in \ruledtable.
+% To change how each item is processed change \TableItem.
+% To make a more complicated table you can change \TablePreamble,
+% but if you do so use the following substitutions in a standard \halign
+% preamble:
+% for & use \plaintab
+% for \cr use \plaincr
+% for # use ##
+% for ## use ####
+
+\def\TablePreamble{% % \ruledtable preamble
+ \TableItem{####}% % the first item
+ \plaintab\plaintab % && means repeat this
+ \TableItem{####}% % the subsequent items
+ \plaincr}% % end of preamble
+
+
+% \TableItem contains glue or spacing around the item
+
+\def\@TableItem#1{% % centers item in ruled table
+ \hfil\tablespace % left glue
+ #1\killspace% % item
+ \tablespace\hfil % right glue
+ }%
+
+\def\@tableright#1{% % right justifies item in ruled table
+ \hfil\tablespace\relax % left glue
+ #1\killspace% % item
+ \tablespace\relax}% % right glue
+
+\def\@tableleft#1{% % left justifies item in ruled table
+ \tablespace\relax % left glue
+ #1\killspace% % item
+ \tablespace\hfil}% % right glue
+
+\let\TableItem=\@TableItem % default is centered
+
+\def\RightJustifyTables{\let\TableItem=\@tableright}% % to right justify
+\def\LeftJustifyTables{\let\TableItem=\@tableleft}% % to left justify
+\def\NoJustifyTables{\let\TableItem=\@TableItem}% % to center
+
+
+% \TightTables makes the spacing of a table as tight as possible.
+% \LooseTables, the default, gives more pleasing spacing.
+
+\def\LooseTables{\let\tablespace=\quad}% % table spacing is \quad
+\def\TightTables{\let\tablespace=\space}% % table spacing is space
+\LooseTables % default is \quad
+
+
+% \TrailingSpaces, the default, allows trailing spaces and glue
+% to change the appearance of a table. \NoTrailingSpaces removes all
+% trailing spaces and glue before inserting the table glue.
+
+\def\TrailingSpaces{\let\killspace=\relax} % do not kill trailing space
+\def\NoTrailingSpaces{\let\killspace=\unskip} % kill trailing space
+\TrailingSpaces % default
+
+%---------------------------------------*
+% Table Height and Width:
+%
+% Normally tables are set to their natural width. If \tablewidth
+% has been set then we set the table to that width instead,
+% but only for the next table. Then \tablewidth is turned off
+
+% \setRuledStrut sets up the vertical strut \tstrut with
+% the appropriate dimensions to hold up one line of a ruled table.
+
+\def\setRuledStrut{% sets interlines spacing for ruled tables
+ \dimen@=\baselineskip % \dimen@ = extra space
+ \advance\dimen@ by-\normalbaselineskip % between lines
+ \ifdim\dimen@<.5ex \dimen@=.5ex\fi % minimum space
+ \setbox0=\hbox{\lparen}% % get character size
+ \dimen1=\dimen@ \advance\dimen1 by \ht0 % space above line
+ \dimen2=\dimen@ \advance\dimen2 by \dp0 % space below line
+ \def\tstrut{\vrule height\dimen1 depth\dimen2 width\z@}%
+ }%
+
+\def\tstrut{\vrule height 3.1ex depth 1.2ex width 0pt}% default
+
+
+% \tstrut does not produce the correct spacing if the entry in
+% the table is too high. The following constructs a strut higher than its
+% argument and then prints the argument. The minimum space value should
+% be the same as in \setRuledStrut.
+
+\def\bigitem#1{% % larger table entry
+ \dimen@=\baselineskip % \dimen@ = extra space
+ \advance\dimen@ by-\normalbaselineskip % between lines
+ \ifdim\dimen@<.5ex \dimen@=.5ex\fi % minimum space
+ \setbox0=\hbox{#1}% % get argument size
+ \dimen1=\dimen@ \advance\dimen1 by \ht0 % space above line
+ \dimen2=\dimen@ \advance\dimen2 by \dp0 % space below line
+ \vrule height\dimen1 depth\dimen2 width\z@ % make strut to size
+ \copy0}% % print argument
+
+
+% \vctr{stuff} centers the stuff vertically, so that it can
+% appear between two ROWS.
+
+\def\vctr#1{\hfil\vbox to 0pt{\vss\hbox{#1}\vss}\hfil}%
+
+%---------------------------------------*
+% Vertical rules:
+% \tab, \vb and \Vb are used in a table to separate columns with no
+% rule, a thin rule, or a thick rule, respectively. \nextcolumn{<rule>} skips
+% to the next column and puts the <rule> between columns. Use this to build
+% your own separators.
+
+\def\nextcolumn#1{% % move to next col.
+ \plaintab\omit#1\relax\colcount % tab, insert #1, count
+ \plaintab}% % tab to next user col.
+
+\def\tab{% % no rule between columns
+ \nextcolumn{\relax}}% % count column
+
+\let\novb=\tab % synonym for \tab
+
+\def\vb{% % thin rule between columns
+ \nextcolumn{\vrule width\thinsize}}% % count and rule
+
+\def\Vb{% % THICK rule between columns
+ \nextcolumn{\vrule width\thicksize}}% % count and thick rule
+
+\def\dbl{% % double rule between columns
+ \nextcolumn{\vrule width\thinsize % count and rule
+ \hskip\thinsize\vrule width\thinsize}}% % and skip and rule
+
+% \TableActive makes | the same as \vb and & the same as \tab so
+% these single characters can be used between columns. Here we have to
+% make & and | active so we get the active version of the characters,
+% hence the temporary change of \catcode.
+
+{\catcode`\|=13 \let|0
+ \catcode`\&=13 \let&0
+ \gdef\TableActive{\let|=\vb \let&=\tab}%
+}% end \catcode`s
+
+%---------------------------------------*
+% Horizontal rules:
+% These replacements for \cr put a wide \vrule at the end of the
+% line and maybe put a rule under the line, then begin the next line
+% with the wide \vrule from the preamble.
+
+
+\def\crrule{\killspace % \cr plus rule
+ \tstrut % strut for spacing
+ \linecount % count this line
+ \plaincr\tablerule % \cr, regular rule below line
+ }%
+
+\def\crthick{\killspace % \cr plus thick rule
+ \tstrut % strut for vertical spacing
+ \linecount % count this line
+ \plaincr\thickrule % \cr, rule, begin next line
+ }%
+
+\def\crnorule{\killspace % \cr plus no rule
+ \tstrut % strut for spacing
+ \linecount % count this line
+ \plaincr % \cr, norule, begin next line
+ }%
+
+\def\crpart{\killspace % end partial rule line
+ \linecount % count this line
+ \plaincr} % and end it
+
+
+% These rules go across the table.
+
+\def\tablerule{\noalign{\hrule height\thinsize depth 0pt}}%
+\def\thickrule{\noalign{\hrule height\thicksize depth 0pt}}%
+
+
+% Rules for individual columns. You must use \cskip in columns
+% with no rules to \omit the \TablePreamble.
+
+\def\cskip{\omit\relax}%
+\def\crule{\omit\leaders\hrule height\thinsize depth0pt\hfill}%
+\def\Crule{\omit\leaders\hrule height\thicksize depth0pt\hfill}%
+
+%---------------------------------------*
+% Counting macros:
+% These macros count rows and columns of the table. After the
+% first line has been processed \the\ncols is the total number of
+% columns in the table, which may be useful. During processing,
+% \the\curcol is the number of the current column, while \the\currow is
+% the number of the current row.
+
+
+\def\linecount{% % count and check row
+ \global\advance\nrows by1% % advance row counter
+ \ifnum\ncols>0% % if \ncols set
+ \ifnum\curcol=\ncols\relax\else % if new \ncols different
+ \immediate\write16% % then write message
+ {\NX\ruledtable warning: Ncols=\the\curcol\space for Nrow=\the\nrows}%
+ \fi\fi % end of tests
+ \global\ncols=\curcol % save columns in \ncols
+ \global\curcol=1} % reset counter
+
+\def\colcount{\relax %
+ \global\advance\curcol by 1\relax}% % advance column counter
+
+%---------------------------------------*
+% TEXT TABLES.
+% To put text in a table use \para{<text>}, with \parasize set
+% to the desired width of the text.
+
+\long\def\para#1{% % make a paragraph for tables
+ \vtop{\hsize=\parasize % width - set before \para called
+ \normalbaselines % set normal baseline skips
+ \noindent #1\relax % insert text
+ \vrule width 0pt depth 1.1ex}% % hold depth of box
+}%
+
+%---------------------------------------*
+% TABLES.TEX
+% For compatability with Cowan's TABLES.TEX we also allow the
+% syntax \begintable ... \endtable, which do the same thing.
+%
+
+\def\begintable{\relax % make ruled table
+ \@BeginRuledTable % initialize table
+ \@begintable}% % now process table body
+
+\long\def\@begintable#1\endtable{% % ruled table alignment
+ \@RuledTable#1\endruledtable}% % same as \ruledtable
+
+%---------------------------------------*
+% Turn off @ as letter before we exit
+
+\catcode`@=12 % @ is not a letter
+
+%>>> EOF TXSruled.tex <<<
+