summaryrefslogtreecommitdiff
path: root/macros/inrstex/inrstex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/inrstex/inrstex')
-rw-r--r--macros/inrstex/inrstex/abstract.tex29
-rw-r--r--macros/inrstex/inrstex/appendix.tex33
-rw-r--r--macros/inrstex/inrstex/auto.tex90
-rw-r--r--macros/inrstex/inrstex/cite.tex165
-rw-r--r--macros/inrstex/inrstex/compat3.tex14
-rw-r--r--macros/inrstex/inrstex/compatib.tex53
-rw-r--r--macros/inrstex/inrstex/english.tex17
-rw-r--r--macros/inrstex/inrstex/enhyph.tex4453
-rw-r--r--macros/inrstex/inrstex/enhyphex.tex23
-rw-r--r--macros/inrstex/inrstex/eqtag.tex45
-rw-r--r--macros/inrstex/inrstex/extdef.tex134
-rw-r--r--macros/inrstex/inrstex/extdef3.tex137
-rw-r--r--macros/inrstex/inrstex/footnote.tex22
-rw-r--r--macros/inrstex/inrstex/frhyph.tex823
-rw-r--r--macros/inrstex/inrstex/genins.tex181
-rw-r--r--macros/inrstex/inrstex/graph_ps.tex27
-rw-r--r--macros/inrstex/inrstex/hyphen.tex4466
-rw-r--r--macros/inrstex/inrstex/inrs.scr13
-rw-r--r--macros/inrstex/inrstex/inrsdef.tex256
-rw-r--r--macros/inrstex/inrstex/inrsfncm.tex350
-rw-r--r--macros/inrstex/inrstex/inrstex.tex560
-rw-r--r--macros/inrstex/inrstex/inrsunix.sh14
-rw-r--r--macros/inrstex/inrstex/inrsutil.tex164
-rw-r--r--macros/inrstex/inrstex/linespac.tex33
-rw-r--r--macros/inrstex/inrstex/lists.tex135
-rw-r--r--macros/inrstex/inrstex/margform.tex35
-rw-r--r--macros/inrstex/inrstex/masthyph.tex59
-rw-r--r--macros/inrstex/inrstex/multicol.tex62
-rw-r--r--macros/inrstex/inrstex/multlang.tex26
-rw-r--r--macros/inrstex/inrstex/out_ps.tex169
-rw-r--r--macros/inrstex/inrstex/pagsty.tex177
-rw-r--r--macros/inrstex/inrstex/papersty.tex19
-rw-r--r--macros/inrstex/inrstex/plain_nh.tex1220
-rw-r--r--macros/inrstex/inrstex/plainmod.tex8
-rw-r--r--macros/inrstex/inrstex/plaipars.tex127
-rw-r--r--macros/inrstex/inrstex/prelhead.tex31
-rw-r--r--macros/inrstex/inrstex/secthead.tex228
-rw-r--r--macros/inrstex/inrstex/specform.tex37
-rw-r--r--macros/inrstex/inrstex/subdoc.tex43
-rw-r--r--macros/inrstex/inrstex/tables.tex106
-rw-r--r--macros/inrstex/inrstex/tag.tex93
-rw-r--r--macros/inrstex/inrstex/tocform.tex108
-rw-r--r--macros/inrstex/inrstex/writdos.tex39
-rw-r--r--macros/inrstex/inrstex/writfile.tex62
-rw-r--r--macros/inrstex/inrstex/writunix.tex41
45 files changed, 14927 insertions, 0 deletions
diff --git a/macros/inrstex/inrstex/abstract.tex b/macros/inrstex/inrstex/abstract.tex
new file mode 100644
index 0000000000..b20aa2a1f3
--- /dev/null
+++ b/macros/inrstex/inrstex/abstract.tex
@@ -0,0 +1,29 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+%========= ABSTRACT/TITLE FORMS =======
+% These generate a centered abstract in the \smallerfont of a family
+
+\newdimen\absindent
+%\def\ABSTRACT{ABSTRACT} see English/French titles
+\newtoks\everyabstract
+\newtoks\e@veryabstract
+\def\beginabstract{\begingroup
+ \par
+ \leftskip= .1\hsize \rightskip=.1\hsize
+ \noindent
+ \ABSTRACT\par\noindent \smallerfont
+ \the\e@veryabstract
+ \the\everyabstract}
+\def\endabstract{\par\endgroup\vskip 2.8ex}
+
+
+%\def\titlemessage{Title} % see english/french titles
+%\def\titlefraction{0.9} % see inrsdef.tex
+%\def\titlespacing{1.5} % see inrsdef.tex
+\def\title #1{\titlepagestyle\toks0={#1}
+ \writeterm{<\titlemessage: \the\toks0>}{}{}
+ \centerline{\vbox{\hsize = \titlefraction\hsize
+ \titlefont\spacing{\titlespacing}
+ \paragraphcenterline #1}}}
diff --git a/macros/inrstex/inrstex/appendix.tex b/macros/inrstex/inrstex/appendix.tex
new file mode 100644
index 0000000000..9b32d1d886
--- /dev/null
+++ b/macros/inrstex/inrstex/appendix.tex
@@ -0,0 +1,33 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% =========== Appendices ==============
+% Appendices are defined by using \shead invocations.
+% Appendices are assumed to be associated with chapters, if
+% they exist hence the first appendix in Chapter 2 is Appendix A.
+% These macros modify the numberforms of \shead to produce Apendices.
+
+
+
+% Appendix numbering (A, B, C, ...) is incremented
+% at each appendix. The \beginappendices...\endappendices
+% macros should bracket all of the appendices.
+% Equations, figures and tables are numbered for each
+% appendix separately.
+\newif\ifa@ppendix
+% \def\Appendix{Appendix } see English/French titles
+\newtoks\everyappendices
+\newtoks\e@veryappendices
+\def\beginappendices{\begingroup \a@ppendixtrue
+ \numberbysection
+ \global\shnum=0
+ \global\sshnum=0
+ \global\ssshnum=0
+ \def\shnumform{\Alphabetic{\the\shnum}}
+ \the\s@presetlist %resets all the special numbers
+ \def\shtagreplaceformat{\Appendix \shtagrefformat.}
+ \the\e@veryappendices
+ \the\everyappendices}
+
+\def\endappendices{\endgroup} \ No newline at end of file
diff --git a/macros/inrstex/inrstex/auto.tex b/macros/inrstex/inrstex/auto.tex
new file mode 100644
index 0000000000..517b9db093
--- /dev/null
+++ b/macros/inrstex/inrstex/auto.tex
@@ -0,0 +1,90 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+%========= Autonumbering, Tagging and Autoreferencing =========
+
+% These macros give the facility to symbolically refer to sections, equations,
+% tables, and references and to automatically number them.
+% Autonumber, automatically numbers sections, equations, ....
+% Autoreferencing, causes \ref{tag} to drop the tag-value in the text.
+
+% Although it is possible to have only autonumbering, referring to
+% sections or other parts is quite difficult without referencing
+
+
+
+% When autonumbering or autoreferencing is first turned on,
+% a tag file is brought in.
+% Tags are written to a new file as they are generated.
+
+\newif\ifautoreference
+\newif\ifautonumber
+\newif\ift@agfilein
+\newwrite\t@agfile
+
+\newtoks\inputtagfiles \inputtagfiles={\inputwithcheck {\jobname.tag} }
+%\newtoks\inputtagfiles \inputtagfiles={\inputwithcheck {@\jobname.tag} }
+% MSDOS version with renaming
+\def\g@ettagfile{\ift@agfilein
+ \else
+ \the\inputtagfiles
+ \immediate\openout\t@agfile=\jobname.tag
+ \t@agfileintrue
+ \fi}
+\def\autonumberingon{\g@ettagfile\autonumbertrue}
+\def\autonumberingoff{\autonumberfalse}
+\def\autoreferencingon{\g@ettagfile\autoreferencetrue}
+\def\autoreferencingoff{\autoreferencefalse}
+
+%-------- general tag setups --- new autonumbers
+%#1 tagtype #2 pre
+%tagrefformat will be called by \...tagrefformat and will be initially
+% defined as \...tagrefformat --> \Prerefform\...numform\Postrefform
+% and \...numform -->\the\...num
+\def\Prerefform{} \def\Postrefform{}
+
+%---- makes the tex commands for tag refformats -----
+\def\m@aketagrefformat#1#2{\edef\nnxt{
+ \noexpand\def\csname #1tagrefformat\endcsname{\noexpand\Prerefform #2\noexpand\Postrefform}}
+ \nnxt}
+
+% ----list of specials to be reset .... all are done together unless overidden
+\newtoks\s@presetlist
+
+
+
+% ------ newautonum -------
+% This is used to produce the commands necessary to have a tag that can be
+% associated with a counter and to have the format styles for printing the
+% numbers. They are used for such things a figures, tables, equations.
+% Three are actually defined.
+
+% #1 is the name of then new autonum --- 3 or less characters
+% since it might be the needed for list files
+% if #1=xy, makes an \xynum, \xynumform \xytagrefformat
+% sets \xynumform to \the\xynum
+\def\newautonum#1{
+ \expandafter\n@ewcount\csname #1num\endcsname %allocates counter
+ \edef\n@ext{{\global\expandafter\csname #1num\endcsname = 0}}
+ \expandafter\toks0\n@ext
+ \appendtoks{\s@presetlist}{\toks0}
+ \expandafter\let \csname #1tagrefformat\endcsname = \relax
+ %inhibits expansion later on
+ \edef\n@ext##1{\noexpand\def\csname auto#1num\endcsname
+ ##1{\noexpand\a@utotag{##1}{\csname #1num\endcsname
+ }{\csname #1tagrefformat\endcsname
+ }{\csname #1tagrefformat\endcsname}{##1}}}
+ \n@ext{##1} %makes \auto#1num
+ \m@aketagrefformat{#1}{\csname #1numform\endcsname}
+ \edef\n@ext{ %initializes \#1numform
+ \noexpand\def\csname #1numform\endcsname
+ {\noexpand\the\csname #1num\endcsname}}
+ \n@ext
+ }
+
+%===== Allocates the autonums to eq, fig and tbl =======
+\newautonum{eq}
+\newautonum{fig}
+\newautonum{tbl}
+%--------------------
diff --git a/macros/inrstex/inrstex/cite.tex b/macros/inrstex/inrstex/cite.tex
new file mode 100644
index 0000000000..1101ba3726
--- /dev/null
+++ b/macros/inrstex/inrstex/cite.tex
@@ -0,0 +1,165 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% ===== Citation generation ==========
+% \cite is used with a journal/paper reference.
+% The forms allow both random input order of cite forms or
+% fixed order. At the moment it supports only IEEE form, ie
+% a list in the order of their occurrence in a paper.
+% A data base system using a mailbox would be much better.
+
+
+% Invocation of \cite{Ferg84} will define a \tag{Ferg84}{<number>},
+% where the reference number is sequentially determined. At the site
+% of the invocation <number> is dropped into the text (without [ or ]).
+% If the reference has been previously invoked, the number is that of
+% the first invocation.
+% the \citenum is relative to an \i@nitcitenum. This allows for multiple
+% reference lists in the same document. A new number is defined if the old
+% one is undefined or less than or equal to the initcitenum
+
+% In addition, when the citation tag file is written out, the last \citenum
+% is also written. This allows a citation tag file to be input for early
+% reference and then to be effectively discarded by resetting the
+% \i@nitcitenum
+
+\def\opencitationtagfile{\openlistfile{ctg}\resetcitationnumbers\immediate
+ \write\ctg@file{\noexpand\initcitetag{\the\citenum}}}
+
+\def\closecitationtagfile{\immediate
+ \write\ctg@file{\noexpand\lastcitetag{\the\citenum}}\closelistfile{ctg}}
+
+%--- citenum allocation ------
+\def\initcitetag#1{\xdef\i@nitcitenum{#1}}
+ \initcitetag{0} % initializes to 0
+\def\lastcitetag#1{\xdef\l@astcitenum{#1}}
+ \lastcitetag{0} % initializes to 0}
+
+\newcount\citenum \citenum = 0
+\def\resetcitationnumbers{\ifnum\citenum>\l@astcitenum
+ \lastcitetag{\the\citenum}\else
+ \global\citenum = \l@astcitenum \fi
+ \initcitetag{\l@astcitenum}}
+
+\def\w@ritecite#1{\ifctglist \immediate\write\ctg@file
+ {\string\tag{#1}{\the\citenum}}\fi}
+\def\m@akecitetag#1{\global\advance\citenum by 1 \relax
+ \tag{#1}{\the\citenum}\w@ritecite{#1}}
+
+\def\cite#1{\ifctglist \else \opencitationtagfile \fi
+ \edef\c@itearrow{<--}\relax
+ \ifundefined{:@#1}\m@akecitetag{#1}\edef\c@itearrow
+ {==>}\fi
+ \ifnum \i@nitcitenum < \csname :@#1\endcsname \else
+ \m@akecitetag{#1}\edef\c@itearrow
+ {==>}\fi
+ \count255= \csname :@#1\endcsname
+ \advance\count255 by -\i@nitcitenum \relax
+ \proofmargin{#1 \c@itearrow\ \the\count255}\the\count255}
+
+% This will produce the correct value of a citation without
+% causing it to be created if it does not exist
+
+\def\citeref#1{\ifundefined{:@#1}\count255=0\else
+ \count255=\csname :@#1\endcsname\fi
+ \advance\count255by-\i@nitcitenum\relax\the\count255}
+
+
+% Citation/Reference list generation. An example setup using the list
+% macros to generate a reference list is shown below.
+% \opencitationtagfile
+% <main text>
+% \beginlist
+% \makecitationlist %or \makelongcitationlist
+% \endlist
+% The reference list is generated from two files:
+% <jobname>.ctg contains citation tags of the form \tag{Ferg84}{4}
+% where the first argument is the tag, and the second
+% is the reference number associated with that tag.
+% <jobname>.cfm contains the text for the references. These can appear
+% in any order and contain text of the form
+% \citeform{<tag>}{\listitem{\citetagvalue} <reference text>}
+% This example shows a preamble to the text which invokes
+% a new list item with the appropriate reference number.
+% The reference text is the author, journal etc. for the
+% reference.
+% Each \citeform entry will generate a new macro definition of the form
+% \def\@Ferg84form{<reference text>}.
+% Each \tag entry will define \citetagvalue as the citation/reference number
+% and invoke \@Ferg84form
+
+%\makecitationlist does not require the .cfm file to have citations in the
+%same order as .ctg file. \makelongcitationlist enters the citations in the
+%in the document in the same order as in the file. It numbers with a counter
+%and indicates if there is a difference between citetag and counter.
+
+\newif\ifctglist % so dont have to check if undefined
+\newtoks\citetagfilename \citetagfilename = {\jobname.ctg} %compatible Ugh!
+\newtoks\inputciteformfiles
+ \inputciteformfiles = {\inputwithcheck{\jobname.cfm}}
+\newtoks\inputcitetagfiles
+ \inputcitetagfiles = {\inputwithcheck{\the\citetagfilename}}
+
+
+
+%\def\citetagfileclosedmessage{ << CITATION TAG FILE CLOSED >> }
+%\def\nocitetagformmessage{ NO CITATION FORM FOR THIS TAG}
+% see english/french titles
+
+\def\c@losectg{
+ \ifctglist
+ \immediate\write\ctg@file{\noexpand\lastcitetag{\the\citenum}}
+ \immediate\closeout\ctg@file
+ \global\ctglistfalse
+ \writeterm{\citetagfileclosedmessage}{}{}\relax
+ \fi}
+
+% outside so that the cfm list may be included in the document.
+\def\citeform#1#2{\expandafter
+ \def\csname @#1form\endcsname{#2}}
+
+
+%cfm entries may be in any order
+\long\def\makecitationlist{\par
+ \begingroup
+ \c@losectg
+ \def\citeform##1##2{\expandafter
+ \def\csname @##1form\endcsname{##2}}
+ \def\tag##1##2{\count255 = ##2\relax
+ \advance\count255 by -\i@nitcitenum
+ \edef\citetagvalue{\the\count255}\relax % locally redefine \tag
+ \ifundefined{@##1form}\relax
+ \writeterm{<<<\the\count255. \nocitetagformmessage: ##1}{}{}\relax
+ \vskip 2ex
+ \leftline{##2\ \nocitetagformmessage: ##1}
+ \vskip 2ex
+ \else
+ \csname @##1form\endcsname
+ \fi}
+ \the\inputciteformfiles
+ \the\inputcitetagfiles \par
+ \endgroup}
+
+%.cfm entries must be in the same order as the tags in the .ctg file
+\newcount\c@fmcount %counter for citations
+\long\def\makelongcitationlist{\par
+ \begingroup
+ \c@losectg
+ \c@fmcount=0 \relax
+ \def\citetagvalue{\the\c@fmcount}
+ \def\citeform##1##2{\advance\c@fmcount by 1
+ \ifundefined{:@##1}
+ \expandafter \xdef \csname :@##1\endcsname{-1} \fi
+ \count 255 = \csname :@##1\endcsname
+ \advance\count 255 by -\i@nitcitenum
+ \ifnum \the\count255 = \the\c@fmcount
+ \relax \else
+ \writeterm{<<< Cite tag error -- Tag ##1 -- Citation \the\c@fmcount >>>}{}{}
+ \fi
+ ##2}
+ \the\inputcitetagfiles
+ \the\inputciteformfiles\par
+ \endgroup
+ }
+
diff --git a/macros/inrstex/inrstex/compat3.tex b/macros/inrstex/inrstex/compat3.tex
new file mode 100644
index 0000000000..5e0d6ed8d5
--- /dev/null
+++ b/macros/inrstex/inrstex/compat3.tex
@@ -0,0 +1,14 @@
+% compatability macros for multilingual and extened TeX 2.992 plus
+% assumes the existence of \charsublist
+
+% #1 -- extended character to be exchanged
+% #2 -- accent macro invocation letter
+% #3 -- base character for this code
+
+\def\csubinverse #1#2#3{\expandafter\def\csname #2#3\endcsname{#1}}
+
+\catcode`\@=11
+\def\i{^^P}
+\def\j{^^Q}
+
+
diff --git a/macros/inrstex/inrstex/compatib.tex b/macros/inrstex/inrstex/compatib.tex
new file mode 100644
index 0000000000..c451240143
--- /dev/null
+++ b/macros/inrstex/inrstex/compatib.tex
@@ -0,0 +1,53 @@
+% compatability macros for multilingual and extened TeX 2.992 plus
+% assumes the existence of \charsublist
+
+% #1 -- extended character to be exchanged
+% #2 -- accent macro invocation letter
+% #3 -- base character for this code
+
+\def\csubinverse #1#2#3{\expandafter\def\csname #2#3\endcsname{#1}}
+
+\catcode`\@=11
+\def\i{^^P}
+\def\j{^^Q}
+
+% ... test case
+
+\def\'#1{{\expandafter\ifx\csname @ac@#1\endcsname\relax
+ {\accent19 #1}\else\csname @ac@#1\endcsname\fi}}
+\def\`#1{{\expandafter\ifx\csname @gr@#1\endcsname\relax
+ {\accent18 #1}\else\csname @gr@#1\endcsname\fi}}
+\def\v#1{{\expandafter\ifx\csname @v@#1\endcsname\relax
+ {\accent20 #1}\else\csname @v@#1\endcsname\fi}}
+\let\^^_=\v
+
+\def\u#1{{\expandafter\ifx\csname @u@#1\endcsname\relax
+ {\accent21 #1}\else\csname @u@#1\endcsname\fi}}
+\let\^^S=\u
+
+\def\=#1{{\expandafter\ifx\csname @eq@#1\endcsname\relax
+ {\accent22 #1}\else\csname @eq@#1\endcsname\fi}}
+\def\^#1{{\expandafter\ifx\csname @hat@#1\endcsname\relax
+ {\accent94 #1}\else\csname @hat@#1\endcsname\fi}}
+\let\^^D=\^
+\def\.#1{{\expandafter\ifx\csname @dot@#1\endcsname\relax
+ {\accent95 #1}\else\csname @dot@#1\endcsname\fi}}
+\def\H#1{{\expandafter\ifx\csname @H@#1\endcsname\relax
+ {\accent'175 #1}\else\csname @H@#1\endcsname\fi}}
+\def\~#1{{\expandafter\ifx\csname @til@#1\endcsname\relax
+ {\accent'176 #1}\else\csname @til@#1\endcsname\fi}}
+\def\"#1{{\expandafter\ifx\csname @um@#1\endcsname\relax
+ {\accent'177 #1}\else\csname @um@#1\endcsname\fi}}
+
+
+\let\c@@=\c
+\def\c#1{{\expandafter\ifx\csname c@#1\endcsname\relax
+ \c@@\else\csname c@#1\endcsname\fi}}
+
+
+
+
+% test form for accents ...
+\def\aa{\accent23a}
+
+
diff --git a/macros/inrstex/inrstex/english.tex b/macros/inrstex/inrstex/english.tex
new file mode 100644
index 0000000000..f0690068dd
--- /dev/null
+++ b/macros/inrstex/inrstex/english.tex
@@ -0,0 +1,17 @@
+\def\englishversion{\language=0
+\nonfrenchspacing % .... needs to reverse accent forms ...
+\def\versionform{{\notefont Draft Version: \date}}%
+\def\Chapter{Chapter }%
+\def\Appendix{Appendix }%
+\def\ABSTRACT{{\ssheadfont Abstract}}%
+\def\figurelabel{Fig. }%
+\def\tablelabel{Table }%
+\def\bookstylemessage{ <<< BOOKSTYLE >>> }%
+\def\endlistmessage##1{ <<< endlist mismatch >>> }%
+\def\undeftagmessage##1{ <<<tag: ##1 = undefined>>> }%
+\def\citetagfileclosedmessage{ << CITATION TAG FILE CLOSED >> }%
+\def\nocitetagformmessage{ NO CITATION FOR THIS TAG }%
+\def\titlemessage{Title}%
+\lccode`\'=0
+}%
+\englishversion \ No newline at end of file
diff --git a/macros/inrstex/inrstex/enhyph.tex b/macros/inrstex/inrstex/enhyph.tex
new file mode 100644
index 0000000000..e40581f0d1
--- /dev/null
+++ b/macros/inrstex/inrstex/enhyph.tex
@@ -0,0 +1,4453 @@
+% ------- English hyphen patterns -----
+% defaults to language 1
+% The Plain TeX hyphenation tables [NOT TO BE CHANGED IN ANY WAY!]
+
+\patterns{ % just type <return> if you're not using INITEX
+.ach4
+.ad4der
+.af1t
+.al3t
+.am5at
+.an5c
+.ang4
+.ani5m
+.ant4
+.an3te
+.anti5s
+.ar5s
+.ar4tie
+.ar4ty
+.as3c
+.as1p
+.as1s
+.aster5
+.atom5
+.au1d
+.av4i
+.awn4
+.ba4g
+.ba5na
+.bas4e
+.ber4
+.be5ra
+.be3sm
+.be5sto
+.bri2
+.but4ti
+.cam4pe
+.can5c
+.capa5b
+.car5ol
+.ca4t
+.ce4la
+.ch4
+.chill5i
+.ci2
+.cit5r
+.co3e
+.co4r
+.cor5ner
+.de4moi
+.de3o
+.de3ra
+.de3ri
+.des4c
+.dictio5
+.do4t
+.du4c
+.dumb5
+.earth5
+.eas3i
+.eb4
+.eer4
+.eg2
+.el5d
+.el3em
+.enam3
+.en3g
+.en3s
+.eq5ui5t
+.er4ri
+.es3
+.eu3
+.eye5
+.fes3
+.for5mer
+.ga2
+.ge2
+.gen3t4
+.ge5og
+.gi5a
+.gi4b
+.go4r
+.hand5i
+.han5k
+.he2
+.hero5i
+.hes3
+.het3
+.hi3b
+.hi3er
+.hon5ey
+.hon3o
+.hov5
+.id4l
+.idol3
+.im3m
+.im5pin
+.in1
+.in3ci
+.ine2
+.in2k
+.in3s
+.ir5r
+.is4i
+.ju3r
+.la4cy
+.la4m
+.lat5er
+.lath5
+.le2
+.leg5e
+.len4
+.lep5
+.lev1
+.li4g
+.lig5a
+.li2n
+.li3o
+.li4t
+.mag5a5
+.mal5o
+.man5a
+.mar5ti
+.me2
+.mer3c
+.me5ter
+.mis1
+.mist5i
+.mon3e
+.mo3ro
+.mu5ta
+.muta5b
+.ni4c
+.od2
+.odd5
+.of5te
+.or5ato
+.or3c
+.or1d
+.or3t
+.os3
+.os4tl
+.oth3
+.out3
+.ped5al
+.pe5te
+.pe5tit
+.pi4e
+.pio5n
+.pi2t
+.pre3m
+.ra4c
+.ran4t
+.ratio5na
+.ree2
+.re5mit
+.res2
+.re5stat
+.ri4g
+.rit5u
+.ro4q
+.ros5t
+.row5d
+.ru4d
+.sci3e
+.self5
+.sell5
+.se2n
+.se5rie
+.sh2
+.si2
+.sing4
+.st4
+.sta5bl
+.sy2
+.ta4
+.te4
+.ten5an
+.th2
+.ti2
+.til4
+.tim5o5
+.ting4
+.tin5k
+.ton4a
+.to4p
+.top5i
+.tou5s
+.trib5ut
+.un1a
+.un3ce
+.under5
+.un1e
+.un5k
+.un5o
+.un3u
+.up3
+.ure3
+.us5a
+.ven4de
+.ve5ra
+.wil5i
+.ye4
+4ab.
+a5bal
+a5ban
+abe2
+ab5erd
+abi5a
+ab5it5ab
+ab5lat
+ab5o5liz
+4abr
+ab5rog
+ab3ul
+a4car
+ac5ard
+ac5aro
+a5ceou
+ac1er
+a5chet
+4a2ci
+a3cie
+ac1in
+a3cio
+ac5rob
+act5if
+ac3ul
+ac4um
+a2d
+ad4din
+ad5er.
+2adi
+a3dia
+ad3ica
+adi4er
+a3dio
+a3dit
+a5diu
+ad4le
+ad3ow
+ad5ran
+ad4su
+4adu
+a3duc
+ad5um
+ae4r
+aeri4e
+a2f
+aff4
+a4gab
+aga4n
+ag5ell
+age4o
+4ageu
+ag1i
+4ag4l
+ag1n
+a2go
+3agog
+ag3oni
+a5guer
+ag5ul
+a4gy
+a3ha
+a3he
+ah4l
+a3ho
+ai2
+a5ia
+a3ic.
+ai5ly
+a4i4n
+ain5in
+ain5o
+ait5en
+a1j
+ak1en
+al5ab
+al3ad
+a4lar
+4aldi
+2ale
+al3end
+a4lenti
+a5le5o
+al1i
+al4ia.
+ali4e
+al5lev
+4allic
+4alm
+a5log.
+a4ly.
+4alys
+5a5lyst
+5alyt
+3alyz
+4ama
+am5ab
+am3ag
+ama5ra
+am5asc
+a4matis
+a4m5ato
+am5era
+am3ic
+am5if
+am5ily
+am1in
+ami4no
+a2mo
+a5mon
+amor5i
+amp5en
+a2n
+an3age
+3analy
+a3nar
+an3arc
+anar4i
+a3nati
+4and
+ande4s
+an3dis
+an1dl
+an4dow
+a5nee
+a3nen
+an5est.
+a3neu
+2ang
+ang5ie
+an1gl
+a4n1ic
+a3nies
+an3i3f
+an4ime
+a5nimi
+a5nine
+an3io
+a3nip
+an3ish
+an3it
+a3niu
+an4kli
+5anniz
+ano4
+an5ot
+anoth5
+an2sa
+an4sco
+an4sn
+an2sp
+ans3po
+an4st
+an4sur
+antal4
+an4tie
+4anto
+an2tr
+an4tw
+an3ua
+an3ul
+a5nur
+4ao
+apar4
+ap5at
+ap5ero
+a3pher
+4aphi
+a4pilla
+ap5illar
+ap3in
+ap3ita
+a3pitu
+a2pl
+apoc5
+ap5ola
+apor5i
+apos3t
+aps5es
+a3pu
+aque5
+2a2r
+ar3act
+a5rade
+ar5adis
+ar3al
+a5ramete
+aran4g
+ara3p
+ar4at
+a5ratio
+ar5ativ
+a5rau
+ar5av4
+araw4
+arbal4
+ar4chan
+ar5dine
+ar4dr
+ar5eas
+a3ree
+ar3ent
+a5ress
+ar4fi
+ar4fl
+ar1i
+ar5ial
+ar3ian
+a3riet
+ar4im
+ar5inat
+ar3io
+ar2iz
+ar2mi
+ar5o5d
+a5roni
+a3roo
+ar2p
+ar3q
+arre4
+ar4sa
+ar2sh
+4as.
+as4ab
+as3ant
+ashi4
+a5sia.
+a3sib
+a3sic
+5a5si4t
+ask3i
+as4l
+a4soc
+as5ph
+as4sh
+as3ten
+as1tr
+asur5a
+a2ta
+at3abl
+at5ac
+at3alo
+at5ap
+ate5c
+at5ech
+at3ego
+at3en.
+at3era
+ater5n
+a5terna
+at3est
+at5ev
+4ath
+ath5em
+a5then
+at4ho
+ath5om
+4ati.
+a5tia
+at5i5b
+at1ic
+at3if
+ation5ar
+at3itu
+a4tog
+a2tom
+at5omiz
+a4top
+a4tos
+a1tr
+at5rop
+at4sk
+at4tag
+at5te
+at4th
+a2tu
+at5ua
+at5ue
+at3ul
+at3ura
+a2ty
+au4b
+augh3
+au3gu
+au4l2
+aun5d
+au3r
+au5sib
+aut5en
+au1th
+a2va
+av3ag
+a5van
+ave4no
+av3era
+av5ern
+av5ery
+av1i
+avi4er
+av3ig
+av5oc
+a1vor
+3away
+aw3i
+aw4ly
+aws4
+ax4ic
+ax4id
+ay5al
+aye4
+ays4
+azi4er
+azz5i
+5ba.
+bad5ger
+ba4ge
+bal1a
+ban5dag
+ban4e
+ban3i
+barbi5
+bari4a
+bas4si
+1bat
+ba4z
+2b1b
+b2be
+b3ber
+bbi4na
+4b1d
+4be.
+beak4
+beat3
+4be2d
+be3da
+be3de
+be3di
+be3gi
+be5gu
+1bel
+be1li
+be3lo
+4be5m
+be5nig
+be5nu
+4bes4
+be3sp
+be5str
+3bet
+bet5iz
+be5tr
+be3tw
+be3w
+be5yo
+2bf
+4b3h
+bi2b
+bi4d
+3bie
+bi5en
+bi4er
+2b3if
+1bil
+bi3liz
+bina5r4
+bin4d
+bi5net
+bi3ogr
+bi5ou
+bi2t
+3bi3tio
+bi3tr
+3bit5ua
+b5itz
+b1j
+bk4
+b2l2
+blath5
+b4le.
+blen4
+5blesp
+b3lis
+b4lo
+blun4t
+4b1m
+4b3n
+bne5g
+3bod
+bod3i
+bo4e
+bol3ic
+bom4bi
+bon4a
+bon5at
+3boo
+5bor.
+4b1ora
+bor5d
+5bore
+5bori
+5bos4
+b5ota
+both5
+bo4to
+bound3
+4bp
+4brit
+broth3
+2b5s2
+bsor4
+2bt
+bt4l
+b4to
+b3tr
+buf4fer
+bu4ga
+bu3li
+bumi4
+bu4n
+bunt4i
+bu3re
+bus5ie
+buss4e
+5bust
+4buta
+3butio
+b5uto
+b1v
+4b5w
+5by.
+bys4
+1ca
+cab3in
+ca1bl
+cach4
+ca5den
+4cag4
+2c5ah
+ca3lat
+cal4la
+call5in
+4calo
+can5d
+can4e
+can4ic
+can5is
+can3iz
+can4ty
+cany4
+ca5per
+car5om
+cast5er
+cas5tig
+4casy
+ca4th
+4cativ
+cav5al
+c3c
+ccha5
+cci4a
+ccompa5
+ccon4
+ccou3t
+2ce.
+4ced.
+4ceden
+3cei
+5cel.
+3cell
+1cen
+3cenc
+2cen4e
+4ceni
+3cent
+3cep
+ce5ram
+4cesa
+3cessi
+ces5si5b
+ces5t
+cet4
+c5e4ta
+cew4
+2ch
+4ch.
+4ch3ab
+5chanic
+ch5a5nis
+che2
+cheap3
+4ched
+che5lo
+3chemi
+ch5ene
+ch3er.
+ch3ers
+4ch1in
+5chine.
+ch5iness
+5chini
+5chio
+3chit
+chi2z
+3cho2
+ch4ti
+1ci
+3cia
+ci2a5b
+cia5r
+ci5c
+4cier
+5cific.
+4cii
+ci4la
+3cili
+2cim
+2cin
+c4ina
+3cinat
+cin3em
+c1ing
+c5ing.
+5cino
+cion4
+4cipe
+ci3ph
+4cipic
+4cista
+4cisti
+2c1it
+cit3iz
+5ciz
+ck1
+ck3i
+1c4l4
+4clar
+c5laratio
+5clare
+cle4m
+4clic
+clim4
+cly4
+c5n
+1co
+co5ag
+coe2
+2cog
+co4gr
+coi4
+co3inc
+col5i
+5colo
+col3or
+com5er
+con4a
+c4one
+con3g
+con5t
+co3pa
+cop3ic
+co4pl
+4corb
+coro3n
+cos4e
+cov1
+cove4
+cow5a
+coz5e
+co5zi
+c1q
+cras5t
+5crat.
+5cratic
+cre3at
+5cred
+4c3reta
+cre4v
+cri2
+cri5f
+c4rin
+cris4
+5criti
+cro4pl
+crop5o
+cros4e
+cru4d
+4c3s2
+2c1t
+cta4b
+ct5ang
+c5tant
+c2te
+c3ter
+c4ticu
+ctim3i
+ctu4r
+c4tw
+cud5
+c4uf
+c4ui
+cu5ity
+5culi
+cul4tis
+3cultu
+cu2ma
+c3ume
+cu4mi
+3cun
+cu3pi
+cu5py
+cur5a4b
+cu5ria
+1cus
+cuss4i
+3c4ut
+cu4tie
+4c5utiv
+4cutr
+1cy
+cze4
+1d2a
+5da.
+2d3a4b
+dach4
+4daf
+2dag
+da2m2
+dan3g
+dard5
+dark5
+4dary
+3dat
+4dativ
+4dato
+5dav4
+dav5e
+5day
+d1b
+d5c
+d1d4
+2de.
+deaf5
+deb5it
+de4bon
+decan4
+de4cil
+de5com
+2d1ed
+4dee.
+de5if
+deli4e
+del5i5q
+de5lo
+d4em
+5dem.
+3demic
+dem5ic.
+de5mil
+de4mons
+demor5
+1den
+de4nar
+de3no
+denti5f
+de3nu
+de1p
+de3pa
+depi4
+de2pu
+d3eq
+d4erh
+5derm
+dern5iz
+der5s
+des2
+d2es.
+de1sc
+de2s5o
+des3ti
+de3str
+de4su
+de1t
+de2to
+de1v
+dev3il
+4dey
+4d1f
+d4ga
+d3ge4t
+dg1i
+d2gy
+d1h2
+5di.
+1d4i3a
+dia5b
+di4cam
+d4ice
+3dict
+3did
+5di3en
+d1if
+di3ge
+di4lato
+d1in
+1dina
+3dine.
+5dini
+di5niz
+1dio
+dio5g
+di4pl
+dir2
+di1re
+dirt5i
+dis1
+5disi
+d4is3t
+d2iti
+1di1v
+d1j
+d5k2
+4d5la
+3dle.
+3dled
+3dles.
+4dless
+2d3lo
+4d5lu
+2dly
+d1m
+4d1n4
+1do
+3do.
+do5de
+5doe
+2d5of
+d4og
+do4la
+doli4
+do5lor
+dom5iz
+do3nat
+doni4
+doo3d
+dop4p
+d4or
+3dos
+4d5out
+do4v
+3dox
+d1p
+1dr
+drag5on
+4drai
+dre4
+drea5r
+5dren
+dri4b
+dril4
+dro4p
+4drow
+5drupli
+4dry
+2d1s2
+ds4p
+d4sw
+d4sy
+d2th
+1du
+d1u1a
+du2c
+d1uca
+duc5er
+4duct.
+4ducts
+du5el
+du4g
+d3ule
+dum4be
+du4n
+4dup
+du4pe
+d1v
+d1w
+d2y
+5dyn
+dy4se
+dys5p
+e1a4b
+e3act
+ead1
+ead5ie
+ea4ge
+ea5ger
+ea4l
+eal5er
+eal3ou
+eam3er
+e5and
+ear3a
+ear4c
+ear5es
+ear4ic
+ear4il
+ear5k
+ear2t
+eart3e
+ea5sp
+e3ass
+east3
+ea2t
+eat5en
+eath3i
+e5atif
+e4a3tu
+ea2v
+eav3en
+eav5i
+eav5o
+2e1b
+e4bel.
+e4bels
+e4ben
+e4bit
+e3br
+e4cad
+ecan5c
+ecca5
+e1ce
+ec5essa
+ec2i
+e4cib
+ec5ificat
+ec5ifie
+ec5ify
+ec3im
+eci4t
+e5cite
+e4clam
+e4clus
+e2col
+e4comm
+e4compe
+e4conc
+e2cor
+ec3ora
+eco5ro
+e1cr
+e4crem
+ec4tan
+ec4te
+e1cu
+e4cul
+ec3ula
+2e2da
+4ed3d
+e4d1er
+ede4s
+4edi
+e3dia
+ed3ib
+ed3ica
+ed3im
+ed1it
+edi5z
+4edo
+e4dol
+edon2
+e4dri
+e4dul
+ed5ulo
+ee2c
+eed3i
+ee2f
+eel3i
+ee4ly
+ee2m
+ee4na
+ee4p1
+ee2s4
+eest4
+ee4ty
+e5ex
+e1f
+e4f3ere
+1eff
+e4fic
+5efici
+efil4
+e3fine
+ef5i5nite
+3efit
+efor5es
+e4fuse.
+4egal
+eger4
+eg5ib
+eg4ic
+eg5ing
+e5git5
+eg5n
+e4go.
+e4gos
+eg1ul
+e5gur
+5egy
+e1h4
+eher4
+ei2
+e5ic
+ei5d
+eig2
+ei5gl
+e3imb
+e3inf
+e1ing
+e5inst
+eir4d
+eit3e
+ei3th
+e5ity
+e1j
+e4jud
+ej5udi
+eki4n
+ek4la
+e1la
+e4la.
+e4lac
+elan4d
+el5ativ
+e4law
+elaxa4
+e3lea
+el5ebra
+5elec
+e4led
+el3ega
+e5len
+e4l1er
+e1les
+el2f
+el2i
+e3libe
+e4l5ic.
+el3ica
+e3lier
+el5igib
+e5lim
+e4l3ing
+e3lio
+e2lis
+el5ish
+e3liv3
+4ella
+el4lab
+ello4
+e5loc
+el5og
+el3op.
+el2sh
+el4ta
+e5lud
+el5ug
+e4mac
+e4mag
+e5man
+em5ana
+em5b
+e1me
+e2mel
+e4met
+em3ica
+emi4e
+em5igra
+em1in2
+em5ine
+em3i3ni
+e4mis
+em5ish
+e5miss
+em3iz
+5emniz
+emo4g
+emoni5o
+em3pi
+e4mul
+em5ula
+emu3n
+e3my
+en5amo
+e4nant
+ench4er
+en3dic
+e5nea
+e5nee
+en3em
+en5ero
+en5esi
+en5est
+en3etr
+e3new
+en5ics
+e5nie
+e5nil
+e3nio
+en3ish
+en3it
+e5niu
+5eniz
+4enn
+4eno
+eno4g
+e4nos
+en3ov
+en4sw
+ent5age
+4enthes
+en3ua
+en5uf
+e3ny.
+4en3z
+e5of
+eo2g
+e4oi4
+e3ol
+eop3ar
+e1or
+eo3re
+eo5rol
+eos4
+e4ot
+eo4to
+e5out
+e5ow
+e2pa
+e3pai
+ep5anc
+e5pel
+e3pent
+ep5etitio
+ephe4
+e4pli
+e1po
+e4prec
+ep5reca
+e4pred
+ep3reh
+e3pro
+e4prob
+ep4sh
+ep5ti5b
+e4put
+ep5uta
+e1q
+equi3l
+e4q3ui3s
+er1a
+era4b
+4erand
+er3ar
+4erati.
+2erb
+er4bl
+er3ch
+er4che
+2ere.
+e3real
+ere5co
+ere3in
+er5el.
+er3emo
+er5ena
+er5ence
+4erene
+er3ent
+ere4q
+er5ess
+er3est
+eret4
+er1h
+er1i
+e1ria4
+5erick
+e3rien
+eri4er
+er3ine
+e1rio
+4erit
+er4iu
+eri4v
+e4riva
+er3m4
+er4nis
+4ernit
+5erniz
+er3no
+2ero
+er5ob
+e5roc
+ero4r
+er1ou
+er1s
+er3set
+ert3er
+4ertl
+er3tw
+4eru
+eru4t
+5erwau
+e1s4a
+e4sage.
+e4sages
+es2c
+e2sca
+es5can
+e3scr
+es5cu
+e1s2e
+e2sec
+es5ecr
+es5enc
+e4sert.
+e4serts
+e4serva
+4esh
+e3sha
+esh5en
+e1si
+e2sic
+e2sid
+es5iden
+es5igna
+e2s5im
+es4i4n
+esis4te
+esi4u
+e5skin
+es4mi
+e2sol
+es3olu
+e2son
+es5ona
+e1sp
+es3per
+es5pira
+es4pre
+2ess
+es4si4b
+estan4
+es3tig
+es5tim
+4es2to
+e3ston
+2estr
+e5stro
+estruc5
+e2sur
+es5urr
+es4w
+eta4b
+eten4d
+e3teo
+ethod3
+et1ic
+e5tide
+etin4
+eti4no
+e5tir
+e5titio
+et5itiv
+4etn
+et5ona
+e3tra
+e3tre
+et3ric
+et5rif
+et3rog
+et5ros
+et3ua
+et5ym
+et5z
+4eu
+e5un
+e3up
+eu3ro
+eus4
+eute4
+euti5l
+eu5tr
+eva2p5
+e2vas
+ev5ast
+e5vea
+ev3ell
+evel3o
+e5veng
+even4i
+ev1er
+e5verb
+e1vi
+ev3id
+evi4l
+e4vin
+evi4v
+e5voc
+e5vu
+e1wa
+e4wag
+e5wee
+e3wh
+ewil5
+ew3ing
+e3wit
+1exp
+5eyc
+5eye.
+eys4
+1fa
+fa3bl
+fab3r
+fa4ce
+4fag
+fain4
+fall5e
+4fa4ma
+fam5is
+5far
+far5th
+fa3ta
+fa3the
+4fato
+fault5
+4f5b
+4fd
+4fe.
+feas4
+feath3
+fe4b
+4feca
+5fect
+2fed
+fe3li
+fe4mo
+fen2d
+fend5e
+fer1
+5ferr
+fev4
+4f1f
+f4fes
+f4fie
+f5fin.
+f2f5is
+f4fly
+f2fy
+4fh
+1fi
+fi3a
+2f3ic.
+4f3ical
+f3ican
+4ficate
+f3icen
+fi3cer
+fic4i
+5ficia
+5ficie
+4fics
+fi3cu
+fi5del
+fight5
+fil5i
+fill5in
+4fily
+2fin
+5fina
+fin2d5
+fi2ne
+f1in3g
+fin4n
+fis4ti
+f4l2
+f5less
+flin4
+flo3re
+f2ly5
+4fm
+4fn
+1fo
+5fon
+fon4de
+fon4t
+fo2r
+fo5rat
+for5ay
+fore5t
+for4i
+fort5a
+fos5
+4f5p
+fra4t
+f5rea
+fres5c
+fri2
+fril4
+frol5
+2f3s
+2ft
+f4to
+f2ty
+3fu
+fu5el
+4fug
+fu4min
+fu5ne
+fu3ri
+fusi4
+fus4s
+4futa
+1fy
+1ga
+gaf4
+5gal.
+3gali
+ga3lo
+2gam
+ga5met
+g5amo
+gan5is
+ga3niz
+gani5za
+4gano
+gar5n4
+gass4
+gath3
+4gativ
+4gaz
+g3b
+gd4
+2ge.
+2ged
+geez4
+gel4in
+ge5lis
+ge5liz
+4gely
+1gen
+ge4nat
+ge5niz
+4geno
+4geny
+1geo
+ge3om
+g4ery
+5gesi
+geth5
+4geto
+ge4ty
+ge4v
+4g1g2
+g2ge
+g3ger
+gglu5
+ggo4
+gh3in
+gh5out
+gh4to
+5gi.
+1gi4a
+gia5r
+g1ic
+5gicia
+g4ico
+gien5
+5gies.
+gil4
+g3imen
+3g4in.
+gin5ge
+5g4ins
+5gio
+3gir
+gir4l
+g3isl
+gi4u
+5giv
+3giz
+gl2
+gla4
+glad5i
+5glas
+1gle
+gli4b
+g3lig
+3glo
+glo3r
+g1m
+g4my
+gn4a
+g4na.
+gnet4t
+g1ni
+g2nin
+g4nio
+g1no
+g4non
+1go
+3go.
+gob5
+5goe
+3g4o4g
+go3is
+gon2
+4g3o3na
+gondo5
+go3ni
+5goo
+go5riz
+gor5ou
+5gos.
+gov1
+g3p
+1gr
+4grada
+g4rai
+gran2
+5graph.
+g5rapher
+5graphic
+4graphy
+4gray
+gre4n
+4gress.
+4grit
+g4ro
+gruf4
+gs2
+g5ste
+gth3
+gu4a
+3guard
+2gue
+5gui5t
+3gun
+3gus
+4gu4t
+g3w
+1gy
+2g5y3n
+gy5ra
+h3ab4l
+hach4
+hae4m
+hae4t
+h5agu
+ha3la
+hala3m
+ha4m
+han4ci
+han4cy
+5hand.
+han4g
+hang5er
+hang5o
+h5a5niz
+han4k
+han4te
+hap3l
+hap5t
+ha3ran
+ha5ras
+har2d
+hard3e
+har4le
+harp5en
+har5ter
+has5s
+haun4
+5haz
+haz3a
+h1b
+1head
+3hear
+he4can
+h5ecat
+h4ed
+he5do5
+he3l4i
+hel4lis
+hel4ly
+h5elo
+hem4p
+he2n
+hena4
+hen5at
+heo5r
+hep5
+h4era
+hera3p
+her4ba
+here5a
+h3ern
+h5erou
+h3ery
+h1es
+he2s5p
+he4t
+het4ed
+heu4
+h1f
+h1h
+hi5an
+hi4co
+high5
+h4il2
+himer4
+h4ina
+hion4e
+hi4p
+hir4l
+hi3ro
+hir4p
+hir4r
+his3el
+his4s
+hith5er
+hi2v
+4hk
+4h1l4
+hlan4
+h2lo
+hlo3ri
+4h1m
+hmet4
+2h1n
+h5odiz
+h5ods
+ho4g
+hoge4
+hol5ar
+3hol4e
+ho4ma
+home3
+hon4a
+ho5ny
+3hood
+hoon4
+hor5at
+ho5ris
+hort3e
+ho5ru
+hos4e
+ho5sen
+hos1p
+1hous
+house3
+hov5el
+4h5p
+4hr4
+hree5
+hro5niz
+hro3po
+4h1s2
+h4sh
+h4tar
+ht1en
+ht5es
+h4ty
+hu4g
+hu4min
+hun5ke
+hun4t
+hus3t4
+hu4t
+h1w
+h4wart
+hy3pe
+hy3ph
+hy2s
+2i1a
+i2al
+iam4
+iam5ete
+i2an
+4ianc
+ian3i
+4ian4t
+ia5pe
+iass4
+i4ativ
+ia4tric
+i4atu
+ibe4
+ib3era
+ib5ert
+ib5ia
+ib3in
+ib5it.
+ib5ite
+i1bl
+ib3li
+i5bo
+i1br
+i2b5ri
+i5bun
+4icam
+5icap
+4icar
+i4car.
+i4cara
+icas5
+i4cay
+iccu4
+4iceo
+4ich
+2ici
+i5cid
+ic5ina
+i2cip
+ic3ipa
+i4cly
+i2c5oc
+4i1cr
+5icra
+i4cry
+ic4te
+ictu2
+ic4t3ua
+ic3ula
+ic4um
+ic5uo
+i3cur
+2id
+i4dai
+id5anc
+id5d
+ide3al
+ide4s
+i2di
+id5ian
+idi4ar
+i5die
+id3io
+idi5ou
+id1it
+id5iu
+i3dle
+i4dom
+id3ow
+i4dr
+i2du
+id5uo
+2ie4
+ied4e
+5ie5ga
+ield3
+ien5a4
+ien4e
+i5enn
+i3enti
+i1er.
+i3esc
+i1est
+i3et
+4if.
+if5ero
+iff5en
+if4fr
+4ific.
+i3fie
+i3fl
+4ift
+2ig
+iga5b
+ig3era
+ight3i
+4igi
+i3gib
+ig3il
+ig3in
+ig3it
+i4g4l
+i2go
+ig3or
+ig5ot
+i5gre
+igu5i
+ig1ur
+i3h
+4i5i4
+i3j
+4ik
+i1la
+il3a4b
+i4lade
+i2l5am
+ila5ra
+i3leg
+il1er
+ilev4
+il5f
+il1i
+il3ia
+il2ib
+il3io
+il4ist
+2ilit
+il2iz
+ill5ab
+4iln
+il3oq
+il4ty
+il5ur
+il3v
+i4mag
+im3age
+ima5ry
+imenta5r
+4imet
+im1i
+im5ida
+imi5le
+i5mini
+4imit
+im4ni
+i3mon
+i2mu
+im3ula
+2in.
+i4n3au
+4inav
+incel4
+in3cer
+4ind
+in5dling
+2ine
+i3nee
+iner4ar
+i5ness
+4inga
+4inge
+in5gen
+4ingi
+in5gling
+4ingo
+4ingu
+2ini
+i5ni.
+i4nia
+in3io
+in1is
+i5nite.
+5initio
+in3ity
+4ink
+4inl
+2inn
+2i1no
+i4no4c
+ino4s
+i4not
+2ins
+in3se
+insur5a
+2int.
+2in4th
+in1u
+i5nus
+4iny
+2io
+4io.
+ioge4
+io2gr
+i1ol
+io4m
+ion3at
+ion4ery
+ion3i
+io5ph
+ior3i
+i4os
+io5th
+i5oti
+io4to
+i4our
+2ip
+ipe4
+iphras4
+ip3i
+ip4ic
+ip4re4
+ip3ul
+i3qua
+iq5uef
+iq3uid
+iq3ui3t
+4ir
+i1ra
+ira4b
+i4rac
+ird5e
+ire4de
+i4ref
+i4rel4
+i4res
+ir5gi
+ir1i
+iri5de
+ir4is
+iri3tu
+5i5r2iz
+ir4min
+iro4g
+5iron.
+ir5ul
+2is.
+is5ag
+is3ar
+isas5
+2is1c
+is3ch
+4ise
+is3er
+3isf
+is5han
+is3hon
+ish5op
+is3ib
+isi4d
+i5sis
+is5itiv
+4is4k
+islan4
+4isms
+i2so
+iso5mer
+is1p
+is2pi
+is4py
+4is1s
+is4sal
+issen4
+is4ses
+is4ta.
+is1te
+is1ti
+ist4ly
+4istral
+i2su
+is5us
+4ita.
+ita4bi
+i4tag
+4ita5m
+i3tan
+i3tat
+2ite
+it3era
+i5teri
+it4es
+2ith
+i1ti
+4itia
+4i2tic
+it3ica
+5i5tick
+it3ig
+it5ill
+i2tim
+2itio
+4itis
+i4tism
+i2t5o5m
+4iton
+i4tram
+it5ry
+4itt
+it3uat
+i5tud
+it3ul
+4itz.
+i1u
+2iv
+iv3ell
+iv3en.
+i4v3er.
+i4vers.
+iv5il.
+iv5io
+iv1it
+i5vore
+iv3o3ro
+i4v3ot
+4i5w
+ix4o
+4iy
+4izar
+izi4
+5izont
+5ja
+jac4q
+ja4p
+1je
+jer5s
+4jestie
+4jesty
+jew3
+jo4p
+5judg
+3ka.
+k3ab
+k5ag
+kais4
+kal4
+k1b
+k2ed
+1kee
+ke4g
+ke5li
+k3en4d
+k1er
+kes4
+k3est.
+ke4ty
+k3f
+kh4
+k1i
+5ki.
+5k2ic
+k4ill
+kilo5
+k4im
+k4in.
+kin4de
+k5iness
+kin4g
+ki4p
+kis4
+k5ish
+kk4
+k1l
+4kley
+4kly
+k1m
+k5nes
+1k2no
+ko5r
+kosh4
+k3ou
+kro5n
+4k1s2
+k4sc
+ks4l
+k4sy
+k5t
+k1w
+lab3ic
+l4abo
+laci4
+l4ade
+la3dy
+lag4n
+lam3o
+3land
+lan4dl
+lan5et
+lan4te
+lar4g
+lar3i
+las4e
+la5tan
+4lateli
+4lativ
+4lav
+la4v4a
+2l1b
+lbin4
+4l1c2
+lce4
+l3ci
+2ld
+l2de
+ld4ere
+ld4eri
+ldi4
+ld5is
+l3dr
+l4dri
+le2a
+le4bi
+left5
+5leg.
+5legg
+le4mat
+lem5atic
+4len.
+3lenc
+5lene.
+1lent
+le3ph
+le4pr
+lera5b
+ler4e
+3lerg
+3l4eri
+l4ero
+les2
+le5sco
+5lesq
+3less
+5less.
+l3eva
+lev4er.
+lev4era
+lev4ers
+3ley
+4leye
+2lf
+l5fr
+4l1g4
+l5ga
+lgar3
+l4ges
+lgo3
+2l3h
+li4ag
+li2am
+liar5iz
+li4as
+li4ato
+li5bi
+5licio
+li4cor
+4lics
+4lict.
+l4icu
+l3icy
+l3ida
+lid5er
+3lidi
+lif3er
+l4iff
+li4fl
+5ligate
+3ligh
+li4gra
+3lik
+4l4i4l
+lim4bl
+lim3i
+li4mo
+l4im4p
+l4ina
+1l4ine
+lin3ea
+lin3i
+link5er
+li5og
+4l4iq
+lis4p
+l1it
+l2it.
+5litica
+l5i5tics
+liv3er
+l1iz
+4lj
+lka3
+l3kal
+lka4t
+l1l
+l4law
+l2le
+l5lea
+l3lec
+l3leg
+l3lel
+l3le4n
+l3le4t
+ll2i
+l2lin4
+l5lina
+ll4o
+lloqui5
+ll5out
+l5low
+2lm
+l5met
+lm3ing
+l4mod
+lmon4
+2l1n2
+3lo.
+lob5al
+lo4ci
+4lof
+3logic
+l5ogo
+3logu
+lom3er
+5long
+lon4i
+l3o3niz
+lood5
+5lope.
+lop3i
+l3opm
+lora4
+lo4rato
+lo5rie
+lor5ou
+5los.
+los5et
+5losophiz
+5losophy
+los4t
+lo4ta
+loun5d
+2lout
+4lov
+2lp
+lpa5b
+l3pha
+l5phi
+lp5ing
+l3pit
+l4pl
+l5pr
+4l1r
+2l1s2
+l4sc
+l2se
+l4sie
+4lt
+lt5ag
+ltane5
+l1te
+lten4
+ltera4
+lth3i
+l5ties.
+ltis4
+l1tr
+ltu2
+ltur3a
+lu5a
+lu3br
+luch4
+lu3ci
+lu3en
+luf4
+lu5id
+lu4ma
+5lumi
+l5umn.
+5lumnia
+lu3o
+luo3r
+4lup
+luss4
+lus3te
+1lut
+l5ven
+l5vet4
+2l1w
+1ly
+4lya
+4lyb
+ly5me
+ly3no
+2lys4
+l5yse
+1ma
+2mab
+ma2ca
+ma5chine
+ma4cl
+mag5in
+5magn
+2mah
+maid5
+4mald
+ma3lig
+ma5lin
+mal4li
+mal4ty
+5mania
+man5is
+man3iz
+4map
+ma5rine.
+ma5riz
+mar4ly
+mar3v
+ma5sce
+mas4e
+mas1t
+5mate
+math3
+ma3tis
+4matiza
+4m1b
+mba4t5
+m5bil
+m4b3ing
+mbi4v
+4m5c
+4me.
+2med
+4med.
+5media
+me3die
+m5e5dy
+me2g
+mel5on
+mel4t
+me2m
+mem1o3
+1men
+men4a
+men5ac
+men4de
+4mene
+men4i
+mens4
+mensu5
+3ment
+men4te
+me5on
+m5ersa
+2mes
+3mesti
+me4ta
+met3al
+me1te
+me5thi
+m4etr
+5metric
+me5trie
+me3try
+me4v
+4m1f
+2mh
+5mi.
+mi3a
+mid4a
+mid4g
+mig4
+3milia
+m5i5lie
+m4ill
+min4a
+3mind
+m5inee
+m4ingl
+min5gli
+m5ingly
+min4t
+m4inu
+miot4
+m2is
+mis4er.
+mis5l
+mis4ti
+m5istry
+4mith
+m2iz
+4mk
+4m1l
+m1m
+mma5ry
+4m1n
+mn4a
+m4nin
+mn4o
+1mo
+4mocr
+5mocratiz
+mo2d1
+mo4go
+mois2
+moi5se
+4mok
+mo5lest
+mo3me
+mon5et
+mon5ge
+moni3a
+mon4ism
+mon4ist
+mo3niz
+monol4
+mo3ny.
+mo2r
+4mora.
+mos2
+mo5sey
+mo3sp
+moth3
+m5ouf
+3mous
+mo2v
+4m1p
+mpara5
+mpa5rab
+mpar5i
+m3pet
+mphas4
+m2pi
+mpi4a
+mp5ies
+m4p1in
+m5pir
+mp5is
+mpo3ri
+mpos5ite
+m4pous
+mpov5
+mp4tr
+m2py
+4m3r
+4m1s2
+m4sh
+m5si
+4mt
+1mu
+mula5r4
+5mult
+multi3
+3mum
+mun2
+4mup
+mu4u
+4mw
+1na
+2n1a2b
+n4abu
+4nac.
+na4ca
+n5act
+nag5er.
+nak4
+na4li
+na5lia
+4nalt
+na5mit
+n2an
+nanci4
+nan4it
+nank4
+nar3c
+4nare
+nar3i
+nar4l
+n5arm
+n4as
+nas4c
+nas5ti
+n2at
+na3tal
+nato5miz
+n2au
+nau3se
+3naut
+nav4e
+4n1b4
+ncar5
+n4ces.
+n3cha
+n5cheo
+n5chil
+n3chis
+nc1in
+nc4it
+ncour5a
+n1cr
+n1cu
+n4dai
+n5dan
+n1de
+nd5est.
+ndi4b
+n5d2if
+n1dit
+n3diz
+n5duc
+ndu4r
+nd2we
+2ne.
+n3ear
+ne2b
+neb3u
+ne2c
+5neck
+2ned
+ne4gat
+neg5ativ
+5nege
+ne4la
+nel5iz
+ne5mi
+ne4mo
+1nen
+4nene
+3neo
+ne4po
+ne2q
+n1er
+nera5b
+n4erar
+n2ere
+n4er5i
+ner4r
+1nes
+2nes.
+4nesp
+2nest
+4nesw
+3netic
+ne4v
+n5eve
+ne4w
+n3f
+n4gab
+n3gel
+nge4n4e
+n5gere
+n3geri
+ng5ha
+n3gib
+ng1in
+n5git
+n4gla
+ngov4
+ng5sh
+n1gu
+n4gum
+n2gy
+4n1h4
+nha4
+nhab3
+nhe4
+3n4ia
+ni3an
+ni4ap
+ni3ba
+ni4bl
+ni4d
+ni5di
+ni4er
+ni2fi
+ni5ficat
+n5igr
+nik4
+n1im
+ni3miz
+n1in
+5nine.
+nin4g
+ni4o
+5nis.
+nis4ta
+n2it
+n4ith
+3nitio
+n3itor
+ni3tr
+n1j
+4nk2
+n5kero
+n3ket
+nk3in
+n1kl
+4n1l
+n5m
+nme4
+nmet4
+4n1n2
+nne4
+nni3al
+nni4v
+nob4l
+no3ble
+n5ocl
+4n3o2d
+3noe
+4nog
+noge4
+nois5i
+no5l4i
+5nologis
+3nomic
+n5o5miz
+no4mo
+no3my
+no4n
+non4ag
+non5i
+n5oniz
+4nop
+5nop5o5li
+nor5ab
+no4rary
+4nosc
+nos4e
+nos5t
+no5ta
+1nou
+3noun
+nov3el3
+nowl3
+n1p4
+npi4
+npre4c
+n1q
+n1r
+nru4
+2n1s2
+ns5ab
+nsati4
+ns4c
+n2se
+n4s3es
+nsid1
+nsig4
+n2sl
+ns3m
+n4soc
+ns4pe
+n5spi
+nsta5bl
+n1t
+nta4b
+nter3s
+nt2i
+n5tib
+nti4er
+nti2f
+n3tine
+n4t3ing
+nti4p
+ntrol5li
+nt4s
+ntu3me
+nu1a
+nu4d
+nu5en
+nuf4fe
+n3uin
+3nu3it
+n4um
+nu1me
+n5umi
+3nu4n
+n3uo
+nu3tr
+n1v2
+n1w4
+nym4
+nyp4
+4nz
+n3za
+4oa
+oad3
+o5a5les
+oard3
+oas4e
+oast5e
+oat5i
+ob3a3b
+o5bar
+obe4l
+o1bi
+o2bin
+ob5ing
+o3br
+ob3ul
+o1ce
+och4
+o3chet
+ocif3
+o4cil
+o4clam
+o4cod
+oc3rac
+oc5ratiz
+ocre3
+5ocrit
+octor5a
+oc3ula
+o5cure
+od5ded
+od3ic
+odi3o
+o2do4
+odor3
+od5uct.
+od5ucts
+o4el
+o5eng
+o3er
+oe4ta
+o3ev
+o2fi
+of5ite
+ofit4t
+o2g5a5r
+og5ativ
+o4gato
+o1ge
+o5gene
+o5geo
+o4ger
+o3gie
+1o1gis
+og3it
+o4gl
+o5g2ly
+3ogniz
+o4gro
+ogu5i
+1ogy
+2ogyn
+o1h2
+ohab5
+oi2
+oic3es
+oi3der
+oiff4
+oig4
+oi5let
+o3ing
+oint5er
+o5ism
+oi5son
+oist5en
+oi3ter
+o5j
+2ok
+o3ken
+ok5ie
+o1la
+o4lan
+olass4
+ol2d
+old1e
+ol3er
+o3lesc
+o3let
+ol4fi
+ol2i
+o3lia
+o3lice
+ol5id.
+o3li4f
+o5lil
+ol3ing
+o5lio
+o5lis.
+ol3ish
+o5lite
+o5litio
+o5liv
+olli4e
+ol5ogiz
+olo4r
+ol5pl
+ol2t
+ol3ub
+ol3ume
+ol3un
+o5lus
+ol2v
+o2ly
+om5ah
+oma5l
+om5atiz
+om2be
+om4bl
+o2me
+om3ena
+om5erse
+o4met
+om5etry
+o3mia
+om3ic.
+om3ica
+o5mid
+om1in
+o5mini
+5ommend
+omo4ge
+o4mon
+om3pi
+ompro5
+o2n
+on1a
+on4ac
+o3nan
+on1c
+3oncil
+2ond
+on5do
+o3nen
+on5est
+on4gu
+on1ic
+o3nio
+on1is
+o5niu
+on3key
+on4odi
+on3omy
+on3s
+onspi4
+onspir5a
+onsu4
+onten4
+on3t4i
+ontif5
+on5um
+onva5
+oo2
+ood5e
+ood5i
+oo4k
+oop3i
+o3ord
+oost5
+o2pa
+ope5d
+op1er
+3opera
+4operag
+2oph
+o5phan
+o5pher
+op3ing
+o3pit
+o5pon
+o4posi
+o1pr
+op1u
+opy5
+o1q
+o1ra
+o5ra.
+o4r3ag
+or5aliz
+or5ange
+ore5a
+o5real
+or3ei
+ore5sh
+or5est.
+orew4
+or4gu
+4o5ria
+or3ica
+o5ril
+or1in
+o1rio
+or3ity
+o3riu
+or2mi
+orn2e
+o5rof
+or3oug
+or5pe
+3orrh
+or4se
+ors5en
+orst4
+or3thi
+or3thy
+or4ty
+o5rum
+o1ry
+os3al
+os2c
+os4ce
+o3scop
+4oscopi
+o5scr
+os4i4e
+os5itiv
+os3ito
+os3ity
+osi4u
+os4l
+o2so
+os4pa
+os4po
+os2ta
+o5stati
+os5til
+os5tit
+o4tan
+otele4g
+ot3er.
+ot5ers
+o4tes
+4oth
+oth5esi
+oth3i4
+ot3ic.
+ot5ica
+o3tice
+o3tif
+o3tis
+oto5s
+ou2
+ou3bl
+ouch5i
+ou5et
+ou4l
+ounc5er
+oun2d
+ou5v
+ov4en
+over4ne
+over3s
+ov4ert
+o3vis
+oviti4
+o5v4ol
+ow3der
+ow3el
+ow5est
+ow1i
+own5i
+o4wo
+oy1a
+1pa
+pa4ca
+pa4ce
+pac4t
+p4ad
+5pagan
+p3agat
+p4ai
+pain4
+p4al
+pan4a
+pan3el
+pan4ty
+pa3ny
+pa1p
+pa4pu
+para5bl
+par5age
+par5di
+3pare
+par5el
+p4a4ri
+par4is
+pa2te
+pa5ter
+5pathic
+pa5thy
+pa4tric
+pav4
+3pay
+4p1b
+pd4
+4pe.
+3pe4a
+pear4l
+pe2c
+2p2ed
+3pede
+3pedi
+pedia4
+ped4ic
+p4ee
+pee4d
+pek4
+pe4la
+peli4e
+pe4nan
+p4enc
+pen4th
+pe5on
+p4era.
+pera5bl
+p4erag
+p4eri
+peri5st
+per4mal
+perme5
+p4ern
+per3o
+per3ti
+pe5ru
+per1v
+pe2t
+pe5ten
+pe5tiz
+4pf
+4pg
+4ph.
+phar5i
+phe3no
+ph4er
+ph4es.
+ph1ic
+5phie
+ph5ing
+5phisti
+3phiz
+ph2l
+3phob
+3phone
+5phoni
+pho4r
+4phs
+ph3t
+5phu
+1phy
+pi3a
+pian4
+pi4cie
+pi4cy
+p4id
+p5ida
+pi3de
+5pidi
+3piec
+pi3en
+pi4grap
+pi3lo
+pi2n
+p4in.
+pind4
+p4ino
+3pi1o
+pion4
+p3ith
+pi5tha
+pi2tu
+2p3k2
+1p2l2
+3plan
+plas5t
+pli3a
+pli5er
+4plig
+pli4n
+ploi4
+plu4m
+plum4b
+4p1m
+2p3n
+po4c
+5pod.
+po5em
+po3et5
+5po4g
+poin2
+5point
+poly5t
+po4ni
+po4p
+1p4or
+po4ry
+1pos
+pos1s
+p4ot
+po4ta
+5poun
+4p1p
+ppa5ra
+p2pe
+p4ped
+p5pel
+p3pen
+p3per
+p3pet
+ppo5site
+pr2
+pray4e
+5preci
+pre5co
+pre3em
+pref5ac
+pre4la
+pre3r
+p3rese
+3press
+pre5ten
+pre3v
+5pri4e
+prin4t3
+pri4s
+pris3o
+p3roca
+prof5it
+pro3l
+pros3e
+pro1t
+2p1s2
+p2se
+ps4h
+p4sib
+2p1t
+pt5a4b
+p2te
+p2th
+pti3m
+ptu4r
+p4tw
+pub3
+pue4
+puf4
+pul3c
+pu4m
+pu2n
+pur4r
+5pus
+pu2t
+5pute
+put3er
+pu3tr
+put4ted
+put4tin
+p3w
+qu2
+qua5v
+2que.
+3quer
+3quet
+2rab
+ra3bi
+rach4e
+r5acl
+raf5fi
+raf4t
+r2ai
+ra4lo
+ram3et
+r2ami
+rane5o
+ran4ge
+r4ani
+ra5no
+rap3er
+3raphy
+rar5c
+rare4
+rar5ef
+4raril
+r2as
+ration4
+rau4t
+ra5vai
+rav3el
+ra5zie
+r1b
+r4bab
+r4bag
+rbi2
+rbi4f
+r2bin
+r5bine
+rb5ing.
+rb4o
+r1c
+r2ce
+rcen4
+r3cha
+rch4er
+r4ci4b
+rc4it
+rcum3
+r4dal
+rd2i
+rdi4a
+rdi4er
+rdin4
+rd3ing
+2re.
+re1al
+re3an
+re5arr
+5reav
+re4aw
+r5ebrat
+rec5oll
+rec5ompe
+re4cre
+2r2ed
+re1de
+re3dis
+red5it
+re4fac
+re2fe
+re5fer.
+re3fi
+re4fy
+reg3is
+re5it
+re1li
+re5lu
+r4en4ta
+ren4te
+re1o
+re5pin
+re4posi
+re1pu
+r1er4
+r4eri
+rero4
+re5ru
+r4es.
+re4spi
+ress5ib
+res2t
+re5stal
+re3str
+re4ter
+re4ti4z
+re3tri
+reu2
+re5uti
+rev2
+re4val
+rev3el
+r5ev5er.
+re5vers
+re5vert
+re5vil
+rev5olu
+re4wh
+r1f
+rfu4
+r4fy
+rg2
+rg3er
+r3get
+r3gic
+rgi4n
+rg3ing
+r5gis
+r5git
+r1gl
+rgo4n
+r3gu
+rh4
+4rh.
+4rhal
+ri3a
+ria4b
+ri4ag
+r4ib
+rib3a
+ric5as
+r4ice
+4rici
+5ricid
+ri4cie
+r4ico
+rid5er
+ri3enc
+ri3ent
+ri1er
+ri5et
+rig5an
+5rigi
+ril3iz
+5riman
+rim5i
+3rimo
+rim4pe
+r2ina
+5rina.
+rin4d
+rin4e
+rin4g
+ri1o
+5riph
+riph5e
+ri2pl
+rip5lic
+r4iq
+r2is
+r4is.
+ris4c
+r3ish
+ris4p
+ri3ta3b
+r5ited.
+rit5er.
+rit5ers
+rit3ic
+ri2tu
+rit5ur
+riv5el
+riv3et
+riv3i
+r3j
+r3ket
+rk4le
+rk4lin
+r1l
+rle4
+r2led
+r4lig
+r4lis
+rl5ish
+r3lo4
+r1m
+rma5c
+r2me
+r3men
+rm5ers
+rm3ing
+r4ming.
+r4mio
+r3mit
+r4my
+r4nar
+r3nel
+r4ner
+r5net
+r3ney
+r5nic
+r1nis4
+r3nit
+r3niv
+rno4
+r4nou
+r3nu
+rob3l
+r2oc
+ro3cr
+ro4e
+ro1fe
+ro5fil
+rok2
+ro5ker
+5role.
+rom5ete
+rom4i
+rom4p
+ron4al
+ron4e
+ro5n4is
+ron4ta
+1room
+5root
+ro3pel
+rop3ic
+ror3i
+ro5ro
+ros5per
+ros4s
+ro4the
+ro4ty
+ro4va
+rov5el
+rox5
+r1p
+r4pea
+r5pent
+rp5er.
+r3pet
+rp4h4
+rp3ing
+r3po
+r1r4
+rre4c
+rre4f
+r4reo
+rre4st
+rri4o
+rri4v
+rron4
+rros4
+rrys4
+4rs2
+r1sa
+rsa5ti
+rs4c
+r2se
+r3sec
+rse4cr
+rs5er.
+rs3es
+rse5v2
+r1sh
+r5sha
+r1si
+r4si4b
+rson3
+r1sp
+r5sw
+rtach4
+r4tag
+r3teb
+rten4d
+rte5o
+r1ti
+rt5ib
+rti4d
+r4tier
+r3tig
+rtil3i
+rtil4l
+r4tily
+r4tist
+r4tiv
+r3tri
+rtroph4
+rt4sh
+ru3a
+ru3e4l
+ru3en
+ru4gl
+ru3in
+rum3pl
+ru2n
+runk5
+run4ty
+r5usc
+ruti5n
+rv4e
+rvel4i
+r3ven
+rv5er.
+r5vest
+r3vey
+r3vic
+rvi4v
+r3vo
+r1w
+ry4c
+5rynge
+ry3t
+sa2
+2s1ab
+5sack
+sac3ri
+s3act
+5sai
+salar4
+sal4m
+sa5lo
+sal4t
+3sanc
+san4de
+s1ap
+sa5ta
+5sa3tio
+sat3u
+sau4
+sa5vor
+5saw
+4s5b
+scan4t5
+sca4p
+scav5
+s4ced
+4scei
+s4ces
+sch2
+s4cho
+3s4cie
+5scin4d
+scle5
+s4cli
+scof4
+4scopy
+scour5a
+s1cu
+4s5d
+4se.
+se4a
+seas4
+sea5w
+se2c3o
+3sect
+4s4ed
+se4d4e
+s5edl
+se2g
+seg3r
+5sei
+se1le
+5self
+5selv
+4seme
+se4mol
+sen5at
+4senc
+sen4d
+s5ened
+sen5g
+s5enin
+4sentd
+4sentl
+sep3a3
+4s1er.
+s4erl
+ser4o
+4servo
+s1e4s
+se5sh
+ses5t
+5se5um
+5sev
+sev3en
+sew4i
+5sex
+4s3f
+2s3g
+s2h
+2sh.
+sh1er
+5shev
+sh1in
+sh3io
+3ship
+shiv5
+sho4
+sh5old
+shon3
+shor4
+short5
+4shw
+si1b
+s5icc
+3side.
+5sides
+5sidi
+si5diz
+4signa
+sil4e
+4sily
+2s1in
+s2ina
+5sine.
+s3ing
+1sio
+5sion
+sion5a
+si2r
+sir5a
+1sis
+3sitio
+5siu
+1siv
+5siz
+sk2
+4ske
+s3ket
+sk5ine
+sk5ing
+s1l2
+s3lat
+s2le
+slith5
+2s1m
+s3ma
+small3
+sman3
+smel4
+s5men
+5smith
+smol5d4
+s1n4
+1so
+so4ce
+soft3
+so4lab
+sol3d2
+so3lic
+5solv
+3som
+3s4on.
+sona4
+son4g
+s4op
+5sophic
+s5ophiz
+s5ophy
+sor5c
+sor5d
+4sov
+so5vi
+2spa
+5spai
+spa4n
+spen4d
+2s5peo
+2sper
+s2phe
+3spher
+spho5
+spil4
+sp5ing
+4spio
+s4ply
+s4pon
+spor4
+4spot
+squal4l
+s1r
+2ss
+s1sa
+ssas3
+s2s5c
+s3sel
+s5seng
+s4ses.
+s5set
+s1si
+s4sie
+ssi4er
+ss5ily
+s4sl
+ss4li
+s4sn
+sspend4
+ss2t
+ssur5a
+ss5w
+2st.
+s2tag
+s2tal
+stam4i
+5stand
+s4ta4p
+5stat.
+s4ted
+stern5i
+s5tero
+ste2w
+stew5a
+s3the
+st2i
+s4ti.
+s5tia
+s1tic
+5stick
+s4tie
+s3tif
+st3ing
+5stir
+s1tle
+5stock
+stom3a
+5stone
+s4top
+3store
+st4r
+s4trad
+5stratu
+s4tray
+s4trid
+4stry
+4st3w
+s2ty
+1su
+su1al
+su4b3
+su2g3
+su5is
+suit3
+s4ul
+su2m
+sum3i
+su2n
+su2r
+4sv
+sw2
+4swo
+s4y
+4syc
+3syl
+syn5o
+sy5rin
+1ta
+3ta.
+2tab
+ta5bles
+5taboliz
+4taci
+ta5do
+4taf4
+tai5lo
+ta2l
+ta5la
+tal5en
+tal3i
+4talk
+tal4lis
+ta5log
+ta5mo
+tan4de
+tanta3
+ta5per
+ta5pl
+tar4a
+4tarc
+4tare
+ta3riz
+tas4e
+ta5sy
+4tatic
+ta4tur
+taun4
+tav4
+2taw
+tax4is
+2t1b
+4tc
+t4ch
+tch5et
+4t1d
+4te.
+tead4i
+4teat
+tece4
+5tect
+2t1ed
+te5di
+1tee
+teg4
+te5ger
+te5gi
+3tel.
+teli4
+5tels
+te2ma2
+tem3at
+3tenan
+3tenc
+3tend
+4tenes
+1tent
+ten4tag
+1teo
+te4p
+te5pe
+ter3c
+5ter3d
+1teri
+ter5ies
+ter3is
+teri5za
+5ternit
+ter5v
+4tes.
+4tess
+t3ess.
+teth5e
+3teu
+3tex
+4tey
+2t1f
+4t1g
+2th.
+than4
+th2e
+4thea
+th3eas
+the5at
+the3is
+3thet
+th5ic.
+th5ica
+4thil
+5think
+4thl
+th5ode
+5thodic
+4thoo
+thor5it
+tho5riz
+2ths
+1tia
+ti4ab
+ti4ato
+2ti2b
+4tick
+t4ico
+t4ic1u
+5tidi
+3tien
+tif2
+ti5fy
+2tig
+5tigu
+till5in
+1tim
+4timp
+tim5ul
+2t1in
+t2ina
+3tine.
+3tini
+1tio
+ti5oc
+tion5ee
+5tiq
+ti3sa
+3tise
+tis4m
+ti5so
+tis4p
+5tistica
+ti3tl
+ti4u
+1tiv
+tiv4a
+1tiz
+ti3za
+ti3zen
+2tl
+t5la
+tlan4
+3tle.
+3tled
+3tles.
+t5let.
+t5lo
+4t1m
+tme4
+2t1n2
+1to
+to3b
+to5crat
+4todo
+2tof
+to2gr
+to5ic
+to2ma
+tom4b
+to3my
+ton4ali
+to3nat
+4tono
+4tony
+to2ra
+to3rie
+tor5iz
+tos2
+5tour
+4tout
+to3war
+4t1p
+1tra
+tra3b
+tra5ch
+traci4
+trac4it
+trac4te
+tras4
+tra5ven
+trav5es5
+tre5f
+tre4m
+trem5i
+5tria
+tri5ces
+5tricia
+4trics
+2trim
+tri4v
+tro5mi
+tron5i
+4trony
+tro5phe
+tro3sp
+tro3v
+tru5i
+trus4
+4t1s2
+t4sc
+tsh4
+t4sw
+4t3t2
+t4tes
+t5to
+ttu4
+1tu
+tu1a
+tu3ar
+tu4bi
+tud2
+4tue
+4tuf4
+5tu3i
+3tum
+tu4nis
+2t3up.
+3ture
+5turi
+tur3is
+tur5o
+tu5ry
+3tus
+4tv
+tw4
+4t1wa
+twis4
+4two
+1ty
+4tya
+2tyl
+type3
+ty5ph
+4tz
+tz4e
+4uab
+uac4
+ua5na
+uan4i
+uar5ant
+uar2d
+uar3i
+uar3t
+u1at
+uav4
+ub4e
+u4bel
+u3ber
+u4bero
+u1b4i
+u4b5ing
+u3ble.
+u3ca
+uci4b
+uc4it
+ucle3
+u3cr
+u3cu
+u4cy
+ud5d
+ud3er
+ud5est
+udev4
+u1dic
+ud3ied
+ud3ies
+ud5is
+u5dit
+u4don
+ud4si
+u4du
+u4ene
+uens4
+uen4te
+uer4il
+3ufa
+u3fl
+ugh3en
+ug5in
+2ui2
+uil5iz
+ui4n
+u1ing
+uir4m
+uita4
+uiv3
+uiv4er.
+u5j
+4uk
+u1la
+ula5b
+u5lati
+ulch4
+5ulche
+ul3der
+ul4e
+u1len
+ul4gi
+ul2i
+u5lia
+ul3ing
+ul5ish
+ul4lar
+ul4li4b
+ul4lis
+4ul3m
+u1l4o
+4uls
+uls5es
+ul1ti
+ultra3
+4ultu
+u3lu
+ul5ul
+ul5v
+um5ab
+um4bi
+um4bly
+u1mi
+u4m3ing
+umor5o
+um2p
+unat4
+u2ne
+un4er
+u1ni
+un4im
+u2nin
+un5ish
+uni3v
+un3s4
+un4sw
+unt3ab
+un4ter.
+un4tes
+unu4
+un5y
+un5z
+u4ors
+u5os
+u1ou
+u1pe
+uper5s
+u5pia
+up3ing
+u3pl
+up3p
+upport5
+upt5ib
+uptu4
+u1ra
+4ura.
+u4rag
+u4ras
+ur4be
+urc4
+ur1d
+ure5at
+ur4fer
+ur4fr
+u3rif
+uri4fic
+ur1in
+u3rio
+u1rit
+ur3iz
+ur2l
+url5ing.
+ur4no
+uros4
+ur4pe
+ur4pi
+urs5er
+ur5tes
+ur3the
+urti4
+ur4tie
+u3ru
+2us
+u5sad
+u5san
+us4ap
+usc2
+us3ci
+use5a
+u5sia
+u3sic
+us4lin
+us1p
+us5sl
+us5tere
+us1tr
+u2su
+usur4
+uta4b
+u3tat
+4ute.
+4utel
+4uten
+uten4i
+4u1t2i
+uti5liz
+u3tine
+ut3ing
+ution5a
+u4tis
+5u5tiz
+u4t1l
+ut5of
+uto5g
+uto5matic
+u5ton
+u4tou
+uts4
+u3u
+uu4m
+u1v2
+uxu3
+uz4e
+1va
+5va.
+2v1a4b
+vac5il
+vac3u
+vag4
+va4ge
+va5lie
+val5o
+val1u
+va5mo
+va5niz
+va5pi
+var5ied
+3vat
+4ve.
+4ved
+veg3
+v3el.
+vel3li
+ve4lo
+v4ely
+ven3om
+v5enue
+v4erd
+5vere.
+v4erel
+v3eren
+ver5enc
+v4eres
+ver3ie
+vermi4n
+3verse
+ver3th
+v4e2s
+4ves.
+ves4te
+ve4te
+vet3er
+ve4ty
+vi5ali
+5vian
+5vide.
+5vided
+4v3iden
+5vides
+5vidi
+v3if
+vi5gn
+vik4
+2vil
+5vilit
+v3i3liz
+v1in
+4vi4na
+v2inc
+vin5d
+4ving
+vio3l
+v3io4r
+vi1ou
+vi4p
+vi5ro
+vis3it
+vi3so
+vi3su
+4viti
+vit3r
+4vity
+3viv
+5vo.
+voi4
+3vok
+vo4la
+v5ole
+5volt
+3volv
+vom5i
+vor5ab
+vori4
+vo4ry
+vo4ta
+4votee
+4vv4
+v4y
+w5abl
+2wac
+wa5ger
+wag5o
+wait5
+w5al.
+wam4
+war4t
+was4t
+wa1te
+wa5ver
+w1b
+wea5rie
+weath3
+wed4n
+weet3
+wee5v
+wel4l
+w1er
+west3
+w3ev
+whi4
+wi2
+wil2
+will5in
+win4de
+win4g
+wir4
+3wise
+with3
+wiz5
+w4k
+wl4es
+wl3in
+w4no
+1wo2
+wom1
+wo5ven
+w5p
+wra4
+wri4
+writa4
+w3sh
+ws4l
+ws4pe
+w5s4t
+4wt
+wy4
+x1a
+xac5e
+x4ago
+xam3
+x4ap
+xas5
+x3c2
+x1e
+xe4cuto
+x2ed
+xer4i
+xe5ro
+x1h
+xhi2
+xhil5
+xhu4
+x3i
+xi5a
+xi5c
+xi5di
+x4ime
+xi5miz
+x3o
+x4ob
+x3p
+xpan4d
+xpecto5
+xpe3d
+x1t2
+x3ti
+x1u
+xu3a
+xx4
+y5ac
+3yar4
+y5at
+y1b
+y1c
+y2ce
+yc5er
+y3ch
+ych4e
+ycom4
+ycot4
+y1d
+y5ee
+y1er
+y4erf
+yes4
+ye4t
+y5gi
+4y3h
+y1i
+y3la
+ylla5bl
+y3lo
+y5lu
+ymbol5
+yme4
+ympa3
+yn3chr
+yn5d
+yn5g
+yn5ic
+5ynx
+y1o4
+yo5d
+y4o5g
+yom4
+yo5net
+y4ons
+y4os
+y4ped
+yper5
+yp3i
+y3po
+y4poc
+yp2ta
+y5pu
+yra5m
+yr5ia
+y3ro
+yr4r
+ys4c
+y3s2e
+ys3ica
+ys3io
+3ysis
+y4so
+yss4
+ys1t
+ys3ta
+ysur4
+y3thin
+yt3ic
+y1w
+za1
+z5a2b
+zar2
+4zb
+2ze
+ze4n
+ze4p
+z1er
+ze3ro
+zet4
+2z1i
+z4il
+z4is
+5zl
+4zm
+1zo
+zo4m
+zo5ol
+zte4
+4z1z2
+z4zy
+} \ No newline at end of file
diff --git a/macros/inrstex/inrstex/enhyphex.tex b/macros/inrstex/inrstex/enhyphex.tex
new file mode 100644
index 0000000000..6f01330f1f
--- /dev/null
+++ b/macros/inrstex/inrstex/enhyphex.tex
@@ -0,0 +1,23 @@
+\hyphenation{ % Do NOT make any alterations to this list! --- DEK
+as-so-ciate
+as-so-ciates
+dec-li-na-tion
+oblig-a-tory
+phil-an-thropic
+present
+presents
+project
+projects
+reci-procity
+re-cog-ni-zance
+ref-or-ma-tion
+ret-ri-bu-tion
+ta-ble
+}
+
+% additional exceptions (mjf)
+\hyphenation{
+man-u-script
+man-u-scripts
+equi-sp-a-ced
+} \ No newline at end of file
diff --git a/macros/inrstex/inrstex/eqtag.tex b/macros/inrstex/inrstex/eqtag.tex
new file mode 100644
index 0000000000..022e5afeb9
--- /dev/null
+++ b/macros/inrstex/inrstex/eqtag.tex
@@ -0,0 +1,45 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% ========== Equation Tags ===========
+% Since equation numbering plays a big part in scientific documentation
+% a special set of tag generation forms were produced for this case.
+
+
+% Special versions of autoeqnum to insert automatically insert
+% parentheses around the equation number.
+% \aneq no argument, no tag generated. This version
+% does nothing if autonumbering is off.
+% \aneqtag{<tag>} tag generated. This version inserts the argument
+% inside parentheses if autoreferencing is off.
+
+% These special forms have a \eqnumfont ... as there is no other way
+% to get the information inside. These are defined in the documentfonts.
+
+%\let\eqnumfont=\tenrm ... for tenpoint family
+
+\def\aneq{\a@utotag{}{\eqnum}{\eqtagrefformat
+ }{\e@qno \eqnumfont (\eqtagrefformat)}{}}
+\def\aneqtag#1{\a@utotag{#1}{\eqnum}{\eqtagrefformat
+ }{\e@qno\eqnumfont (\eqtagrefformat)}{\e@qno\eqnumfont (#1)}}
+
+%===== for full left or right equation numbering and to allow ====
+% \aneq and \aneqtag to work
+
+\let\e@qql = \eqalignno
+\let\l@eqql= \leqalignno
+\def\e@qalignno{\let\e@qno=\relax \e@qql}
+\def\l@eqalignno{\let\e@qno=\relax \l@eqql}
+%redefines \eqalignno and \leqalignno --- normal unset mode
+\let\eqalignno = \e@qalignno
+\let\leqalignno = \l@eqalignno
+
+\let\e@qno = \eqno
+%---- left/right equation numbering ----
+\def\leftequationnumbering{\let\eqalignno = \l@eqalignno
+ \let\leqalignno = \l@eqalignno
+ \let\e@qno = \leqno}
+\def\rightequationnumbering{\let\leqalignno = \e@qalignno
+ \let\eqalignno = \e@qalignno
+ \let\e@qno = \eqno} \ No newline at end of file
diff --git a/macros/inrstex/inrstex/extdef.tex b/macros/inrstex/inrstex/extdef.tex
new file mode 100644
index 0000000000..e77fc67007
--- /dev/null
+++ b/macros/inrstex/inrstex/extdef.tex
@@ -0,0 +1,134 @@
+% extdef.tex (MAR 1991)
+% \uccodes added
+\input compatible
+% Michael J. Ferguson
+% The codes used here convert the TeX \' ... accent sequences
+% into the equivalent ISO - Latin 1 values and also provide
+% their inverses.
+% The ISO -Latin 1 code set is almost identical to the
+% Digital (DEC) Multinational Character set.
+
+\catcode`\^^f6=11 \lccode`\^^f6= `\^^f6 \charsubdef `\^^f6 = '177 `\o
+\csubinverse ^^f6{@um@}o \uccode`\^^f6= `\^^d6
+\catcode`\^^d6=11 \lccode`\^^d6= `\^^f6 \charsubdef `\^^d6 = '177 `\O
+\csubinverse ^^d6{@um@}O \uccode`\^^d6= `\^^d6
+\catcode`\^^e1=11 \lccode`\^^e1= `\^^e1 \charsubdef `\^^e1 = '023 `\a
+\csubinverse ^^e1{@ac@}a \uccode`\^^e1= `\^^c1
+\catcode`\^^c1=11 \lccode`\^^c1= `\^^e1 \charsubdef `\^^c1 = '023 `\A
+\csubinverse ^^c1{@ac@}A \uccode`\^^c1= `\^^c1
+\catcode`\^^e0=11 \lccode`\^^e0= `\^^e0 \charsubdef `\^^e0 = '022 `\a
+\csubinverse ^^e0{@gr@}a \uccode`\^^e0= `\^^c0
+\catcode`\^^c0=11 \lccode`\^^c0= `\^^e0 \charsubdef `\^^c0 = '022 `\A
+\csubinverse ^^c0{@gr@}A \uccode`\^^c0= `\^^c0
+\catcode`\^^e2=11 \lccode`\^^e2= `\^^e2 \charsubdef `\^^e2 = '136 `\a
+\csubinverse ^^e2{@hat@}a \uccode`\^^e2= `\^^c2
+\catcode`\^^c2=11 \lccode`\^^c2= `\^^e2 \charsubdef `\^^c2 = '136 `\A
+\csubinverse ^^c2{@hat@}A \uccode`\^^c2= `\^^c2
+\catcode`\^^e3=11 \lccode`\^^e3= `\^^e3 \charsubdef `\^^e3 = '176 `\a
+\csubinverse ^^e3{@til@}a \uccode`\^^e3= `\^^c3
+\catcode`\^^c3=11 \lccode`\^^c3= `\^^e3 \charsubdef `\^^c3 = '176 `\A
+\csubinverse ^^c3{@til@}A \uccode`\^^c3= `\^^c3
+\catcode`\^^e4=11 \lccode`\^^e4= `\^^e4 \charsubdef `\^^e4 = '177 `\a
+\csubinverse ^^e4{@um@}a \uccode`\^^e4= `\^^c4
+\catcode`\^^c4=11 \lccode`\^^c4= `\^^e4 \charsubdef `\^^c4 = '177 `\A
+\csubinverse ^^c4{@um@}A \uccode`\^^c4= `\^^c4
+\catcode`\^^e7=11 \lccode`\^^e7= `\^^e7 \charsubdef `\^^e7 = '030 `\c
+\csubinverse ^^e7{c@}c \uccode`\^^e7= `\^^c7
+\catcode`\^^c7=11 \lccode`\^^c7= `\^^e7 \charsubdef `\^^c7 = '030 `\C
+\csubinverse ^^c7{c@}C \uccode`\^^c7= `\^^c7
+\catcode`\^^e8=11 \lccode`\^^e8= `\^^e8 \charsubdef `\^^e8 = '022 `\e
+\csubinverse ^^e8{@gr@}e \uccode`\^^e8= `\^^c8
+\catcode`\^^c8=11 \lccode`\^^c8= `\^^e8 \charsubdef `\^^c8 = '022 `\E
+\csubinverse ^^c8{@gr@}E \uccode`\^^c8= `\^^c8
+\catcode`\^^e9=11 \lccode`\^^e9= `\^^e9 \charsubdef `\^^e9 = '023 `\e
+\csubinverse ^^e9{@ac@}e \uccode`\^^e9= `\^^c9
+\catcode`\^^c9=11 \lccode`\^^c9= `\^^e9 \charsubdef `\^^c9 = '023 `\E
+\csubinverse ^^c9{@ac@}E \uccode`\^^c9= `\^^c9
+\catcode`\^^ea=11 \lccode`\^^ea= `\^^ea \charsubdef `\^^ea = '136 `\e
+\csubinverse ^^ea{@hat@}e \uccode`\^^ea= `\^^ca
+\catcode`\^^ca=11 \lccode`\^^ca= `\^^ea \charsubdef `\^^ca = '136 `\E
+\csubinverse ^^ca{@hat@}E \uccode`\^^ca= `\^^ca
+\catcode`\^^eb=11 \lccode`\^^eb= `\^^eb \charsubdef `\^^eb = '177 `\e
+\csubinverse ^^eb{@um@}e \uccode`\^^eb= `\^^cb
+\catcode`\^^cb=11 \lccode`\^^cb= `\^^eb \charsubdef `\^^cb = '177 `\E
+\csubinverse ^^cb{@um@}E \uccode`\^^cb= `\^^cb
+\catcode`\^^ec=11 \lccode`\^^ec= `\^^ec \charsubdef `\^^ec = '022 '020
+\csubinverse ^^ec{@gr@}{^^P} \uccode`\^^ec= `\^^cc
+\catcode`\^^cc=11 \lccode`\^^cc= `\^^ec \charsubdef `\^^cc = '022 `\I
+\csubinverse ^^cc{@gr@}I \uccode`\^^cc= `\^^cc
+\catcode`\^^ed=11 \lccode`\^^ed= `\^^ed \charsubdef `\^^ed = '023 '020
+\csubinverse ^^ed{@ac@}{^^P} \uccode`\^^ed= `\^^cd
+\catcode`\^^cd=11 \lccode`\^^cd= `\^^ed \charsubdef `\^^cd = '023 `\I
+\csubinverse ^^cd{@ac@}I \uccode`\^^cd= `\^^cd
+\catcode`\^^ee=11 \lccode`\^^ee= `\^^ee \charsubdef `\^^ee = '136 '020
+\csubinverse ^^ee{@hat@}{^^P} \uccode`\^^ee= `\^^ce
+\catcode`\^^ce=11 \lccode`\^^ce= `\^^ee \charsubdef `\^^ce = '136 `\I
+\csubinverse ^^ce{@hat@}I \uccode`\^^ce= `\^^ce
+\catcode`\^^ef=11 \lccode`\^^ef= `\^^ef \charsubdef `\^^ef = '177 '020
+\csubinverse ^^ef{@um@}{^^P} \uccode`\^^ef= `\^^cf
+\catcode`\^^cf=11 \lccode`\^^cf= `\^^ef \charsubdef `\^^cf = '177 `\I
+\csubinverse ^^cf{@um@}I \uccode`\^^cf= `\^^cf
+\catcode`\^^f1=11 \lccode`\^^f1= `\^^f1 \charsubdef `\^^f1 = '176 `\n
+\csubinverse ^^f1{@til@}n \uccode`\^^f1= `\^^d1
+\catcode`\^^d1=11 \lccode`\^^d1= `\^^f1 \charsubdef `\^^d1 = '176 `\N
+\csubinverse ^^d1{@til@}N \uccode`\^^d1= `\^^d1
+\catcode`\^^f2=11 \lccode`\^^f2= `\^^f2 \charsubdef `\^^f2 = '022 `\o
+\csubinverse ^^f2{@gr@}o \uccode`\^^f2= `\^^d2
+\catcode`\^^d2=11 \lccode`\^^d2= `\^^f2 \charsubdef `\^^d2 = '022 `\O
+\csubinverse ^^d2{@gr@}O \uccode`\^^d2= `\^^d2
+\catcode`\^^f3=11 \lccode`\^^f3= `\^^f3 \charsubdef `\^^f3 = '023 `\o
+\csubinverse ^^f3{@ac@}o \uccode`\^^f3= `\^^d3
+\catcode`\^^d3=11 \lccode`\^^d3= `\^^f3 \charsubdef `\^^d3 = '023 `\O
+\csubinverse ^^d3{@ac@}O \uccode`\^^d3= `\^^d3
+\catcode`\^^f4=11 \lccode`\^^f4= `\^^f4 \charsubdef `\^^f4 = '136 `\o
+\csubinverse ^^f4{@hat@}o \uccode`\^^f4= `\^^d4
+\catcode`\^^d4=11 \lccode`\^^d4= `\^^f4 \charsubdef `\^^d4 = '136 `\O
+\csubinverse ^^d4{@hat@}O \uccode`\^^d4= `\^^d4
+\catcode`\^^f5=11 \lccode`\^^f5= `\^^f5 \charsubdef `\^^f5 = '176 `\o
+\csubinverse ^^f5{@til@}o \uccode`\^^f5= `\^^d5
+\catcode`\^^d5=11 \lccode`\^^d5= `\^^f5 \charsubdef `\^^d5 = '176 `\O
+\csubinverse ^^d5{@til@}O \uccode`\^^d5= `\^^d5
+\catcode`\^^f9=11 \lccode`\^^f9= `\^^f9 \charsubdef `\^^f9 = '022 `\u
+\csubinverse ^^f9{@gr@}u \uccode`\^^f9= `\^^d9
+\catcode`\^^d9=11 \lccode`\^^d9= `\^^d9 \charsubdef `\^^d9 = '022 `\U
+\csubinverse ^^d9{@gr@}U \uccode`\^^d9= `\^^d9
+\catcode`\^^fb=11 \lccode`\^^fb= `\^^fb \charsubdef `\^^fb = '136 `\u
+\csubinverse ^^fb{@hat@}u \uccode`\^^fb= `\^^db
+\catcode`\^^db=11 \lccode`\^^db= `\^^fb \charsubdef `\^^db = '136 `\U
+\csubinverse ^^db{@hat@}U \uccode`\^^db= `\^^db
+\catcode`\^^fc=11 \lccode`\^^fc= `\^^fc \charsubdef `\^^fc = '177 `\u
+\csubinverse ^^fc{@um@}u \uccode`\^^fc= `\^^dc
+\catcode`\^^dc=11 \lccode`\^^dc= `\^^fc \charsubdef `\^^dc = '177 `\U
+\csubinverse ^^dc{@um@}U \uccode`\^^dc= `\^^dc
+% iso latin 1 -- next two codes -- y acute accent
+\catcode`\^^fd=11 \lccode`\^^fd= `\^^fd \charsubdef `\^^fd = '023 `\y
+\csubinverse ^^fd{@ac@}y \uccode`\^^fd= `\^^dd
+\catcode`\^^dd=11 \lccode`\^^dd= `\^^fd \charsubdef `\^^dd = '023 `\Y
+\csubinverse ^^dd{@ac@}Y \uccode`\^^dd= `\^^dd
+\catcode`\^^e5=\active
+\catcode`\^^c5=\active
+\catcode`\^^e6=\active
+\catcode`\^^c6=\active
+\catcode`\^^f7=\active
+\catcode`\^^d7=\active
+\catcode`\^^f8=\active
+\catcode`\^^d8=\active
+\catcode`\^^df=\active
+\catcode`\^^a7=\active
+\catcode`\^^a9=\active
+\catcode`\^^a3=\active
+
+ \def ^^e5{\aa }
+ \def ^^c5{\AA }
+ \def ^^e6{\ae }
+ \def ^^c6{\AE }
+ \def ^^f7{^^[ }
+ \def ^^d7{\OE }
+ \def ^^f8{\o }
+ \def ^^d8{\O }
+ \def ^^df{\ss }
+ \def ^^a7{\S }
+ \def ^^a9{\copyright }
+ \def ^^a3{\it\$}
+
+\def\oe{^^[ }
diff --git a/macros/inrstex/inrstex/extdef3.tex b/macros/inrstex/inrstex/extdef3.tex
new file mode 100644
index 0000000000..026ea8b57e
--- /dev/null
+++ b/macros/inrstex/inrstex/extdef3.tex
@@ -0,0 +1,137 @@
+% extdef.tex (MAR 1991)
+% \uccodes added
+\input compat3 % defines csubinverse only
+% exlplicit accents should not be converted when using "cm" fonts.
+% ... without charsubdef definitions
+% Michael J. Ferguson
+% The codes used here convert the TeX \' ... accent sequences
+% into the equivalent ISO - Latin 1 values and also provide
+% their inverses.
+% The ISO -Latin 1 code set is almost identical to the
+% Digital (DEC) Multinational Character set.
+
+\catcode`\^^f6=11 \lccode`\^^f6= `\^^f6
+\csubinverse ^^f6{@um@}o \uccode`\^^f6= `\^^d6
+\catcode`\^^d6=11 \lccode`\^^d6= `\^^f6
+\csubinverse ^^d6{@um@}O \uccode`\^^d6= `\^^d6
+\catcode`\^^e1=11 \lccode`\^^e1= `\^^e1
+\csubinverse ^^e1{@ac@}a \uccode`\^^e1= `\^^c1
+\catcode`\^^c1=11 \lccode`\^^c1= `\^^e1
+\csubinverse ^^c1{@ac@}A \uccode`\^^c1= `\^^c1
+\catcode`\^^e0=11 \lccode`\^^e0= `\^^e0
+\csubinverse ^^e0{@gr@}a \uccode`\^^e0= `\^^c0
+\catcode`\^^c0=11 \lccode`\^^c0= `\^^e0
+\csubinverse ^^c0{@gr@}A \uccode`\^^c0= `\^^c0
+\catcode`\^^e2=11 \lccode`\^^e2= `\^^e2
+\csubinverse ^^e2{@hat@}a \uccode`\^^e2= `\^^c2
+\catcode`\^^c2=11 \lccode`\^^c2= `\^^e2
+\csubinverse ^^c2{@hat@}A \uccode`\^^c2= `\^^c2
+\catcode`\^^e3=11 \lccode`\^^e3= `\^^e3
+\csubinverse ^^e3{@til@}a \uccode`\^^e3= `\^^c3
+\catcode`\^^c3=11 \lccode`\^^c3= `\^^e3
+\csubinverse ^^c3{@til@}A \uccode`\^^c3= `\^^c3
+\catcode`\^^e4=11 \lccode`\^^e4= `\^^e4
+\csubinverse ^^e4{@um@}a \uccode`\^^e4= `\^^c4
+\catcode`\^^c4=11 \lccode`\^^c4= `\^^e4
+\csubinverse ^^c4{@um@}A \uccode`\^^c4= `\^^c4
+\catcode`\^^e7=11 \lccode`\^^e7= `\^^e7
+\csubinverse ^^e7{c@}c \uccode`\^^e7= `\^^c7
+\catcode`\^^c7=11 \lccode`\^^c7= `\^^e7
+\csubinverse ^^c7{c@}C \uccode`\^^c7= `\^^c7
+\catcode`\^^e8=11 \lccode`\^^e8= `\^^e8
+\csubinverse ^^e8{@gr@}e \uccode`\^^e8= `\^^c8
+\catcode`\^^c8=11 \lccode`\^^c8= `\^^e8
+\csubinverse ^^c8{@gr@}E \uccode`\^^c8= `\^^c8
+\catcode`\^^e9=11 \lccode`\^^e9= `\^^e9
+\csubinverse ^^e9{@ac@}e \uccode`\^^e9= `\^^c9
+\catcode`\^^c9=11 \lccode`\^^c9= `\^^e9
+\csubinverse ^^c9{@ac@}E \uccode`\^^c9= `\^^c9
+\catcode`\^^ea=11 \lccode`\^^ea= `\^^ea
+\csubinverse ^^ea{@hat@}e \uccode`\^^ea= `\^^ca
+\catcode`\^^ca=11 \lccode`\^^ca= `\^^ea
+\csubinverse ^^ca{@hat@}E \uccode`\^^ca= `\^^ca
+\catcode`\^^eb=11 \lccode`\^^eb= `\^^eb
+\csubinverse ^^eb{@um@}e \uccode`\^^eb= `\^^cb
+\catcode`\^^cb=11 \lccode`\^^cb= `\^^eb
+\csubinverse ^^cb{@um@}E \uccode`\^^cb= `\^^cb
+\catcode`\^^ec=11 \lccode`\^^ec= `\^^ec
+\csubinverse ^^ec{@gr@}{^^P} \uccode`\^^ec= `\^^cc
+\catcode`\^^cc=11 \lccode`\^^cc= `\^^ec
+\csubinverse ^^cc{@gr@}I \uccode`\^^cc= `\^^cc
+\catcode`\^^ed=11 \lccode`\^^ed= `\^^ed
+\csubinverse ^^ed{@ac@}{^^P} \uccode`\^^ed= `\^^cd
+\catcode`\^^cd=11 \lccode`\^^cd= `\^^ed
+\csubinverse ^^cd{@ac@}I \uccode`\^^cd= `\^^cd
+\catcode`\^^ee=11 \lccode`\^^ee= `\^^ee
+\csubinverse ^^ee{@hat@}{^^P} \uccode`\^^ee= `\^^ce
+\catcode`\^^ce=11 \lccode`\^^ce= `\^^ee
+\csubinverse ^^ce{@hat@}I \uccode`\^^ce= `\^^ce
+\catcode`\^^ef=11 \lccode`\^^ef= `\^^ef
+\csubinverse ^^ef{@um@}{^^P} \uccode`\^^ef= `\^^cf
+\catcode`\^^cf=11 \lccode`\^^cf= `\^^ef
+\csubinverse ^^cf{@um@}I \uccode`\^^cf= `\^^cf
+\catcode`\^^f1=11 \lccode`\^^f1= `\^^f1
+\csubinverse ^^f1{@til@}n \uccode`\^^f1= `\^^d1
+\catcode`\^^d1=11 \lccode`\^^d1= `\^^f1
+\csubinverse ^^d1{@til@}N \uccode`\^^d1= `\^^d1
+\catcode`\^^f2=11 \lccode`\^^f2= `\^^f2
+\csubinverse ^^f2{@gr@}o \uccode`\^^f2= `\^^d2
+\catcode`\^^d2=11 \lccode`\^^d2= `\^^f2
+\csubinverse ^^d2{@gr@}O \uccode`\^^d2= `\^^d2
+\catcode`\^^f3=11 \lccode`\^^f3= `\^^f3
+\csubinverse ^^f3{@ac@}o \uccode`\^^f3= `\^^d3
+\catcode`\^^d3=11 \lccode`\^^d3= `\^^f3
+\csubinverse ^^d3{@ac@}O \uccode`\^^d3= `\^^d3
+\catcode`\^^f4=11 \lccode`\^^f4= `\^^f4
+\csubinverse ^^f4{@hat@}o \uccode`\^^f4= `\^^d4
+\catcode`\^^d4=11 \lccode`\^^d4= `\^^f4
+\csubinverse ^^d4{@hat@}O \uccode`\^^d4= `\^^d4
+\catcode`\^^f5=11 \lccode`\^^f5= `\^^f5
+\csubinverse ^^f5{@til@}o \uccode`\^^f5= `\^^d5
+\catcode`\^^d5=11 \lccode`\^^d5= `\^^f5
+\csubinverse ^^d5{@til@}O \uccode`\^^d5= `\^^d5
+\catcode`\^^f9=11 \lccode`\^^f9= `\^^f9
+\csubinverse ^^f9{@gr@}u \uccode`\^^f9= `\^^d9
+\catcode`\^^d9=11 \lccode`\^^d9= `\^^d9
+\csubinverse ^^d9{@gr@}U \uccode`\^^d9= `\^^d9
+\catcode`\^^fb=11 \lccode`\^^fb= `\^^fb
+\csubinverse ^^fb{@hat@}u \uccode`\^^fb= `\^^db
+\catcode`\^^db=11 \lccode`\^^db= `\^^fb
+\csubinverse ^^db{@hat@}U \uccode`\^^db= `\^^db
+\catcode`\^^fc=11 \lccode`\^^fc= `\^^fc
+\csubinverse ^^fc{@um@}u \uccode`\^^fc= `\^^dc
+\catcode`\^^dc=11 \lccode`\^^dc= `\^^fc
+\csubinverse ^^dc{@um@}U \uccode`\^^dc= `\^^dc
+% iso latin 1 -- next two codes -- y acute accent
+\catcode`\^^fd=11 \lccode`\^^fd= `\^^fd
+\csubinverse ^^fd{@ac@}y \uccode`\^^fd= `\^^dd
+\catcode`\^^dd=11 \lccode`\^^dd= `\^^fd
+\csubinverse ^^dd{@ac@}Y \uccode`\^^dd= `\^^dd
+\catcode`\^^e5=\active
+\catcode`\^^c5=\active
+\catcode`\^^e6=\active
+\catcode`\^^c6=\active
+\catcode`\^^f7=\active
+\catcode`\^^d7=\active
+\catcode`\^^f8=\active
+\catcode`\^^d8=\active
+\catcode`\^^df=\active
+\catcode`\^^a7=\active
+\catcode`\^^a9=\active
+\catcode`\^^a3=\active
+
+ \def ^^e5{\aa }
+ \def ^^c5{\AA }
+ \def ^^e6{\ae }
+ \def ^^c6{\AE }
+ \def ^^f7{^^[ }
+ \def ^^d7{\OE }
+ \def ^^f8{\o }
+ \def ^^d8{\O }
+ \def ^^df{\ss }
+ \def ^^a7{\S }
+ \def ^^a9{\copyright }
+ \def ^^a3{\it\$}
+
+\def\oe{^^[ }
+
diff --git a/macros/inrstex/inrstex/footnote.tex b/macros/inrstex/inrstex/footnote.tex
new file mode 100644
index 0000000000..1f5afd4538
--- /dev/null
+++ b/macros/inrstex/inrstex/footnote.tex
@@ -0,0 +1,22 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+%=========== Footnotes ---- similar to that in the texbook ======
+
+%\newinsert\footins
+\newtoks\everyfootnote % token list inserted before every footnote
+ % but after the parameters -- cannot affect \footins
+\def\up#1{\nobreak$^{#1}\relax$}
+\def\footnote#1{\let\@sf\empty
+ \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\fi
+ \up{#1}\@sf\sfootnote{#1}}
+\def\sfootnote#1{\insert\footins\bgroup\footnotefont
+ \interlinepenalty100 \let\par=\endgraf
+ \leftskip=\z@skip \rightskip=\z@skip
+ \splittopskip=3ex plus 1pt minus 1pt \floatingpenalty=20000
+ \smallskip\the\everyfootnote\relax
+ \item{\up{#1}}\bgroup\strut\aftergroup\@foot\let\next}
+\skip\footins=3ex plus 2pt minus 4pt % space added when footnote is present
+%\count\footins=1000 % footnote magnification factor (1 to 1)
+\dimen\footins=10in % maximum footnotes per page
diff --git a/macros/inrstex/inrstex/frhyph.tex b/macros/inrstex/inrstex/frhyph.tex
new file mode 100644
index 0000000000..1750388dc3
--- /dev/null
+++ b/macros/inrstex/inrstex/frhyph.tex
@@ -0,0 +1,823 @@
+
+
+
+% hyphenation patterns for french ... for use with fonts that do not
+% have the accented characters inside .... modifications
+% for other fonts are obvious
+
+% Mods to \i and \oe form ... TeX eats up spaces and loses patterns.
+% MJF 22 Jun 88
+% addition of .con2 to prevent embarrassment
+
+\begingroup
+\accenthyphcodes\spechyphcodes % changes the \' ... etc
+\lccode`\'=`\'
+\lccode'33='33 %\oe ... both needed in
+\lccode'20='20 % \i .. dotless i
+\patterns{
+.con2 % mjf jun 88
+2'2 % mjf
+'a2 % mjf
+'\'e2 % mjf
+'e2 % mjf
+'o2 % mjf
+'\"o2 % mjf
+'u2 % mjf
+'i2 % mjf
+.\'e2 %mjf
+1ba
+1b\^a
+1be
+1b\'e
+1b\`e
+1b\^e
+1biOP
+1b\^\i0 % mjf jun88
+1bo
+1b\^o
+1bu
+1b\^u
+1by
+4be.
+4bes.
+1b2l
+4ble.
+4bles.
+1b2r
+4bre.
+4bres.
+1ca
+1c\^a
+1ce
+1c\'e
+1c\`e
+1c\^e
+1ci
+1c\^\i0 % mjf jun88
+1co
+1c\^o
+1cu
+1c\^u
+1cy
+1c\oe0 % mjf jun88
+4ce.
+4ces.
+1c2h
+4che.
+4ches.
+2chb
+2chg
+2chm
+2chn
+2chp
+2chs
+2cht
+2chv
+.ch4
+4ch.
+ch2l
+4chle.
+4chles.
+ch2r
+4chre.
+4chres.
+1c2k
+4cke.
+4ckes.
+4ck.
+2ckb
+2ckf
+2ckg
+2ck3h
+2ckp
+2cks
+2ckt
+1c2l
+4cle.
+4cles.
+1c2r
+4cre.
+4cres.
+1\c c
+1da
+1d\^a
+1de
+1d\'e
+1d\`e
+1d\^e
+1di
+1d\^\i0 % mjf jun88
+1do
+1d\^o
+1du
+1d\^u
+1dy
+4de.
+4des.
+d1d2h
+1d2r
+4dre.
+4dres.
+1fa
+1f\^a
+1fe
+1f\'e
+1f\`e
+1f\^e
+1fi
+1f\^\i0 % mjf jun88
+1fo
+1f\^o
+1fu
+1f\^u
+1fy
+4fe.
+4fes.
+1f2l
+4fle.
+4fles.
+1f2r
+4fre.
+4fres.
+1ga
+1g\^a
+1ge
+1g\'e
+1g\`e
+1g\^e
+1gi
+1g\^\i0 % mjf jun88
+1go
+1g\^o
+1gu
+1g\^u
+1gy
+4ge.
+4ges.
+4gue.
+4gues.
+1g2ha
+1g2he
+1g2hi
+1g2ho
+1g2hy
+1g2l
+4gle.
+4gles.
+1g2n
+4gne.
+4gnes.
+1g2r
+4gre.
+4gres.
+1ha
+1h\^a
+1he
+1h\'e
+1h\`e
+1h\^e
+1hi
+1h\^\i0 % mjf jun88
+1ho
+1h\^o
+1hu
+1h\^u
+1hy
+4he.
+4hes.
+1j
+2jk
+4je.
+4jes.
+1ka
+1k\^a
+1ke
+1k\'e
+1k\`e
+1k\^e
+1ki
+1k\^\i0 % mjf jun88
+1ko
+1k\^o
+1ku
+1k\^u
+1ky
+4ke.
+4kes.
+1k2h
+4kh.
+.kh4
+1k2r
+1la
+1l\^a
+1l\`a
+1le
+1l\'e
+1l\`e
+1l\^e
+1li
+1l\^\i0 % mjf jun88
+1lo
+1l\^o
+1lu
+1l\^u
+1ly
+4le.
+4les.
+1ma
+1m\^a
+1me
+1m\'e
+1m\`e
+1m\^e
+1mi
+1m\^\i0 % mjf jun88
+1mo
+1m\^o
+1mu
+1m\^u
+1my
+1m\oe0 % mjf jun88
+4me.
+4mes.
+1na
+1n\^a
+1ne
+1n\'e
+1n\`e
+1n\^e
+1ni
+1n\^\i0 % mjf jun88
+1no
+1n\^o
+1nu
+1n\^u
+1ny
+n1x
+1n\oe0 %mjf jun88
+4ne.
+4nes.
+1pa
+1p\^a
+1pe
+1p\'e
+1p\`e
+1p\^e
+1pi
+1p\^\i0 % mjf jun88
+1po
+1p\^o
+1pu
+1p\^u
+1py
+4pe.
+4pes.
+4ph.
+1p2h
+4phe.
+4phes.
+ph2l
+4phle.
+4phles.
+2phn
+ph2r
+4phre.
+4phres.
+2phs
+2pht
+.ph4
+1p2l
+4ple.
+4ples.
+1p2r
+4pre.
+4pres.
+1q
+4que.
+4ques.
+1ra
+1r\^a
+1re
+1r\'e
+1r\`e
+1r\^e
+1ri
+1r\^\i0 % mjf jun88
+1ro
+1r\^o
+1ru
+1r\^u
+1ry
+4re.
+4res.
+1r2h
+4rhe.
+4rhes.
+1sa
+1s\^a
+1se
+1s\'e
+1s\`e
+1s\^e
+1si
+1s\^\i0 % mjf jun88
+1so
+1s\^o
+1su
+1s\^u
+1sy
+1s\oe0 % mjf jun88
+4se.
+4ses.
+1s2ch
+4sch.
+2schs
+4sche.
+4sches.
+.sch4
+.sh4
+4sh.
+1s2h
+2shm
+2shr
+2shs
+4she.
+4shes.
+1ta
+1t\^a
+1t\`a
+1te
+1t\'e
+1t\`e
+1t\^e
+1ti
+1t\^\i0 % mjf jun88
+1to
+1t\^o
+1tu
+1t\^u
+1ty
+4te.
+4tes.
+1t2h
+4th.
+.th4
+4the.
+4thes.
+th2l
+2thm
+2thn
+th2r
+4thre.
+4thres.
+2ths
+1t2r
+4tre.
+4tres.
+1va
+1v\^a
+1ve
+1v\'e
+1v\`e
+1v\^e
+1vi
+1v\^\i0 % mjf jun88
+1vo
+1v\^o
+1vu
+1v\^u
+1vy
+4ve.
+4ves.
+1v2r
+4vre.
+4vres.
+1wa
+1we
+1wi
+1wo
+1wu
+4we.
+4wes.
+1w2r
+1za
+1ze
+1z\'e
+1z\`e
+1zi
+1zo
+1zu
+1zy
+4ze.
+4zes.
+d1s2
+f1s2
+g1s2
+tung2s3
+l1s2t
+m1s2
+e2s3ch
+i2s3ch\'e
+i2s3chia
+i2s3chio
+1alcool
+i1algi
+a2l1algi
+y1algi
+1a2nesth\'esi
+i1arthr
+y1asth
+a1\`e2dre
+i1\`e2dre
+o1\`e2dre
+1\'e2drie
+1\'e2drique
+1\'e2lectr
+1\'e2l\'ement
+1\'e2nerg
+o1d2l
+2t3heur
+2r3heur
+3d2hal
+3d2houd
+2s3hom
+2r3hydr
+o1ioni
+1m2n\`es
+1m2n\'esi
+1m2n\'emo
+i1oxy
+io1a2ct
+3ph2tal\'e
+3ph2tis
+1p2neu
+1p2n\'e
+1p2sych
+1p2t\`er
+1p2t\'er
+1s2caph
+1s2cl\'er
+1s2cop
+e2s3cop
+\'epi2s3cop
+\'epi3s4cope
+di2s3cop
+1s2lav
+1s2lov
+1s2patia
+1s2perm
+1s2por
+1s2ph\`er
+1s2ph\'er
+1s2piel
+1s2piros
+1s2tandard
+o1s2tas
+eu1s2tat
+o1s2tat
+pro2s3tat
+i1s2tat
+1s2tein
+o1s2t\'ero
+1s2tigm
+o1s2tim
+1s2tock
+1s2tomos
+o1s2tom
+y1s2tom
+o1s2trad
+o1s2tratu
+o1s2triction
+1s2troph
+a2s3tro
+apo2s3tr
+u2s3tr
+1s2tructu
+1s2tyle
+t1t2l
+.ab3r\'ea
+.ae3s4ch
+.amino1a2c
+.ana3s4tr
+.anti1a2
+.anti1e2
+.anti2enne
+.anti1\'e2
+.anti1s2
+.apo2s3ta
+.as2ta
+.bi1a2c
+.bi1au
+.bio1a2
+.bi1u2
+.bi2s1a2
+.ci2s1alp
+co1acc
+co1acq
+co1a2d
+co1ap
+co1ar
+co1assoc
+co1assur
+co1au
+co1ax
+co1ef
+co1en
+co1ex
+co1\'e2
+.contre1s2c
+co2n1urb
+.co1o2
+.co2o3lie
+.dacryo1a2
+.d\'e1a2
+.d\'e1io
+.d\'e1o2
+.d\'e2s1a2
+.d\'e3s2a3cr
+.d\'e3s2astr
+.d\'e3s2a3tell
+.d\'e2s1\'e2
+.d\'e3s2\'e3gr
+.d\'e2s1e2
+.d\'e3s2ensib
+.d\'e3s2ert
+.d\'e3s2exu
+.d\'e2s3h
+.d\'e2s1i2
+.d\'e3s2i3d
+.d\'e3s2i3gn
+.d\'e3s2i3li
+.d\'e3s2i3non
+.d\'e3s2invo
+.d\'e3s2i3r
+.d\'e3s2ist
+.d\'e2s1o2
+.d\'e3s2o3d\'e
+.d\'e3s2o3l
+.d\'e3s2o3pil
+.d\'e3s2orm
+.d\'e3s2orp
+.d\'e3s2oufr
+.d\'e2s1\oe0 % mjf jun88
+.d\'e1s2c
+.d\'e1s2p
+.d\'e1s2t
+.d\'e2s1u2n
+.di1a2c\'e
+.di1a2cid
+dia2g3n
+.di1ald
+.di1a2mi
+.di1a2tom
+.di1e2n
+.di2s3h
+.dy2s1a2
+.dy2s1i2
+.dy2s1u2
+.dy2s3
+.en1a2
+en1i2vr
+.en1o2
+.eu2r1a2
+extra1
+extra2c
+extra2i
+h\'emi1\'e
+h\'emo1p2t
+hypera2
+hyper\'e2
+hyper\oe2
+hyperi2
+hypero2
+hypers2
+hyperu2
+hype4r1
+hypo1a2
+hypo1\'e2
+hypo1i2
+hypo1o2
+hypo1u2
+hypo1s2
+.in1a2
+.in2a3nit
+.in2augur
+.in1\'e2
+.in2e3lucta
+.in2\'e3narra
+.in1e2
+.in2ept
+.in2er
+.in1i2
+.in2i3miti
+.in2i3q
+.in2i3t
+.in1o2
+.in2o3cul
+.in2ond
+.in1s2tab
+.in1u2
+.in2uit
+.in2u3l
+.intera2
+.inter\'e2
+.intere2
+.interi2
+.intero2
+.interu2
+.inters2
+.inte4r3
+la2w3re
+.ma2c3k
+.macro1s2c
+.ma2l1a2dres
+.ma2l1a2dro
+.ma2l1ais\'e
+.ma2l1ap
+.ma2l1a2v
+.ma2l1en
+.ma2l1int
+.ma2l1oc
+.ma2l1o2d
+.ma2r1x
+.m\'e2g1oh
+.m\'e2s1es
+.m\'e2s1i
+.m\'e2s1u2s
+.m\'eta1s2ta
+.milli1am
+.mono1a2
+.mono1\'e2
+.mono1e2
+.mono1i2
+.mono1\"\i2d\'e
+.momo1o2
+.mono1u2
+.mono1s2
+.no2n1obs
+o2b3long
+ombud2s3
+omni1s2
+.oua1ou
+.ovi1s2c
+oxy1a2
+pal\'eo1\'e2
+.pa2n1a2f
+.pa2n1a2m\'e
+.pa2n1a2ra
+.pa2n1is
+.pa2n1o2ph
+.pa2n1opt
+.para1s2
+.pa2r1a2che
+.pa2r1a2ch\`e
+.pa2r3h\'e
+.per1a2
+.per1\'e2
+.per1e2
+.per1i2
+.per1o2
+.per1u2
+per3h
+.pe4r
+p\'e2n1ul
+p\'e2r1\'e2q
+.p\'eri1os
+.p\'eri1s2
+.p\'eri2s3s
+.p\'eri2s3ta
+.p\'eri1u2
+.phalan3s2t
+photo1s2
+.phyto3ph2
+.pluri1a
+poly1a2
+poly1\'e2
+poly1\`e2
+poly1e2
+poly1i2
+poly1o2
+poly1u2
+poly1s2
+.pos2t3hy
+.pos2t1in
+.pos2t1o2
+.pos2t3r
+.post1s2
+.pr\'e1a2
+.pr\'e2au
+.pr\'e1\'e2
+.pr\'e1e2
+.pr\'e1i2
+.pr\'e1o2
+.pr\'e1u2
+.pr\'e1s2
+.pro1\'e2
+.prou3d2h
+.pro1s2c\'e
+.psycho1a2n
+.pud1d2l
+.re1s2
+.re2s3cap
+.re2s3cou
+.re2s3cri
+.re2s3pect
+.re2s3pir
+.re2s3plend
+.re2s3pons
+.re2s3quil
+.re2s3s
+.re2s3t
+.re3s4tab
+.re3s4tag
+.re3s4tand
+.re3s4tat
+.re3s4t\'en
+.re3s4t\'er
+.re3s4tim
+.re3s4tip
+.re3s4toc
+.re3s4top
+.re3s4tr
+.re4s5trein
+.re4s5trict
+.re4s5trin
+.re3s4tu
+.re3s4ty
+.r\'e1a2
+.r\'e2a3le
+.r\'e2a3lis
+.r\'e2a3lit
+.r\'e2aux
+.r\'e1\'e2
+.r\'e1e2
+.r\'e2el
+.r\'e2er
+.r\'e2\`er
+.r\'e1i2
+.r\'e2i3fi
+.r\'e1o2
+.r\'e1u2
+.r\'e2uss
+.r\'etro1a2
+sesqui1a2
+st\'er\'eo1s2
+.su2b1a2
+.su3b2alt
+.su2b1\'e2
+.su3b2\'e3r
+.su2b1in
+.su2b3limin
+.su2b3lin
+.su2b3lu
+sub1s2
+.su2b1ur
+supero2
+supers2
+supe4r1
+.su2r1a2
+su3r2ah
+.su3r2a3t
+.su2r1e2
+.su3r2eau
+.su3r2e1l
+.su3r2et
+.su2r1\'e2
+.su2r3h
+.su2r1i2m
+.su2r1inf
+.su2r1int
+.su2r1of
+.su2r1ox
+t\'el\'e1e2
+t\'el\'e1i2
+t\'el\'e1o2b
+t\'el\'e1o2p
+t\'el\'e1s2
+thermo1s2
+tran2s1a2
+tran3s2act
+tran3s2ats
+tran2s3h
+tran2s1o2
+tran2s3p
+tran2s1u2
+.tri1a2c
+.tri1a2n
+.tri1a2t
+.tri1o2n
+archi1\'e2pis
+moye2n1\^a2g
+po1astre
+uni1o2v
+uni1a2x
+v\'elo1s2ki
+vol2t1amp
+tachy1a2
+tchin3t2
+chlo2r3a2c
+chlo2r3\'e2t
+n3s2at.
+n3s2ats.
+}
+\endgroup \ No newline at end of file
diff --git a/macros/inrstex/inrstex/genins.tex b/macros/inrstex/inrstex/genins.tex
new file mode 100644
index 0000000000..1584b764df
--- /dev/null
+++ b/macros/inrstex/inrstex/genins.tex
@@ -0,0 +1,181 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% Fixed page insert forms to work with pageinsert. ... 22 Sept 87 MJF
+
+% ========= Syntactic Forms ============
+% Each of these has a token list that is inserted before each
+% particular insert ... and in a group.
+% in \begin... \end.. pairs
+\newtoks\everytopinsert
+\newtoks\everymidinsert
+\newtoks\everypageinsert
+\def\begintopinsert{\begingroup\the\everytopinsert\topinsert}
+\def\beginmidinsert{\begingroup\the\everymidinsert\midinsert}
+\def\beginpageinsert{\begingroup\def\g@box{\vbox to
+ \vinnerpagesize}\def\g@ebox{\relax}\the
+ \everypageinsert\pageinsert}
+
+\def\e@ndinsert{\endinsert\endgroup}
+
+\let\endtopinsert = \e@ndinsert
+\let\endmidinsert = \e@ndinsert
+\let\endpageinsert = \e@ndinsert
+
+% ============= Figure, Table, etc inserts ==========
+
+% Assumptions
+% The form is described by three letters, eg "fig" or "tbl"
+% If the list file exists, the page info is written.
+% \writelistfile must be defined
+% \autonumber, \autoreference, \ref, \quietref, \veryraggedright
+% If autonumbering is on, then
+% \silenttrue, \autofignum ..
+% An "fig" form and "tbl" form are defined. These need
+% \figurelabel, and \tablelabel respectively. These are
+% usually defined in the \englishversion and \versionfrancaise
+% The insert forms use \beginmidinsert ... \endmidinsert.
+
+
+% Defaults --- to be set.
+% \captiontextfraction ... inrsdef.tex
+% \captionskip ... inrsdef.tex
+% \topcaptiontrue or \topcaptionfalse ... inrsdef.tex
+% \figurelabel or \figlabel ... english.tex or francais.tex
+% \tablelabel or \tbllabel ... english.tex or francais.tex
+% \captionnumfont ... inrsfont.tex
+% \captiontitlefont ... inrsfont.tex
+% \captionbodyfont ... inrsfont.tex
+% \captionbodyon <off> ... inrsdef.tex
+
+
+% This is a general form for an insert with a caption, under it
+% if \topcaptionfalse and over it if \topcaptiontrue
+% The particular form is identified with a (usually) three letter sequence
+% such as "fig" or "tbl". There can be an associated list file for
+% automatic generation of the page list for the items.
+% The basic form is a non-floating type, enclosed in $$ ... $$ to give
+% correct spacing. This can be put in an insert to make it float.
+% Full page forms require \vfill above and/or below for top, bottom, or center.
+
+% The caption box measures its size and centers the text if it is short
+% or puts it in a \vbox which is \captiontextfraction of the \hsize
+% if it is not.
+% The \captionskip is the spacing between the caption and the actual
+% item in the text. This may be a table or figure or ....
+
+% \let\captionnumfont = \bf
+% \let\captiontextfont = \relax % defaults to "outside font"
+% \def\captiontextfraction{0.8}
+
+\def\captionbox#1#2{\setbox0=\hbox{{\captionnumfont #1}\quad
+ \captiontitlefont #2}
+ \ifdim 1\wd0 < \captiontextfraction\hsize
+ \centerline{\unhbox0}
+ \else
+ \centerline{\vtop{\hsize=\captiontextfraction\hsize
+ \veryraggedright
+ \setbox0=\hbox{{\captionnumfont #1}\quad}
+ \hangindent=1\wd0 \hangafter=1
+ \noindent\unhbox0
+ \captiontitlefont #2}}%
+ \fi}
+
+% A caption is assumed to have both a <title> that will appear in the
+% list, if any and a <caption body> that will appear only when the caption is
+% printed. The default is to have \captionbody ... "active" and to turn it
+% off when making lists.
+% This is done with two commands \captionbodyon and \captionbodyoff
+% associated with a <caption body> is a <caption body font>
+
+\def\captionbodyon{\def\captionbody##1{{\captionbodyfont ##1}}}
+\def\captionbodyoff{\def\captionbody##1{}}
+
+
+% \rect <hor dimen> by <vert dimen>} A centered rectangular box to act
+% as a place holder if there is a figure to be pasted in later.
+\def\r@ect{\centerline{\vbox{\hrule
+ \hbox{\vrule height \the\dimen2
+ \hskip \dimen0
+ \vrule height \the\dimen2}
+ \hrule
+ }}}
+\def\rect #1by{\dimen0 #1\afterassignment\r@ect \dimen2}
+
+% ======= This is the general insert form =======
+% #1 is the name of the insert form, #2 is the tag or number, #3 is the title
+% #4 is the actual insert form value ... ie figure or table or ...
+
+% This is the glue specification between the caption and the body of the
+% insert
+
+\newskip\captionskip %\captionskip=2ex
+
+% This is a switch that controls whether the caption is above or below the
+% the body of the insert
+
+\newif\iftopcaption %\topcaptionfalse % defaulted
+
+% This is the general form of the insert --- it requires both \autonumber
+% and \autoreference to work. By selectively turning on/off these
+% switches, multipart figures are possible.
+
+% \ifsilentfigure ... turns off the figure inserts so that tagging can
+% occur with figures gracefully occuring at the end. This means that
+% figure list file will refer to pages where the figures are sort of
+% called out
+
+\def\multiinsert{\def\g@box{\vbox }\def\g@ebox{\relax}}
+
+\newif\ifsilentfigure % default is \silenfigurefalse
+
+\def\g@box{$$\vbox } \def\g@ebox{$$}
+
+\def\geninsertform #1#2#3#4{
+ \ifautonumber
+ {\silenttrue\expandafter\csname auto#1num\endcsname{#2}}\relax
+ \edef\i@nsnum{\csname:@#2\endcsname}\else
+ \edef\i@nsnum{#2}\fi
+ \writelistfile{#1}{\csname #1tocout\endcsname}{\i@nsnum}{#3}
+ \ifsilentfigure \relax \else
+ \g@box{\normalbaselines
+ \iftopcaption
+ \captionbox{\csname #1label\endcsname\i@nsnum}{#3}
+ \vskip \captionskip
+ \centerline{\vbox{#4}}
+ \else
+ \centerline{\vbox{#4}}
+ \vskip \captionskip
+ \captionbox{\csname #1label\endcsname\i@nsnum}{#3}
+ \fi
+ \vss}\g@ebox\fi}
+
+
+% ========== Special Cases ============
+% These define simple forms for standard midinserts. It uses
+% \beginmidinsert ... \endmidinsert for consistency
+
+% For Figures
+\def\figureform #1#2#3{\geninsertform {fig}{#1}{#2}{#3}}
+\def\figlabel{\figurelabel }
+\def\figureinsert #1#2#3{\beginmidinsert
+ \figureform{#1}{#2}{#3}
+ \endmidinsert }
+
+%\def\figtocout{\string\figtoc} % actually set in inrsdef.tex
+
+
+% For Tables
+\def\tableform #1#2#3{\geninsertform {tbl}{#1}{#2}{#3}}
+\def\tbllabel{\tablelabel }
+\def\tableinsert #1#2#3{\beginmidinsert
+ \tableform{#1}{#2}{#3}
+ \endmidinsert }
+%\def\tbltocout{\string\tbltoc} % actually set in inrsdef.tex
+
+
+% Comment ---- \endinsert in Plain has a pre and post \bigskip
+% This should probably be removed and the spacing always controlled by
+% the $$ ... $$. Instead, if the \everymidinsert form were used it
+% would be possible to remove it with \everymidinsert = {\let\bigskip=\relax} \ No newline at end of file
diff --git a/macros/inrstex/inrstex/graph_ps.tex b/macros/inrstex/inrstex/graph_ps.tex
new file mode 100644
index 0000000000..320fe7cc7d
--- /dev/null
+++ b/macros/inrstex/inrstex/graph_ps.tex
@@ -0,0 +1,27 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% ============ TeXGraphics Support =============
+% TeXGraphics uses \specials and needs a QMS (QUIC) Laser printer.
+% A Second version produces POSTSCRIPT and assumes TEXTSET'S DVILASER.
+% It should be easily modifiable to other POSTSCRIPT drivers.
+% both \beginTeXGraphics and \btg are redefined in texgraph.tex
+% TeXgraphics is not normally in the format file
+% These commands are necessary to support TeXGraph. They are
+% NOT the commands themselves but rather set up commands
+% to bring them in if needed.
+
+\def\beginTeXGraphics{\silent{\input texgraph\relax}\btg} %postscript form
+\def\begintexgraph{\silent{\input texgraph\relax}\btg} %postscript form
+\let\btg=\beginTeXGraphics
+
+
+% Since a \centergraph or \centerplotfile may be met before
+% TeXgraph is loaded, they must be in the format file.
+% \centergraph needs to be very \long
+\long\def\centergraph#1{\hbox to
+ \hsize{\hss\vbox{#1\vgraphskip}\hgraphskip\hss}}
+\def\centerplotfile#1{\centergraph{\btg\includefile {#1} \etg}}
+
+% ========= end TeXGraphics =========
diff --git a/macros/inrstex/inrstex/hyphen.tex b/macros/inrstex/inrstex/hyphen.tex
new file mode 100644
index 0000000000..eb23d89cd5
--- /dev/null
+++ b/macros/inrstex/inrstex/hyphen.tex
@@ -0,0 +1,4466 @@
+% The Plain TeX hyphenation tables [NOT TO BE CHANGED IN ANY WAY!]
+\patterns{ % just type <return> if you're not using INITEX
+.ach4
+.ad4der
+.af1t
+.al3t
+.am5at
+.an5c
+.ang4
+.ani5m
+.ant4
+.an3te
+.anti5s
+.ar5s
+.ar4tie
+.ar4ty
+.as3c
+.as1p
+.as1s
+.aster5
+.atom5
+.au1d
+.av4i
+.awn4
+.ba4g
+.ba5na
+.bas4e
+.ber4
+.be5ra
+.be3sm
+.be5sto
+.bri2
+.but4ti
+.cam4pe
+.can5c
+.capa5b
+.car5ol
+.ca4t
+.ce4la
+.ch4
+.chill5i
+.ci2
+.cit5r
+.co3e
+.co4r
+.cor5ner
+.de4moi
+.de3o
+.de3ra
+.de3ri
+.des4c
+.dictio5
+.do4t
+.du4c
+.dumb5
+.earth5
+.eas3i
+.eb4
+.eer4
+.eg2
+.el5d
+.el3em
+.enam3
+.en3g
+.en3s
+.eq5ui5t
+.er4ri
+.es3
+.eu3
+.eye5
+.fes3
+.for5mer
+.ga2
+.ge2
+.gen3t4
+.ge5og
+.gi5a
+.gi4b
+.go4r
+.hand5i
+.han5k
+.he2
+.hero5i
+.hes3
+.het3
+.hi3b
+.hi3er
+.hon5ey
+.hon3o
+.hov5
+.id4l
+.idol3
+.im3m
+.im5pin
+.in1
+.in3ci
+.ine2
+.in2k
+.in3s
+.ir5r
+.is4i
+.ju3r
+.la4cy
+.la4m
+.lat5er
+.lath5
+.le2
+.leg5e
+.len4
+.lep5
+.lev1
+.li4g
+.lig5a
+.li2n
+.li3o
+.li4t
+.mag5a5
+.mal5o
+.man5a
+.mar5ti
+.me2
+.mer3c
+.me5ter
+.mis1
+.mist5i
+.mon3e
+.mo3ro
+.mu5ta
+.muta5b
+.ni4c
+.od2
+.odd5
+.of5te
+.or5ato
+.or3c
+.or1d
+.or3t
+.os3
+.os4tl
+.oth3
+.out3
+.ped5al
+.pe5te
+.pe5tit
+.pi4e
+.pio5n
+.pi2t
+.pre3m
+.ra4c
+.ran4t
+.ratio5na
+.ree2
+.re5mit
+.res2
+.re5stat
+.ri4g
+.rit5u
+.ro4q
+.ros5t
+.row5d
+.ru4d
+.sci3e
+.self5
+.sell5
+.se2n
+.se5rie
+.sh2
+.si2
+.sing4
+.st4
+.sta5bl
+.sy2
+.ta4
+.te4
+.ten5an
+.th2
+.ti2
+.til4
+.tim5o5
+.ting4
+.tin5k
+.ton4a
+.to4p
+.top5i
+.tou5s
+.trib5ut
+.un1a
+.un3ce
+.under5
+.un1e
+.un5k
+.un5o
+.un3u
+.up3
+.ure3
+.us5a
+.ven4de
+.ve5ra
+.wil5i
+.ye4
+4ab.
+a5bal
+a5ban
+abe2
+ab5erd
+abi5a
+ab5it5ab
+ab5lat
+ab5o5liz
+4abr
+ab5rog
+ab3ul
+a4car
+ac5ard
+ac5aro
+a5ceou
+ac1er
+a5chet
+4a2ci
+a3cie
+ac1in
+a3cio
+ac5rob
+act5if
+ac3ul
+ac4um
+a2d
+ad4din
+ad5er.
+2adi
+a3dia
+ad3ica
+adi4er
+a3dio
+a3dit
+a5diu
+ad4le
+ad3ow
+ad5ran
+ad4su
+4adu
+a3duc
+ad5um
+ae4r
+aeri4e
+a2f
+aff4
+a4gab
+aga4n
+ag5ell
+age4o
+4ageu
+ag1i
+4ag4l
+ag1n
+a2go
+3agog
+ag3oni
+a5guer
+ag5ul
+a4gy
+a3ha
+a3he
+ah4l
+a3ho
+ai2
+a5ia
+a3ic.
+ai5ly
+a4i4n
+ain5in
+ain5o
+ait5en
+a1j
+ak1en
+al5ab
+al3ad
+a4lar
+4aldi
+2ale
+al3end
+a4lenti
+a5le5o
+al1i
+al4ia.
+ali4e
+al5lev
+4allic
+4alm
+a5log.
+a4ly.
+4alys
+5a5lyst
+5alyt
+3alyz
+4ama
+am5ab
+am3ag
+ama5ra
+am5asc
+a4matis
+a4m5ato
+am5era
+am3ic
+am5if
+am5ily
+am1in
+ami4no
+a2mo
+a5mon
+amor5i
+amp5en
+a2n
+an3age
+3analy
+a3nar
+an3arc
+anar4i
+a3nati
+4and
+ande4s
+an3dis
+an1dl
+an4dow
+a5nee
+a3nen
+an5est.
+a3neu
+2ang
+ang5ie
+an1gl
+a4n1ic
+a3nies
+an3i3f
+an4ime
+a5nimi
+a5nine
+an3io
+a3nip
+an3ish
+an3it
+a3niu
+an4kli
+5anniz
+ano4
+an5ot
+anoth5
+an2sa
+an4sco
+an4sn
+an2sp
+ans3po
+an4st
+an4sur
+antal4
+an4tie
+4anto
+an2tr
+an4tw
+an3ua
+an3ul
+a5nur
+4ao
+apar4
+ap5at
+ap5ero
+a3pher
+4aphi
+a4pilla
+ap5illar
+ap3in
+ap3ita
+a3pitu
+a2pl
+apoc5
+ap5ola
+apor5i
+apos3t
+aps5es
+a3pu
+aque5
+2a2r
+ar3act
+a5rade
+ar5adis
+ar3al
+a5ramete
+aran4g
+ara3p
+ar4at
+a5ratio
+ar5ativ
+a5rau
+ar5av4
+araw4
+arbal4
+ar4chan
+ar5dine
+ar4dr
+ar5eas
+a3ree
+ar3ent
+a5ress
+ar4fi
+ar4fl
+ar1i
+ar5ial
+ar3ian
+a3riet
+ar4im
+ar5inat
+ar3io
+ar2iz
+ar2mi
+ar5o5d
+a5roni
+a3roo
+ar2p
+ar3q
+arre4
+ar4sa
+ar2sh
+4as.
+as4ab
+as3ant
+ashi4
+a5sia.
+a3sib
+a3sic
+5a5si4t
+ask3i
+as4l
+a4soc
+as5ph
+as4sh
+as3ten
+as1tr
+asur5a
+a2ta
+at3abl
+at5ac
+at3alo
+at5ap
+ate5c
+at5ech
+at3ego
+at3en.
+at3era
+ater5n
+a5terna
+at3est
+at5ev
+4ath
+ath5em
+a5then
+at4ho
+ath5om
+4ati.
+a5tia
+at5i5b
+at1ic
+at3if
+ation5ar
+at3itu
+a4tog
+a2tom
+at5omiz
+a4top
+a4tos
+a1tr
+at5rop
+at4sk
+at4tag
+at5te
+at4th
+a2tu
+at5ua
+at5ue
+at3ul
+at3ura
+a2ty
+au4b
+augh3
+au3gu
+au4l2
+aun5d
+au3r
+au5sib
+aut5en
+au1th
+a2va
+av3ag
+a5van
+ave4no
+av3era
+av5ern
+av5ery
+av1i
+avi4er
+av3ig
+av5oc
+a1vor
+3away
+aw3i
+aw4ly
+aws4
+ax4ic
+ax4id
+ay5al
+aye4
+ays4
+azi4er
+azz5i
+5ba.
+bad5ger
+ba4ge
+bal1a
+ban5dag
+ban4e
+ban3i
+barbi5
+bari4a
+bas4si
+1bat
+ba4z
+2b1b
+b2be
+b3ber
+bbi4na
+4b1d
+4be.
+beak4
+beat3
+4be2d
+be3da
+be3de
+be3di
+be3gi
+be5gu
+1bel
+be1li
+be3lo
+4be5m
+be5nig
+be5nu
+4bes4
+be3sp
+be5str
+3bet
+bet5iz
+be5tr
+be3tw
+be3w
+be5yo
+2bf
+4b3h
+bi2b
+bi4d
+3bie
+bi5en
+bi4er
+2b3if
+1bil
+bi3liz
+bina5r4
+bin4d
+bi5net
+bi3ogr
+bi5ou
+bi2t
+3bi3tio
+bi3tr
+3bit5ua
+b5itz
+b1j
+bk4
+b2l2
+blath5
+b4le.
+blen4
+5blesp
+b3lis
+b4lo
+blun4t
+4b1m
+4b3n
+bne5g
+3bod
+bod3i
+bo4e
+bol3ic
+bom4bi
+bon4a
+bon5at
+3boo
+5bor.
+4b1ora
+bor5d
+5bore
+5bori
+5bos4
+b5ota
+both5
+bo4to
+bound3
+4bp
+4brit
+broth3
+2b5s2
+bsor4
+2bt
+bt4l
+b4to
+b3tr
+buf4fer
+bu4ga
+bu3li
+bumi4
+bu4n
+bunt4i
+bu3re
+bus5ie
+buss4e
+5bust
+4buta
+3butio
+b5uto
+b1v
+4b5w
+5by.
+bys4
+1ca
+cab3in
+ca1bl
+cach4
+ca5den
+4cag4
+2c5ah
+ca3lat
+cal4la
+call5in
+4calo
+can5d
+can4e
+can4ic
+can5is
+can3iz
+can4ty
+cany4
+ca5per
+car5om
+cast5er
+cas5tig
+4casy
+ca4th
+4cativ
+cav5al
+c3c
+ccha5
+cci4a
+ccompa5
+ccon4
+ccou3t
+2ce.
+4ced.
+4ceden
+3cei
+5cel.
+3cell
+1cen
+3cenc
+2cen4e
+4ceni
+3cent
+3cep
+ce5ram
+4cesa
+3cessi
+ces5si5b
+ces5t
+cet4
+c5e4ta
+cew4
+2ch
+4ch.
+4ch3ab
+5chanic
+ch5a5nis
+che2
+cheap3
+4ched
+che5lo
+3chemi
+ch5ene
+ch3er.
+ch3ers
+4ch1in
+5chine.
+ch5iness
+5chini
+5chio
+3chit
+chi2z
+3cho2
+ch4ti
+1ci
+3cia
+ci2a5b
+cia5r
+ci5c
+4cier
+5cific.
+4cii
+ci4la
+3cili
+2cim
+2cin
+c4ina
+3cinat
+cin3em
+c1ing
+c5ing.
+5cino
+cion4
+4cipe
+ci3ph
+4cipic
+4cista
+4cisti
+2c1it
+cit3iz
+5ciz
+ck1
+ck3i
+1c4l4
+4clar
+c5laratio
+5clare
+cle4m
+4clic
+clim4
+cly4
+c5n
+1co
+co5ag
+coe2
+2cog
+co4gr
+coi4
+co3inc
+col5i
+5colo
+col3or
+com5er
+con4a
+c4one
+con3g
+con5t
+co3pa
+cop3ic
+co4pl
+4corb
+coro3n
+cos4e
+cov1
+cove4
+cow5a
+coz5e
+co5zi
+c1q
+cras5t
+5crat.
+5cratic
+cre3at
+5cred
+4c3reta
+cre4v
+cri2
+cri5f
+c4rin
+cris4
+5criti
+cro4pl
+crop5o
+cros4e
+cru4d
+4c3s2
+2c1t
+cta4b
+ct5ang
+c5tant
+c2te
+c3ter
+c4ticu
+ctim3i
+ctu4r
+c4tw
+cud5
+c4uf
+c4ui
+cu5ity
+5culi
+cul4tis
+3cultu
+cu2ma
+c3ume
+cu4mi
+3cun
+cu3pi
+cu5py
+cur5a4b
+cu5ria
+1cus
+cuss4i
+3c4ut
+cu4tie
+4c5utiv
+4cutr
+1cy
+cze4
+1d2a
+5da.
+2d3a4b
+dach4
+4daf
+2dag
+da2m2
+dan3g
+dard5
+dark5
+4dary
+3dat
+4dativ
+4dato
+5dav4
+dav5e
+5day
+d1b
+d5c
+d1d4
+2de.
+deaf5
+deb5it
+de4bon
+decan4
+de4cil
+de5com
+2d1ed
+4dee.
+de5if
+deli4e
+del5i5q
+de5lo
+d4em
+5dem.
+3demic
+dem5ic.
+de5mil
+de4mons
+demor5
+1den
+de4nar
+de3no
+denti5f
+de3nu
+de1p
+de3pa
+depi4
+de2pu
+d3eq
+d4erh
+5derm
+dern5iz
+der5s
+des2
+d2es.
+de1sc
+de2s5o
+des3ti
+de3str
+de4su
+de1t
+de2to
+de1v
+dev3il
+4dey
+4d1f
+d4ga
+d3ge4t
+dg1i
+d2gy
+d1h2
+5di.
+1d4i3a
+dia5b
+di4cam
+d4ice
+3dict
+3did
+5di3en
+d1if
+di3ge
+di4lato
+d1in
+1dina
+3dine.
+5dini
+di5niz
+1dio
+dio5g
+di4pl
+dir2
+di1re
+dirt5i
+dis1
+5disi
+d4is3t
+d2iti
+1di1v
+d1j
+d5k2
+4d5la
+3dle.
+3dled
+3dles.
+4dless
+2d3lo
+4d5lu
+2dly
+d1m
+4d1n4
+1do
+3do.
+do5de
+5doe
+2d5of
+d4og
+do4la
+doli4
+do5lor
+dom5iz
+do3nat
+doni4
+doo3d
+dop4p
+d4or
+3dos
+4d5out
+do4v
+3dox
+d1p
+1dr
+drag5on
+4drai
+dre4
+drea5r
+5dren
+dri4b
+dril4
+dro4p
+4drow
+5drupli
+4dry
+2d1s2
+ds4p
+d4sw
+d4sy
+d2th
+1du
+d1u1a
+du2c
+d1uca
+duc5er
+4duct.
+4ducts
+du5el
+du4g
+d3ule
+dum4be
+du4n
+4dup
+du4pe
+d1v
+d1w
+d2y
+5dyn
+dy4se
+dys5p
+e1a4b
+e3act
+ead1
+ead5ie
+ea4ge
+ea5ger
+ea4l
+eal5er
+eal3ou
+eam3er
+e5and
+ear3a
+ear4c
+ear5es
+ear4ic
+ear4il
+ear5k
+ear2t
+eart3e
+ea5sp
+e3ass
+east3
+ea2t
+eat5en
+eath3i
+e5atif
+e4a3tu
+ea2v
+eav3en
+eav5i
+eav5o
+2e1b
+e4bel.
+e4bels
+e4ben
+e4bit
+e3br
+e4cad
+ecan5c
+ecca5
+e1ce
+ec5essa
+ec2i
+e4cib
+ec5ificat
+ec5ifie
+ec5ify
+ec3im
+eci4t
+e5cite
+e4clam
+e4clus
+e2col
+e4comm
+e4compe
+e4conc
+e2cor
+ec3ora
+eco5ro
+e1cr
+e4crem
+ec4tan
+ec4te
+e1cu
+e4cul
+ec3ula
+2e2da
+4ed3d
+e4d1er
+ede4s
+4edi
+e3dia
+ed3ib
+ed3ica
+ed3im
+ed1it
+edi5z
+4edo
+e4dol
+edon2
+e4dri
+e4dul
+ed5ulo
+ee2c
+eed3i
+ee2f
+eel3i
+ee4ly
+ee2m
+ee4na
+ee4p1
+ee2s4
+eest4
+ee4ty
+e5ex
+e1f
+e4f3ere
+1eff
+e4fic
+5efici
+efil4
+e3fine
+ef5i5nite
+3efit
+efor5es
+e4fuse.
+4egal
+eger4
+eg5ib
+eg4ic
+eg5ing
+e5git5
+eg5n
+e4go.
+e4gos
+eg1ul
+e5gur
+5egy
+e1h4
+eher4
+ei2
+e5ic
+ei5d
+eig2
+ei5gl
+e3imb
+e3inf
+e1ing
+e5inst
+eir4d
+eit3e
+ei3th
+e5ity
+e1j
+e4jud
+ej5udi
+eki4n
+ek4la
+e1la
+e4la.
+e4lac
+elan4d
+el5ativ
+e4law
+elaxa4
+e3lea
+el5ebra
+5elec
+e4led
+el3ega
+e5len
+e4l1er
+e1les
+el2f
+el2i
+e3libe
+e4l5ic.
+el3ica
+e3lier
+el5igib
+e5lim
+e4l3ing
+e3lio
+e2lis
+el5ish
+e3liv3
+4ella
+el4lab
+ello4
+e5loc
+el5og
+el3op.
+el2sh
+el4ta
+e5lud
+el5ug
+e4mac
+e4mag
+e5man
+em5ana
+em5b
+e1me
+e2mel
+e4met
+em3ica
+emi4e
+em5igra
+em1in2
+em5ine
+em3i3ni
+e4mis
+em5ish
+e5miss
+em3iz
+5emniz
+emo4g
+emoni5o
+em3pi
+e4mul
+em5ula
+emu3n
+e3my
+en5amo
+e4nant
+ench4er
+en3dic
+e5nea
+e5nee
+en3em
+en5ero
+en5esi
+en5est
+en3etr
+e3new
+en5ics
+e5nie
+e5nil
+e3nio
+en3ish
+en3it
+e5niu
+5eniz
+4enn
+4eno
+eno4g
+e4nos
+en3ov
+en4sw
+ent5age
+4enthes
+en3ua
+en5uf
+e3ny.
+4en3z
+e5of
+eo2g
+e4oi4
+e3ol
+eop3ar
+e1or
+eo3re
+eo5rol
+eos4
+e4ot
+eo4to
+e5out
+e5ow
+e2pa
+e3pai
+ep5anc
+e5pel
+e3pent
+ep5etitio
+ephe4
+e4pli
+e1po
+e4prec
+ep5reca
+e4pred
+ep3reh
+e3pro
+e4prob
+ep4sh
+ep5ti5b
+e4put
+ep5uta
+e1q
+equi3l
+e4q3ui3s
+er1a
+era4b
+4erand
+er3ar
+4erati.
+2erb
+er4bl
+er3ch
+er4che
+2ere.
+e3real
+ere5co
+ere3in
+er5el.
+er3emo
+er5ena
+er5ence
+4erene
+er3ent
+ere4q
+er5ess
+er3est
+eret4
+er1h
+er1i
+e1ria4
+5erick
+e3rien
+eri4er
+er3ine
+e1rio
+4erit
+er4iu
+eri4v
+e4riva
+er3m4
+er4nis
+4ernit
+5erniz
+er3no
+2ero
+er5ob
+e5roc
+ero4r
+er1ou
+er1s
+er3set
+ert3er
+4ertl
+er3tw
+4eru
+eru4t
+5erwau
+e1s4a
+e4sage.
+e4sages
+es2c
+e2sca
+es5can
+e3scr
+es5cu
+e1s2e
+e2sec
+es5ecr
+es5enc
+e4sert.
+e4serts
+e4serva
+4esh
+e3sha
+esh5en
+e1si
+e2sic
+e2sid
+es5iden
+es5igna
+e2s5im
+es4i4n
+esis4te
+esi4u
+e5skin
+es4mi
+e2sol
+es3olu
+e2son
+es5ona
+e1sp
+es3per
+es5pira
+es4pre
+2ess
+es4si4b
+estan4
+es3tig
+es5tim
+4es2to
+e3ston
+2estr
+e5stro
+estruc5
+e2sur
+es5urr
+es4w
+eta4b
+eten4d
+e3teo
+ethod3
+et1ic
+e5tide
+etin4
+eti4no
+e5tir
+e5titio
+et5itiv
+4etn
+et5ona
+e3tra
+e3tre
+et3ric
+et5rif
+et3rog
+et5ros
+et3ua
+et5ym
+et5z
+4eu
+e5un
+e3up
+eu3ro
+eus4
+eute4
+euti5l
+eu5tr
+eva2p5
+e2vas
+ev5ast
+e5vea
+ev3ell
+evel3o
+e5veng
+even4i
+ev1er
+e5verb
+e1vi
+ev3id
+evi4l
+e4vin
+evi4v
+e5voc
+e5vu
+e1wa
+e4wag
+e5wee
+e3wh
+ewil5
+ew3ing
+e3wit
+1exp
+5eyc
+5eye.
+eys4
+1fa
+fa3bl
+fab3r
+fa4ce
+4fag
+fain4
+fall5e
+4fa4ma
+fam5is
+5far
+far5th
+fa3ta
+fa3the
+4fato
+fault5
+4f5b
+4fd
+4fe.
+feas4
+feath3
+fe4b
+4feca
+5fect
+2fed
+fe3li
+fe4mo
+fen2d
+fend5e
+fer1
+5ferr
+fev4
+4f1f
+f4fes
+f4fie
+f5fin.
+f2f5is
+f4fly
+f2fy
+4fh
+1fi
+fi3a
+2f3ic.
+4f3ical
+f3ican
+4ficate
+f3icen
+fi3cer
+fic4i
+5ficia
+5ficie
+4fics
+fi3cu
+fi5del
+fight5
+fil5i
+fill5in
+4fily
+2fin
+5fina
+fin2d5
+fi2ne
+f1in3g
+fin4n
+fis4ti
+f4l2
+f5less
+flin4
+flo3re
+f2ly5
+4fm
+4fn
+1fo
+5fon
+fon4de
+fon4t
+fo2r
+fo5rat
+for5ay
+fore5t
+for4i
+fort5a
+fos5
+4f5p
+fra4t
+f5rea
+fres5c
+fri2
+fril4
+frol5
+2f3s
+2ft
+f4to
+f2ty
+3fu
+fu5el
+4fug
+fu4min
+fu5ne
+fu3ri
+fusi4
+fus4s
+4futa
+1fy
+1ga
+gaf4
+5gal.
+3gali
+ga3lo
+2gam
+ga5met
+g5amo
+gan5is
+ga3niz
+gani5za
+4gano
+gar5n4
+gass4
+gath3
+4gativ
+4gaz
+g3b
+gd4
+2ge.
+2ged
+geez4
+gel4in
+ge5lis
+ge5liz
+4gely
+1gen
+ge4nat
+ge5niz
+4geno
+4geny
+1geo
+ge3om
+g4ery
+5gesi
+geth5
+4geto
+ge4ty
+ge4v
+4g1g2
+g2ge
+g3ger
+gglu5
+ggo4
+gh3in
+gh5out
+gh4to
+5gi.
+1gi4a
+gia5r
+g1ic
+5gicia
+g4ico
+gien5
+5gies.
+gil4
+g3imen
+3g4in.
+gin5ge
+5g4ins
+5gio
+3gir
+gir4l
+g3isl
+gi4u
+5giv
+3giz
+gl2
+gla4
+glad5i
+5glas
+1gle
+gli4b
+g3lig
+3glo
+glo3r
+g1m
+g4my
+gn4a
+g4na.
+gnet4t
+g1ni
+g2nin
+g4nio
+g1no
+g4non
+1go
+3go.
+gob5
+5goe
+3g4o4g
+go3is
+gon2
+4g3o3na
+gondo5
+go3ni
+5goo
+go5riz
+gor5ou
+5gos.
+gov1
+g3p
+1gr
+4grada
+g4rai
+gran2
+5graph.
+g5rapher
+5graphic
+4graphy
+4gray
+gre4n
+4gress.
+4grit
+g4ro
+gruf4
+gs2
+g5ste
+gth3
+gu4a
+3guard
+2gue
+5gui5t
+3gun
+3gus
+4gu4t
+g3w
+1gy
+2g5y3n
+gy5ra
+h3ab4l
+hach4
+hae4m
+hae4t
+h5agu
+ha3la
+hala3m
+ha4m
+han4ci
+han4cy
+5hand.
+han4g
+hang5er
+hang5o
+h5a5niz
+han4k
+han4te
+hap3l
+hap5t
+ha3ran
+ha5ras
+har2d
+hard3e
+har4le
+harp5en
+har5ter
+has5s
+haun4
+5haz
+haz3a
+h1b
+1head
+3hear
+he4can
+h5ecat
+h4ed
+he5do5
+he3l4i
+hel4lis
+hel4ly
+h5elo
+hem4p
+he2n
+hena4
+hen5at
+heo5r
+hep5
+h4era
+hera3p
+her4ba
+here5a
+h3ern
+h5erou
+h3ery
+h1es
+he2s5p
+he4t
+het4ed
+heu4
+h1f
+h1h
+hi5an
+hi4co
+high5
+h4il2
+himer4
+h4ina
+hion4e
+hi4p
+hir4l
+hi3ro
+hir4p
+hir4r
+his3el
+his4s
+hith5er
+hi2v
+4hk
+4h1l4
+hlan4
+h2lo
+hlo3ri
+4h1m
+hmet4
+2h1n
+h5odiz
+h5ods
+ho4g
+hoge4
+hol5ar
+3hol4e
+ho4ma
+home3
+hon4a
+ho5ny
+3hood
+hoon4
+hor5at
+ho5ris
+hort3e
+ho5ru
+hos4e
+ho5sen
+hos1p
+1hous
+house3
+hov5el
+4h5p
+4hr4
+hree5
+hro5niz
+hro3po
+4h1s2
+h4sh
+h4tar
+ht1en
+ht5es
+h4ty
+hu4g
+hu4min
+hun5ke
+hun4t
+hus3t4
+hu4t
+h1w
+h4wart
+hy3pe
+hy3ph
+hy2s
+2i1a
+i2al
+iam4
+iam5ete
+i2an
+4ianc
+ian3i
+4ian4t
+ia5pe
+iass4
+i4ativ
+ia4tric
+i4atu
+ibe4
+ib3era
+ib5ert
+ib5ia
+ib3in
+ib5it.
+ib5ite
+i1bl
+ib3li
+i5bo
+i1br
+i2b5ri
+i5bun
+4icam
+5icap
+4icar
+i4car.
+i4cara
+icas5
+i4cay
+iccu4
+4iceo
+4ich
+2ici
+i5cid
+ic5ina
+i2cip
+ic3ipa
+i4cly
+i2c5oc
+4i1cr
+5icra
+i4cry
+ic4te
+ictu2
+ic4t3ua
+ic3ula
+ic4um
+ic5uo
+i3cur
+2id
+i4dai
+id5anc
+id5d
+ide3al
+ide4s
+i2di
+id5ian
+idi4ar
+i5die
+id3io
+idi5ou
+id1it
+id5iu
+i3dle
+i4dom
+id3ow
+i4dr
+i2du
+id5uo
+2ie4
+ied4e
+5ie5ga
+ield3
+ien5a4
+ien4e
+i5enn
+i3enti
+i1er.
+i3esc
+i1est
+i3et
+4if.
+if5ero
+iff5en
+if4fr
+4ific.
+i3fie
+i3fl
+4ift
+2ig
+iga5b
+ig3era
+ight3i
+4igi
+i3gib
+ig3il
+ig3in
+ig3it
+i4g4l
+i2go
+ig3or
+ig5ot
+i5gre
+igu5i
+ig1ur
+i3h
+4i5i4
+i3j
+4ik
+i1la
+il3a4b
+i4lade
+i2l5am
+ila5ra
+i3leg
+il1er
+ilev4
+il5f
+il1i
+il3ia
+il2ib
+il3io
+il4ist
+2ilit
+il2iz
+ill5ab
+4iln
+il3oq
+il4ty
+il5ur
+il3v
+i4mag
+im3age
+ima5ry
+imenta5r
+4imet
+im1i
+im5ida
+imi5le
+i5mini
+4imit
+im4ni
+i3mon
+i2mu
+im3ula
+2in.
+i4n3au
+4inav
+incel4
+in3cer
+4ind
+in5dling
+2ine
+i3nee
+iner4ar
+i5ness
+4inga
+4inge
+in5gen
+4ingi
+in5gling
+4ingo
+4ingu
+2ini
+i5ni.
+i4nia
+in3io
+in1is
+i5nite.
+5initio
+in3ity
+4ink
+4inl
+2inn
+2i1no
+i4no4c
+ino4s
+i4not
+2ins
+in3se
+insur5a
+2int.
+2in4th
+in1u
+i5nus
+4iny
+2io
+4io.
+ioge4
+io2gr
+i1ol
+io4m
+ion3at
+ion4ery
+ion3i
+io5ph
+ior3i
+i4os
+io5th
+i5oti
+io4to
+i4our
+2ip
+ipe4
+iphras4
+ip3i
+ip4ic
+ip4re4
+ip3ul
+i3qua
+iq5uef
+iq3uid
+iq3ui3t
+4ir
+i1ra
+ira4b
+i4rac
+ird5e
+ire4de
+i4ref
+i4rel4
+i4res
+ir5gi
+ir1i
+iri5de
+ir4is
+iri3tu
+5i5r2iz
+ir4min
+iro4g
+5iron.
+ir5ul
+2is.
+is5ag
+is3ar
+isas5
+2is1c
+is3ch
+4ise
+is3er
+3isf
+is5han
+is3hon
+ish5op
+is3ib
+isi4d
+i5sis
+is5itiv
+4is4k
+islan4
+4isms
+i2so
+iso5mer
+is1p
+is2pi
+is4py
+4is1s
+is4sal
+issen4
+is4ses
+is4ta.
+is1te
+is1ti
+ist4ly
+4istral
+i2su
+is5us
+4ita.
+ita4bi
+i4tag
+4ita5m
+i3tan
+i3tat
+2ite
+it3era
+i5teri
+it4es
+2ith
+i1ti
+4itia
+4i2tic
+it3ica
+5i5tick
+it3ig
+it5ill
+i2tim
+2itio
+4itis
+i4tism
+i2t5o5m
+4iton
+i4tram
+it5ry
+4itt
+it3uat
+i5tud
+it3ul
+4itz.
+i1u
+2iv
+iv3ell
+iv3en.
+i4v3er.
+i4vers.
+iv5il.
+iv5io
+iv1it
+i5vore
+iv3o3ro
+i4v3ot
+4i5w
+ix4o
+4iy
+4izar
+izi4
+5izont
+5ja
+jac4q
+ja4p
+1je
+jer5s
+4jestie
+4jesty
+jew3
+jo4p
+5judg
+3ka.
+k3ab
+k5ag
+kais4
+kal4
+k1b
+k2ed
+1kee
+ke4g
+ke5li
+k3en4d
+k1er
+kes4
+k3est.
+ke4ty
+k3f
+kh4
+k1i
+5ki.
+5k2ic
+k4ill
+kilo5
+k4im
+k4in.
+kin4de
+k5iness
+kin4g
+ki4p
+kis4
+k5ish
+kk4
+k1l
+4kley
+4kly
+k1m
+k5nes
+1k2no
+ko5r
+kosh4
+k3ou
+kro5n
+4k1s2
+k4sc
+ks4l
+k4sy
+k5t
+k1w
+lab3ic
+l4abo
+laci4
+l4ade
+la3dy
+lag4n
+lam3o
+3land
+lan4dl
+lan5et
+lan4te
+lar4g
+lar3i
+las4e
+la5tan
+4lateli
+4lativ
+4lav
+la4v4a
+2l1b
+lbin4
+4l1c2
+lce4
+l3ci
+2ld
+l2de
+ld4ere
+ld4eri
+ldi4
+ld5is
+l3dr
+l4dri
+le2a
+le4bi
+left5
+5leg.
+5legg
+le4mat
+lem5atic
+4len.
+3lenc
+5lene.
+1lent
+le3ph
+le4pr
+lera5b
+ler4e
+3lerg
+3l4eri
+l4ero
+les2
+le5sco
+5lesq
+3less
+5less.
+l3eva
+lev4er.
+lev4era
+lev4ers
+3ley
+4leye
+2lf
+l5fr
+4l1g4
+l5ga
+lgar3
+l4ges
+lgo3
+2l3h
+li4ag
+li2am
+liar5iz
+li4as
+li4ato
+li5bi
+5licio
+li4cor
+4lics
+4lict.
+l4icu
+l3icy
+l3ida
+lid5er
+3lidi
+lif3er
+l4iff
+li4fl
+5ligate
+3ligh
+li4gra
+3lik
+4l4i4l
+lim4bl
+lim3i
+li4mo
+l4im4p
+l4ina
+1l4ine
+lin3ea
+lin3i
+link5er
+li5og
+4l4iq
+lis4p
+l1it
+l2it.
+5litica
+l5i5tics
+liv3er
+l1iz
+4lj
+lka3
+l3kal
+lka4t
+l1l
+l4law
+l2le
+l5lea
+l3lec
+l3leg
+l3lel
+l3le4n
+l3le4t
+ll2i
+l2lin4
+l5lina
+ll4o
+lloqui5
+ll5out
+l5low
+2lm
+l5met
+lm3ing
+l4mod
+lmon4
+2l1n2
+3lo.
+lob5al
+lo4ci
+4lof
+3logic
+l5ogo
+3logu
+lom3er
+5long
+lon4i
+l3o3niz
+lood5
+5lope.
+lop3i
+l3opm
+lora4
+lo4rato
+lo5rie
+lor5ou
+5los.
+los5et
+5losophiz
+5losophy
+los4t
+lo4ta
+loun5d
+2lout
+4lov
+2lp
+lpa5b
+l3pha
+l5phi
+lp5ing
+l3pit
+l4pl
+l5pr
+4l1r
+2l1s2
+l4sc
+l2se
+l4sie
+4lt
+lt5ag
+ltane5
+l1te
+lten4
+ltera4
+lth3i
+l5ties.
+ltis4
+l1tr
+ltu2
+ltur3a
+lu5a
+lu3br
+luch4
+lu3ci
+lu3en
+luf4
+lu5id
+lu4ma
+5lumi
+l5umn.
+5lumnia
+lu3o
+luo3r
+4lup
+luss4
+lus3te
+1lut
+l5ven
+l5vet4
+2l1w
+1ly
+4lya
+4lyb
+ly5me
+ly3no
+2lys4
+l5yse
+1ma
+2mab
+ma2ca
+ma5chine
+ma4cl
+mag5in
+5magn
+2mah
+maid5
+4mald
+ma3lig
+ma5lin
+mal4li
+mal4ty
+5mania
+man5is
+man3iz
+4map
+ma5rine.
+ma5riz
+mar4ly
+mar3v
+ma5sce
+mas4e
+mas1t
+5mate
+math3
+ma3tis
+4matiza
+4m1b
+mba4t5
+m5bil
+m4b3ing
+mbi4v
+4m5c
+4me.
+2med
+4med.
+5media
+me3die
+m5e5dy
+me2g
+mel5on
+mel4t
+me2m
+mem1o3
+1men
+men4a
+men5ac
+men4de
+4mene
+men4i
+mens4
+mensu5
+3ment
+men4te
+me5on
+m5ersa
+2mes
+3mesti
+me4ta
+met3al
+me1te
+me5thi
+m4etr
+5metric
+me5trie
+me3try
+me4v
+4m1f
+2mh
+5mi.
+mi3a
+mid4a
+mid4g
+mig4
+3milia
+m5i5lie
+m4ill
+min4a
+3mind
+m5inee
+m4ingl
+min5gli
+m5ingly
+min4t
+m4inu
+miot4
+m2is
+mis4er.
+mis5l
+mis4ti
+m5istry
+4mith
+m2iz
+4mk
+4m1l
+m1m
+mma5ry
+4m1n
+mn4a
+m4nin
+mn4o
+1mo
+4mocr
+5mocratiz
+mo2d1
+mo4go
+mois2
+moi5se
+4mok
+mo5lest
+mo3me
+mon5et
+mon5ge
+moni3a
+mon4ism
+mon4ist
+mo3niz
+monol4
+mo3ny.
+mo2r
+4mora.
+mos2
+mo5sey
+mo3sp
+moth3
+m5ouf
+3mous
+mo2v
+4m1p
+mpara5
+mpa5rab
+mpar5i
+m3pet
+mphas4
+m2pi
+mpi4a
+mp5ies
+m4p1in
+m5pir
+mp5is
+mpo3ri
+mpos5ite
+m4pous
+mpov5
+mp4tr
+m2py
+4m3r
+4m1s2
+m4sh
+m5si
+4mt
+1mu
+mula5r4
+5mult
+multi3
+3mum
+mun2
+4mup
+mu4u
+4mw
+1na
+2n1a2b
+n4abu
+4nac.
+na4ca
+n5act
+nag5er.
+nak4
+na4li
+na5lia
+4nalt
+na5mit
+n2an
+nanci4
+nan4it
+nank4
+nar3c
+4nare
+nar3i
+nar4l
+n5arm
+n4as
+nas4c
+nas5ti
+n2at
+na3tal
+nato5miz
+n2au
+nau3se
+3naut
+nav4e
+4n1b4
+ncar5
+n4ces.
+n3cha
+n5cheo
+n5chil
+n3chis
+nc1in
+nc4it
+ncour5a
+n1cr
+n1cu
+n4dai
+n5dan
+n1de
+nd5est.
+ndi4b
+n5d2if
+n1dit
+n3diz
+n5duc
+ndu4r
+nd2we
+2ne.
+n3ear
+ne2b
+neb3u
+ne2c
+5neck
+2ned
+ne4gat
+neg5ativ
+5nege
+ne4la
+nel5iz
+ne5mi
+ne4mo
+1nen
+4nene
+3neo
+ne4po
+ne2q
+n1er
+nera5b
+n4erar
+n2ere
+n4er5i
+ner4r
+1nes
+2nes.
+4nesp
+2nest
+4nesw
+3netic
+ne4v
+n5eve
+ne4w
+n3f
+n4gab
+n3gel
+nge4n4e
+n5gere
+n3geri
+ng5ha
+n3gib
+ng1in
+n5git
+n4gla
+ngov4
+ng5sh
+n1gu
+n4gum
+n2gy
+4n1h4
+nha4
+nhab3
+nhe4
+3n4ia
+ni3an
+ni4ap
+ni3ba
+ni4bl
+ni4d
+ni5di
+ni4er
+ni2fi
+ni5ficat
+n5igr
+nik4
+n1im
+ni3miz
+n1in
+5nine.
+nin4g
+ni4o
+5nis.
+nis4ta
+n2it
+n4ith
+3nitio
+n3itor
+ni3tr
+n1j
+4nk2
+n5kero
+n3ket
+nk3in
+n1kl
+4n1l
+n5m
+nme4
+nmet4
+4n1n2
+nne4
+nni3al
+nni4v
+nob4l
+no3ble
+n5ocl
+4n3o2d
+3noe
+4nog
+noge4
+nois5i
+no5l4i
+5nologis
+3nomic
+n5o5miz
+no4mo
+no3my
+no4n
+non4ag
+non5i
+n5oniz
+4nop
+5nop5o5li
+nor5ab
+no4rary
+4nosc
+nos4e
+nos5t
+no5ta
+1nou
+3noun
+nov3el3
+nowl3
+n1p4
+npi4
+npre4c
+n1q
+n1r
+nru4
+2n1s2
+ns5ab
+nsati4
+ns4c
+n2se
+n4s3es
+nsid1
+nsig4
+n2sl
+ns3m
+n4soc
+ns4pe
+n5spi
+nsta5bl
+n1t
+nta4b
+nter3s
+nt2i
+n5tib
+nti4er
+nti2f
+n3tine
+n4t3ing
+nti4p
+ntrol5li
+nt4s
+ntu3me
+nu1a
+nu4d
+nu5en
+nuf4fe
+n3uin
+3nu3it
+n4um
+nu1me
+n5umi
+3nu4n
+n3uo
+nu3tr
+n1v2
+n1w4
+nym4
+nyp4
+4nz
+n3za
+4oa
+oad3
+o5a5les
+oard3
+oas4e
+oast5e
+oat5i
+ob3a3b
+o5bar
+obe4l
+o1bi
+o2bin
+ob5ing
+o3br
+ob3ul
+o1ce
+och4
+o3chet
+ocif3
+o4cil
+o4clam
+o4cod
+oc3rac
+oc5ratiz
+ocre3
+5ocrit
+octor5a
+oc3ula
+o5cure
+od5ded
+od3ic
+odi3o
+o2do4
+odor3
+od5uct.
+od5ucts
+o4el
+o5eng
+o3er
+oe4ta
+o3ev
+o2fi
+of5ite
+ofit4t
+o2g5a5r
+og5ativ
+o4gato
+o1ge
+o5gene
+o5geo
+o4ger
+o3gie
+1o1gis
+og3it
+o4gl
+o5g2ly
+3ogniz
+o4gro
+ogu5i
+1ogy
+2ogyn
+o1h2
+ohab5
+oi2
+oic3es
+oi3der
+oiff4
+oig4
+oi5let
+o3ing
+oint5er
+o5ism
+oi5son
+oist5en
+oi3ter
+o5j
+2ok
+o3ken
+ok5ie
+o1la
+o4lan
+olass4
+ol2d
+old1e
+ol3er
+o3lesc
+o3let
+ol4fi
+ol2i
+o3lia
+o3lice
+ol5id.
+o3li4f
+o5lil
+ol3ing
+o5lio
+o5lis.
+ol3ish
+o5lite
+o5litio
+o5liv
+olli4e
+ol5ogiz
+olo4r
+ol5pl
+ol2t
+ol3ub
+ol3ume
+ol3un
+o5lus
+ol2v
+o2ly
+om5ah
+oma5l
+om5atiz
+om2be
+om4bl
+o2me
+om3ena
+om5erse
+o4met
+om5etry
+o3mia
+om3ic.
+om3ica
+o5mid
+om1in
+o5mini
+5ommend
+omo4ge
+o4mon
+om3pi
+ompro5
+o2n
+on1a
+on4ac
+o3nan
+on1c
+3oncil
+2ond
+on5do
+o3nen
+on5est
+on4gu
+on1ic
+o3nio
+on1is
+o5niu
+on3key
+on4odi
+on3omy
+on3s
+onspi4
+onspir5a
+onsu4
+onten4
+on3t4i
+ontif5
+on5um
+onva5
+oo2
+ood5e
+ood5i
+oo4k
+oop3i
+o3ord
+oost5
+o2pa
+ope5d
+op1er
+3opera
+4operag
+2oph
+o5phan
+o5pher
+op3ing
+o3pit
+o5pon
+o4posi
+o1pr
+op1u
+opy5
+o1q
+o1ra
+o5ra.
+o4r3ag
+or5aliz
+or5ange
+ore5a
+o5real
+or3ei
+ore5sh
+or5est.
+orew4
+or4gu
+4o5ria
+or3ica
+o5ril
+or1in
+o1rio
+or3ity
+o3riu
+or2mi
+orn2e
+o5rof
+or3oug
+or5pe
+3orrh
+or4se
+ors5en
+orst4
+or3thi
+or3thy
+or4ty
+o5rum
+o1ry
+os3al
+os2c
+os4ce
+o3scop
+4oscopi
+o5scr
+os4i4e
+os5itiv
+os3ito
+os3ity
+osi4u
+os4l
+o2so
+os4pa
+os4po
+os2ta
+o5stati
+os5til
+os5tit
+o4tan
+otele4g
+ot3er.
+ot5ers
+o4tes
+4oth
+oth5esi
+oth3i4
+ot3ic.
+ot5ica
+o3tice
+o3tif
+o3tis
+oto5s
+ou2
+ou3bl
+ouch5i
+ou5et
+ou4l
+ounc5er
+oun2d
+ou5v
+ov4en
+over4ne
+over3s
+ov4ert
+o3vis
+oviti4
+o5v4ol
+ow3der
+ow3el
+ow5est
+ow1i
+own5i
+o4wo
+oy1a
+1pa
+pa4ca
+pa4ce
+pac4t
+p4ad
+5pagan
+p3agat
+p4ai
+pain4
+p4al
+pan4a
+pan3el
+pan4ty
+pa3ny
+pa1p
+pa4pu
+para5bl
+par5age
+par5di
+3pare
+par5el
+p4a4ri
+par4is
+pa2te
+pa5ter
+5pathic
+pa5thy
+pa4tric
+pav4
+3pay
+4p1b
+pd4
+4pe.
+3pe4a
+pear4l
+pe2c
+2p2ed
+3pede
+3pedi
+pedia4
+ped4ic
+p4ee
+pee4d
+pek4
+pe4la
+peli4e
+pe4nan
+p4enc
+pen4th
+pe5on
+p4era.
+pera5bl
+p4erag
+p4eri
+peri5st
+per4mal
+perme5
+p4ern
+per3o
+per3ti
+pe5ru
+per1v
+pe2t
+pe5ten
+pe5tiz
+4pf
+4pg
+4ph.
+phar5i
+phe3no
+ph4er
+ph4es.
+ph1ic
+5phie
+ph5ing
+5phisti
+3phiz
+ph2l
+3phob
+3phone
+5phoni
+pho4r
+4phs
+ph3t
+5phu
+1phy
+pi3a
+pian4
+pi4cie
+pi4cy
+p4id
+p5ida
+pi3de
+5pidi
+3piec
+pi3en
+pi4grap
+pi3lo
+pi2n
+p4in.
+pind4
+p4ino
+3pi1o
+pion4
+p3ith
+pi5tha
+pi2tu
+2p3k2
+1p2l2
+3plan
+plas5t
+pli3a
+pli5er
+4plig
+pli4n
+ploi4
+plu4m
+plum4b
+4p1m
+2p3n
+po4c
+5pod.
+po5em
+po3et5
+5po4g
+poin2
+5point
+poly5t
+po4ni
+po4p
+1p4or
+po4ry
+1pos
+pos1s
+p4ot
+po4ta
+5poun
+4p1p
+ppa5ra
+p2pe
+p4ped
+p5pel
+p3pen
+p3per
+p3pet
+ppo5site
+pr2
+pray4e
+5preci
+pre5co
+pre3em
+pref5ac
+pre4la
+pre3r
+p3rese
+3press
+pre5ten
+pre3v
+5pri4e
+prin4t3
+pri4s
+pris3o
+p3roca
+prof5it
+pro3l
+pros3e
+pro1t
+2p1s2
+p2se
+ps4h
+p4sib
+2p1t
+pt5a4b
+p2te
+p2th
+pti3m
+ptu4r
+p4tw
+pub3
+pue4
+puf4
+pul3c
+pu4m
+pu2n
+pur4r
+5pus
+pu2t
+5pute
+put3er
+pu3tr
+put4ted
+put4tin
+p3w
+qu2
+qua5v
+2que.
+3quer
+3quet
+2rab
+ra3bi
+rach4e
+r5acl
+raf5fi
+raf4t
+r2ai
+ra4lo
+ram3et
+r2ami
+rane5o
+ran4ge
+r4ani
+ra5no
+rap3er
+3raphy
+rar5c
+rare4
+rar5ef
+4raril
+r2as
+ration4
+rau4t
+ra5vai
+rav3el
+ra5zie
+r1b
+r4bab
+r4bag
+rbi2
+rbi4f
+r2bin
+r5bine
+rb5ing.
+rb4o
+r1c
+r2ce
+rcen4
+r3cha
+rch4er
+r4ci4b
+rc4it
+rcum3
+r4dal
+rd2i
+rdi4a
+rdi4er
+rdin4
+rd3ing
+2re.
+re1al
+re3an
+re5arr
+5reav
+re4aw
+r5ebrat
+rec5oll
+rec5ompe
+re4cre
+2r2ed
+re1de
+re3dis
+red5it
+re4fac
+re2fe
+re5fer.
+re3fi
+re4fy
+reg3is
+re5it
+re1li
+re5lu
+r4en4ta
+ren4te
+re1o
+re5pin
+re4posi
+re1pu
+r1er4
+r4eri
+rero4
+re5ru
+r4es.
+re4spi
+ress5ib
+res2t
+re5stal
+re3str
+re4ter
+re4ti4z
+re3tri
+reu2
+re5uti
+rev2
+re4val
+rev3el
+r5ev5er.
+re5vers
+re5vert
+re5vil
+rev5olu
+re4wh
+r1f
+rfu4
+r4fy
+rg2
+rg3er
+r3get
+r3gic
+rgi4n
+rg3ing
+r5gis
+r5git
+r1gl
+rgo4n
+r3gu
+rh4
+4rh.
+4rhal
+ri3a
+ria4b
+ri4ag
+r4ib
+rib3a
+ric5as
+r4ice
+4rici
+5ricid
+ri4cie
+r4ico
+rid5er
+ri3enc
+ri3ent
+ri1er
+ri5et
+rig5an
+5rigi
+ril3iz
+5riman
+rim5i
+3rimo
+rim4pe
+r2ina
+5rina.
+rin4d
+rin4e
+rin4g
+ri1o
+5riph
+riph5e
+ri2pl
+rip5lic
+r4iq
+r2is
+r4is.
+ris4c
+r3ish
+ris4p
+ri3ta3b
+r5ited.
+rit5er.
+rit5ers
+rit3ic
+ri2tu
+rit5ur
+riv5el
+riv3et
+riv3i
+r3j
+r3ket
+rk4le
+rk4lin
+r1l
+rle4
+r2led
+r4lig
+r4lis
+rl5ish
+r3lo4
+r1m
+rma5c
+r2me
+r3men
+rm5ers
+rm3ing
+r4ming.
+r4mio
+r3mit
+r4my
+r4nar
+r3nel
+r4ner
+r5net
+r3ney
+r5nic
+r1nis4
+r3nit
+r3niv
+rno4
+r4nou
+r3nu
+rob3l
+r2oc
+ro3cr
+ro4e
+ro1fe
+ro5fil
+rok2
+ro5ker
+5role.
+rom5ete
+rom4i
+rom4p
+ron4al
+ron4e
+ro5n4is
+ron4ta
+1room
+5root
+ro3pel
+rop3ic
+ror3i
+ro5ro
+ros5per
+ros4s
+ro4the
+ro4ty
+ro4va
+rov5el
+rox5
+r1p
+r4pea
+r5pent
+rp5er.
+r3pet
+rp4h4
+rp3ing
+r3po
+r1r4
+rre4c
+rre4f
+r4reo
+rre4st
+rri4o
+rri4v
+rron4
+rros4
+rrys4
+4rs2
+r1sa
+rsa5ti
+rs4c
+r2se
+r3sec
+rse4cr
+rs5er.
+rs3es
+rse5v2
+r1sh
+r5sha
+r1si
+r4si4b
+rson3
+r1sp
+r5sw
+rtach4
+r4tag
+r3teb
+rten4d
+rte5o
+r1ti
+rt5ib
+rti4d
+r4tier
+r3tig
+rtil3i
+rtil4l
+r4tily
+r4tist
+r4tiv
+r3tri
+rtroph4
+rt4sh
+ru3a
+ru3e4l
+ru3en
+ru4gl
+ru3in
+rum3pl
+ru2n
+runk5
+run4ty
+r5usc
+ruti5n
+rv4e
+rvel4i
+r3ven
+rv5er.
+r5vest
+r3vey
+r3vic
+rvi4v
+r3vo
+r1w
+ry4c
+5rynge
+ry3t
+sa2
+2s1ab
+5sack
+sac3ri
+s3act
+5sai
+salar4
+sal4m
+sa5lo
+sal4t
+3sanc
+san4de
+s1ap
+sa5ta
+5sa3tio
+sat3u
+sau4
+sa5vor
+5saw
+4s5b
+scan4t5
+sca4p
+scav5
+s4ced
+4scei
+s4ces
+sch2
+s4cho
+3s4cie
+5scin4d
+scle5
+s4cli
+scof4
+4scopy
+scour5a
+s1cu
+4s5d
+4se.
+se4a
+seas4
+sea5w
+se2c3o
+3sect
+4s4ed
+se4d4e
+s5edl
+se2g
+seg3r
+5sei
+se1le
+5self
+5selv
+4seme
+se4mol
+sen5at
+4senc
+sen4d
+s5ened
+sen5g
+s5enin
+4sentd
+4sentl
+sep3a3
+4s1er.
+s4erl
+ser4o
+4servo
+s1e4s
+se5sh
+ses5t
+5se5um
+5sev
+sev3en
+sew4i
+5sex
+4s3f
+2s3g
+s2h
+2sh.
+sh1er
+5shev
+sh1in
+sh3io
+3ship
+shiv5
+sho4
+sh5old
+shon3
+shor4
+short5
+4shw
+si1b
+s5icc
+3side.
+5sides
+5sidi
+si5diz
+4signa
+sil4e
+4sily
+2s1in
+s2ina
+5sine.
+s3ing
+1sio
+5sion
+sion5a
+si2r
+sir5a
+1sis
+3sitio
+5siu
+1siv
+5siz
+sk2
+4ske
+s3ket
+sk5ine
+sk5ing
+s1l2
+s3lat
+s2le
+slith5
+2s1m
+s3ma
+small3
+sman3
+smel4
+s5men
+5smith
+smol5d4
+s1n4
+1so
+so4ce
+soft3
+so4lab
+sol3d2
+so3lic
+5solv
+3som
+3s4on.
+sona4
+son4g
+s4op
+5sophic
+s5ophiz
+s5ophy
+sor5c
+sor5d
+4sov
+so5vi
+2spa
+5spai
+spa4n
+spen4d
+2s5peo
+2sper
+s2phe
+3spher
+spho5
+spil4
+sp5ing
+4spio
+s4ply
+s4pon
+spor4
+4spot
+squal4l
+s1r
+2ss
+s1sa
+ssas3
+s2s5c
+s3sel
+s5seng
+s4ses.
+s5set
+s1si
+s4sie
+ssi4er
+ss5ily
+s4sl
+ss4li
+s4sn
+sspend4
+ss2t
+ssur5a
+ss5w
+2st.
+s2tag
+s2tal
+stam4i
+5stand
+s4ta4p
+5stat.
+s4ted
+stern5i
+s5tero
+ste2w
+stew5a
+s3the
+st2i
+s4ti.
+s5tia
+s1tic
+5stick
+s4tie
+s3tif
+st3ing
+5stir
+s1tle
+5stock
+stom3a
+5stone
+s4top
+3store
+st4r
+s4trad
+5stratu
+s4tray
+s4trid
+4stry
+4st3w
+s2ty
+1su
+su1al
+su4b3
+su2g3
+su5is
+suit3
+s4ul
+su2m
+sum3i
+su2n
+su2r
+4sv
+sw2
+4swo
+s4y
+4syc
+3syl
+syn5o
+sy5rin
+1ta
+3ta.
+2tab
+ta5bles
+5taboliz
+4taci
+ta5do
+4taf4
+tai5lo
+ta2l
+ta5la
+tal5en
+tal3i
+4talk
+tal4lis
+ta5log
+ta5mo
+tan4de
+tanta3
+ta5per
+ta5pl
+tar4a
+4tarc
+4tare
+ta3riz
+tas4e
+ta5sy
+4tatic
+ta4tur
+taun4
+tav4
+2taw
+tax4is
+2t1b
+4tc
+t4ch
+tch5et
+4t1d
+4te.
+tead4i
+4teat
+tece4
+5tect
+2t1ed
+te5di
+1tee
+teg4
+te5ger
+te5gi
+3tel.
+teli4
+5tels
+te2ma2
+tem3at
+3tenan
+3tenc
+3tend
+4tenes
+1tent
+ten4tag
+1teo
+te4p
+te5pe
+ter3c
+5ter3d
+1teri
+ter5ies
+ter3is
+teri5za
+5ternit
+ter5v
+4tes.
+4tess
+t3ess.
+teth5e
+3teu
+3tex
+4tey
+2t1f
+4t1g
+2th.
+than4
+th2e
+4thea
+th3eas
+the5at
+the3is
+3thet
+th5ic.
+th5ica
+4thil
+5think
+4thl
+th5ode
+5thodic
+4thoo
+thor5it
+tho5riz
+2ths
+1tia
+ti4ab
+ti4ato
+2ti2b
+4tick
+t4ico
+t4ic1u
+5tidi
+3tien
+tif2
+ti5fy
+2tig
+5tigu
+till5in
+1tim
+4timp
+tim5ul
+2t1in
+t2ina
+3tine.
+3tini
+1tio
+ti5oc
+tion5ee
+5tiq
+ti3sa
+3tise
+tis4m
+ti5so
+tis4p
+5tistica
+ti3tl
+ti4u
+1tiv
+tiv4a
+1tiz
+ti3za
+ti3zen
+2tl
+t5la
+tlan4
+3tle.
+3tled
+3tles.
+t5let.
+t5lo
+4t1m
+tme4
+2t1n2
+1to
+to3b
+to5crat
+4todo
+2tof
+to2gr
+to5ic
+to2ma
+tom4b
+to3my
+ton4ali
+to3nat
+4tono
+4tony
+to2ra
+to3rie
+tor5iz
+tos2
+5tour
+4tout
+to3war
+4t1p
+1tra
+tra3b
+tra5ch
+traci4
+trac4it
+trac4te
+tras4
+tra5ven
+trav5es5
+tre5f
+tre4m
+trem5i
+5tria
+tri5ces
+5tricia
+4trics
+2trim
+tri4v
+tro5mi
+tron5i
+4trony
+tro5phe
+tro3sp
+tro3v
+tru5i
+trus4
+4t1s2
+t4sc
+tsh4
+t4sw
+4t3t2
+t4tes
+t5to
+ttu4
+1tu
+tu1a
+tu3ar
+tu4bi
+tud2
+4tue
+4tuf4
+5tu3i
+3tum
+tu4nis
+2t3up.
+3ture
+5turi
+tur3is
+tur5o
+tu5ry
+3tus
+4tv
+tw4
+4t1wa
+twis4
+4two
+1ty
+4tya
+2tyl
+type3
+ty5ph
+4tz
+tz4e
+4uab
+uac4
+ua5na
+uan4i
+uar5ant
+uar2d
+uar3i
+uar3t
+u1at
+uav4
+ub4e
+u4bel
+u3ber
+u4bero
+u1b4i
+u4b5ing
+u3ble.
+u3ca
+uci4b
+uc4it
+ucle3
+u3cr
+u3cu
+u4cy
+ud5d
+ud3er
+ud5est
+udev4
+u1dic
+ud3ied
+ud3ies
+ud5is
+u5dit
+u4don
+ud4si
+u4du
+u4ene
+uens4
+uen4te
+uer4il
+3ufa
+u3fl
+ugh3en
+ug5in
+2ui2
+uil5iz
+ui4n
+u1ing
+uir4m
+uita4
+uiv3
+uiv4er.
+u5j
+4uk
+u1la
+ula5b
+u5lati
+ulch4
+5ulche
+ul3der
+ul4e
+u1len
+ul4gi
+ul2i
+u5lia
+ul3ing
+ul5ish
+ul4lar
+ul4li4b
+ul4lis
+4ul3m
+u1l4o
+4uls
+uls5es
+ul1ti
+ultra3
+4ultu
+u3lu
+ul5ul
+ul5v
+um5ab
+um4bi
+um4bly
+u1mi
+u4m3ing
+umor5o
+um2p
+unat4
+u2ne
+un4er
+u1ni
+un4im
+u2nin
+un5ish
+uni3v
+un3s4
+un4sw
+unt3ab
+un4ter.
+un4tes
+unu4
+un5y
+un5z
+u4ors
+u5os
+u1ou
+u1pe
+uper5s
+u5pia
+up3ing
+u3pl
+up3p
+upport5
+upt5ib
+uptu4
+u1ra
+4ura.
+u4rag
+u4ras
+ur4be
+urc4
+ur1d
+ure5at
+ur4fer
+ur4fr
+u3rif
+uri4fic
+ur1in
+u3rio
+u1rit
+ur3iz
+ur2l
+url5ing.
+ur4no
+uros4
+ur4pe
+ur4pi
+urs5er
+ur5tes
+ur3the
+urti4
+ur4tie
+u3ru
+2us
+u5sad
+u5san
+us4ap
+usc2
+us3ci
+use5a
+u5sia
+u3sic
+us4lin
+us1p
+us5sl
+us5tere
+us1tr
+u2su
+usur4
+uta4b
+u3tat
+4ute.
+4utel
+4uten
+uten4i
+4u1t2i
+uti5liz
+u3tine
+ut3ing
+ution5a
+u4tis
+5u5tiz
+u4t1l
+ut5of
+uto5g
+uto5matic
+u5ton
+u4tou
+uts4
+u3u
+uu4m
+u1v2
+uxu3
+uz4e
+1va
+5va.
+2v1a4b
+vac5il
+vac3u
+vag4
+va4ge
+va5lie
+val5o
+val1u
+va5mo
+va5niz
+va5pi
+var5ied
+3vat
+4ve.
+4ved
+veg3
+v3el.
+vel3li
+ve4lo
+v4ely
+ven3om
+v5enue
+v4erd
+5vere.
+v4erel
+v3eren
+ver5enc
+v4eres
+ver3ie
+vermi4n
+3verse
+ver3th
+v4e2s
+4ves.
+ves4te
+ve4te
+vet3er
+ve4ty
+vi5ali
+5vian
+5vide.
+5vided
+4v3iden
+5vides
+5vidi
+v3if
+vi5gn
+vik4
+2vil
+5vilit
+v3i3liz
+v1in
+4vi4na
+v2inc
+vin5d
+4ving
+vio3l
+v3io4r
+vi1ou
+vi4p
+vi5ro
+vis3it
+vi3so
+vi3su
+4viti
+vit3r
+4vity
+3viv
+5vo.
+voi4
+3vok
+vo4la
+v5ole
+5volt
+3volv
+vom5i
+vor5ab
+vori4
+vo4ry
+vo4ta
+4votee
+4vv4
+v4y
+w5abl
+2wac
+wa5ger
+wag5o
+wait5
+w5al.
+wam4
+war4t
+was4t
+wa1te
+wa5ver
+w1b
+wea5rie
+weath3
+wed4n
+weet3
+wee5v
+wel4l
+w1er
+west3
+w3ev
+whi4
+wi2
+wil2
+will5in
+win4de
+win4g
+wir4
+3wise
+with3
+wiz5
+w4k
+wl4es
+wl3in
+w4no
+1wo2
+wom1
+wo5ven
+w5p
+wra4
+wri4
+writa4
+w3sh
+ws4l
+ws4pe
+w5s4t
+4wt
+wy4
+x1a
+xac5e
+x4ago
+xam3
+x4ap
+xas5
+x3c2
+x1e
+xe4cuto
+x2ed
+xer4i
+xe5ro
+x1h
+xhi2
+xhil5
+xhu4
+x3i
+xi5a
+xi5c
+xi5di
+x4ime
+xi5miz
+x3o
+x4ob
+x3p
+xpan4d
+xpecto5
+xpe3d
+x1t2
+x3ti
+x1u
+xu3a
+xx4
+y5ac
+3yar4
+y5at
+y1b
+y1c
+y2ce
+yc5er
+y3ch
+ych4e
+ycom4
+ycot4
+y1d
+y5ee
+y1er
+y4erf
+yes4
+ye4t
+y5gi
+4y3h
+y1i
+y3la
+ylla5bl
+y3lo
+y5lu
+ymbol5
+yme4
+ympa3
+yn3chr
+yn5d
+yn5g
+yn5ic
+5ynx
+y1o4
+yo5d
+y4o5g
+yom4
+yo5net
+y4ons
+y4os
+y4ped
+yper5
+yp3i
+y3po
+y4poc
+yp2ta
+y5pu
+yra5m
+yr5ia
+y3ro
+yr4r
+ys4c
+y3s2e
+ys3ica
+ys3io
+3ysis
+y4so
+yss4
+ys1t
+ys3ta
+ysur4
+y3thin
+yt3ic
+y1w
+za1
+z5a2b
+zar2
+4zb
+2ze
+ze4n
+ze4p
+z1er
+ze3ro
+zet4
+2z1i
+z4il
+z4is
+5zl
+4zm
+1zo
+zo4m
+zo5ol
+zte4
+4z1z2
+z4zy
+}
+\hyphenation{ % Do NOT make any alterations to this list! --- DEK
+as-so-ciate
+as-so-ciates
+dec-li-na-tion
+oblig-a-tory
+phil-an-thropic
+present
+presents
+project
+projects
+reci-procity
+re-cog-ni-zance
+ref-or-ma-tion
+ret-ri-bu-tion
+ta-ble
+} \ No newline at end of file
diff --git a/macros/inrstex/inrstex/inrs.scr b/macros/inrstex/inrstex/inrs.scr
new file mode 100644
index 0000000000..c25ef7a79a
--- /dev/null
+++ b/macros/inrstex/inrstex/inrs.scr
@@ -0,0 +1,13 @@
+#!/bin/sh
+#
+# INRSTeX
+#
+if [ $# = 1 ]; then
+ jobname=`/usr/bin/basename $1 .tex`
+ # rename auxiliary files -- see writunix.tex
+ /bin/mv $jobname.tag $jobname.tag~ 2>/dev/null
+ /bin/mv $jobname.toc $jobname.toc~ 2>/dev/null
+ /bin/mv $jobname.fig $jobname.fig~ 2>/dev/null
+ /bin/mv $jobname.tbl $jobname.tbl~ 2>/dev/null
+fi
+exec /usr/lib/tex/inrstex $*
diff --git a/macros/inrstex/inrstex/inrsdef.tex b/macros/inrstex/inrstex/inrsdef.tex
new file mode 100644
index 0000000000..db1e81346d
--- /dev/null
+++ b/macros/inrstex/inrstex/inrsdef.tex
@@ -0,0 +1,256 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% ======== Cautions =========
+% If some moduels of INRSTeX are not used, some of these defaults will
+% NOT be defined.
+
+% This file has most of the default values in plain.tex and inrstex.
+% The parameters that are not modified from plain are % -- out.
+
+% ======== Plain.tex parameters ... set in plain and initex ====
+
+% All of TeX's numeric parameters are listed here,
+% Most are untouched from plain.tex but some are indeed modified.
+% The order is not the same as in plain.tex
+
+% These parameters are actually changed.
+
+\widowpenalty = 400 % needs to be more than 100
+\clubpenalty = 800 % needs to be more than 100
+
+% None of the values below are actually changed. They are included for
+% information ... and possibly future modifcations.
+
+% --- Penalties ---
+
+% \displaywidowpenalty=50
+% \brokenpenalty=100
+% \predisplaypenalty=10000
+% \postdisplaypenalty=0
+% \interlinepenalty=0
+% \interdisplaylinepenalty=100
+% \interfootnotelinepenalty=100
+
+% \pretolerance=100
+% \tolerance=200 % INITEX sets this to 10000
+% \hbadness=1000
+% \vbadness=1000
+% \linepenalty=10
+% \hyphenpenalty=50
+% \exhyphenpenalty=50
+% \binoppenalty=700
+% \relpenalty=500
+% \floatingpenalty=0, set during \insert
+% \outputpenalty=0, set before TeX enters \output
+% \doublehyphendemerits=10000
+% \finalhyphendemerits=5000
+% \adjdemerits=10000
+
+% ---- paragraph control ----
+% \looseness=0, cleared by TeX after each paragraph
+% \uchyph=1
+% \parindent=20pt
+% \hangindent=0pt, zeroed by TeX after each paragraph
+% \baselineskip=0pt, changed by \normalbaselines
+% \lineskip=0pt, changed by \normalbaselines
+% \parskip=0pt plus 1pt
+% \parfillskip=0pt plus 1fil
+% \normalbaselineskip=12pt
+% \normallineskip=1pt
+% \normallineskiplimit=0pt
+
+% ----- Sizes/overfull boxes ----
+% \hfuzz=0.1pt % ... \finalversion mod
+% \vfuzz=0.1pt % ... \finalversion mod
+% \overfullrule=5pt % ... \finalversion mod
+% \hsize=6.5in % ... pagsty.tex and inrsdef.tex
+% \vsize=8.9in % ... pagsty.tex and inrsdef.tex
+% \maxdepth=4pt
+% \splitmaxdepth=\maxdimen
+% \boxmaxdepth=\maxdimen
+% \lineskiplimit=0pt, changed by \normalbaselines
+% \leftskip=0pt
+% \rightskip=0pt
+% \topskip=10pt
+% \splittopskip=10pt
+
+
+% ------- Internal Math parms -----
+% \delimitershortfall=5pt
+% \nulldelimiterspace=1.2pt
+% \scriptspace=0.5pt
+% \mathsurround=0pt
+% \thinmuskip=3mu
+% \medmuskip=4mu plus 2mu minus 4mu
+% \thickmuskip=5mu plus 5mu
+% \jot=3pt
+
+% ---- Display Math Spacing ----
+% \predisplaysize=0pt, set before TeX enters $$
+% \displaywidth=0pt, set before TeX enters $$
+% \displayindent=0pt, set before TeX enters $$
+% \abovedisplayskip=12pt plus 3pt minus 9pt
+% \abovedisplayshortskip=0pt plus 3pt
+% \belowdisplayskip=12pt plus 3pt minus 9pt
+% \belowdisplayshortskip=7pt plus 3pt minus 4pt
+
+
+% \hoffset=0pt % not used in INRSTeX
+% \voffset=0pt % not used in INRSTeX
+
+% \tabskip=0pt
+% \spaceskip=0pt
+% \xspaceskip=0pt
+
+% ------ Vertical Spacing -----
+% \smallskipamount=3pt plus 1pt minus 1pt
+% \medskipamount=6pt plus 2pt minus 2pt
+% \bigskipamount=12pt plus 4pt minus 4pt
+
+% ------ Debugging/Misc -----
+% \pausing=0
+% \tracingonline=0
+% \tracingmacros=0
+% \tracingstats=0
+% \tracingparagraphs=0
+% \tracingpages=0
+% \tracingoutput=0
+% \tracinglostchars=1
+% \tracingcommands=0
+% \tracingrestores=0
+% \globaldefs=0
+% \maxdeadcycles=25 % INITEX does this
+% \hangafter=1 % INITEX does this, also TeX after each paragraph
+% \fam=0
+% \mag=1000 % INITEX does this
+% \escapechar=`\\ % INITEX does this
+% \defaulthyphenchar=`\-
+% \defaultskewchar=-1
+% \endlinechar=`\^^M % INITEX does this
+% \newlinechar=-1
+% \delimiterfactor=901
+% \time=now % TeX does this at beginning of job
+% \day=now % TeX does this at beginning of job
+% \month=now % TeX does this at beginning of job
+% \year=now % TeX does this at beginning of job
+% \showboxbreadth=5
+% \showboxdepth=3
+
+
+% ========= Defaults specific to INRSTeX ==========
+
+% ====== Baselineskip spacings =========
+
+\def\normalbaselineskipsize{2.8ex \normalbaselineskipglue}
+\def\normalbaselineskipglue{plus .07ex minus .07ex}
+\def\normallineskipform{\lineskip 1pt \lineskiplimit 0pt}
+
+
+% ====== Turns off slicing rules for Versatec =======
+\let\ptrule=\relax
+\let\prule=\relax
+
+% ====== Paper Sizes and Margins ========
+\hpapersize= 8.5in
+\vpapersize= 11in
+\topmarginsize = 1in
+\leftmarginsize= 1.25in
+
+
+% ======== Chapter/Section default forms =====
+\nochaptertrue % defaults to not chapters
+\chnum=0 \def\chnumform{\the\chnum}
+\shnum=0 \def\shnumform{\the\shnum}
+\sshnum=0 \def\sshnumform{\the\sshnum}
+\ssshnum=0 \def\ssshnumform{\the\ssshnum}
+
+% the periods between the numbers and the orders are defined in
+% \numberbychapter and \numberbysection
+
+% ======== Single/Multicolumn ========
+\numcolumns =1
+\firstcolumnoffset= 0pt
+\intercolumnsep = {\hskip 2em} %intercolumn spacing default
+
+% ========= Set Default Spacings ==========
+% The spacings in INRSTeX are all relative to a font. This means that a
+% change in font family requires a change in these spacings.
+
+\newtoks\everysetspacings % this is a way to modify a few font dependent spacings
+
+\def\setspacings{% ==== section head spacing defaults =====
+ \prsheadskip= 6ex plus 2ex minus 2ex
+ \posheadskip= 2ex
+ \prssheadskip= 5ex plus 1.8ex minus 1.8ex
+ \possheadskip= 2ex
+ \prsssheadskip= 3ex plus 1ex minus 1ex
+ \posssheadskip= 2ex
+ \prdsssheadskip= 3ex plus 1ex minus 1ex
+ \podsssheadskip= 2ex
+ \relax % interitem spacing in table of contents, figure list ... are
+ \relax % directly in the macros ...
+ \righttocindent = 5em % righthand indent for number in tocbox
+ \relax % =========== list spacing parameters =====
+ \prlistskip= 2ex plus 3pt minus 2pt
+ \prsublistskip = 1ex plus 2pt minus 1pt
+ \prsubsublistskip = .5ex plus 1pt minus 1pt
+ \polistskip= 2ex plus 1pt minus 1pt
+ \posublistskip= 1ex plus 1pt minus 1pt
+ \posubsublistskip= .5ex plus 1pt minus 1pt
+ \listitemskip = 2ex plus 1pt minus 1pt
+ \sublistitemskip =1ex plus .75pt minus .75pt
+ \subsublistitemskip = .5ex plus .5pt minus .5pt
+ \listindent = 3em
+ \sublistindent = 6em
+ \subsublistindent = 9em
+ \listitemmarksize = 1.5em
+ \relax %======= Caption box spacing =======
+ \captionskip = 2ex % spacing between a figure/table and caption
+ \the\everysetspacings
+ }
+% note \setspacings is called when the style default sets a document font
+
+
+
+% ========== Toc Out Forms ===========
+% These are the default forms for writing to a toc file.
+
+\def\shtocout{\string\shtoc}
+\def\sshtocout{\string\sshtoc}
+\def\ssshtocout{\string\ssshtoc}
+\def\dssshtocout{\string\dssshtoc}
+\def\chtocout{\string\chtoc}
+\def\prtocout{\string\prtoc}
+\def\figtocout{\string\figtoc}
+\def\tbltocout{\string\tbltoc}
+
+% ========== Auto referencing default =======
+\autoreferencetrue % autonumbering is not default true ... no \refs .. no
+ % effect
+
+% ============ Captionbox Defaults =========
+\topcaptionfalse
+\def\captiontextfraction{0.8}
+\captionbodyon
+
+% ============ Title Spacing/Width ==========
+\def\titlefraction{0.9}
+\def\titlespacing{1.5}
+
+% ====== Plain \magnification change ======
+\let\magnification=\mag
+
+% ============ Tagging/Reference =======
+\pagetagsoff % default is the pagetags off -- more efficient.
+
+% =========== Allows Figures to be Silent ========
+\silentfigurefalse % defaults to non silent figures
+
+%======== style defaults
+\paperstyle
+\englishversion
+\draftversion
+
+
diff --git a/macros/inrstex/inrstex/inrsfncm.tex b/macros/inrstex/inrstex/inrsfncm.tex
new file mode 100644
index 0000000000..ec91701a96
--- /dev/null
+++ b/macros/inrstex/inrstex/inrsfncm.tex
@@ -0,0 +1,350 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+% This file now uses cm fonts where available.
+
+
+% ======= INRS Fonts ========
+% This file adds the fonts used in INRSTeX. It also adds the spacing
+% related to these fonts. The important section is the definitions of
+% the font families. The intent is to produce a font family with all
+% related fonts. In the same manner as the TeXbook, \tenpoint indicates
+% the 10pt family and \rm would be a Roman font in that family. The
+% additions here are the special fonts for section heads, footnotes, ...
+% The section head fonts, for example \sheadfont is changed only if
+% the font family is called within the command \documentstyle. This
+% means that it is possible to change the font internal to a
+% document without disturbing the appearance of the section heads or
+% page numbering.
+
+% In addition to this file, there is an spfont.tex. This file allows for
+% the scaling of a font family. The basic family is \tenpoint. It can be
+% scaled to the extent that there exist scaled printable forms of the font.
+
+% ======= ADDITIONAL FONTS IN INRSTEX ==========
+
+% =====special fonts ========
+\font\tendu = cmdunh10
+%\font\inchhigh=cminch
+%\font\fortysc=cmsc40
+%\font\fortypen=pen40
+%\font\fortypeni=peni40
+%\font\thirtysc=cmsc30
+%\font\twentysc=cmsc20
+%\font\twentyfourozub=ozub24 %OCR types
+%\font\twentyfourozuh=ozuh24 % ocr hollow
+%\font\twentynaro = cmnaro
+
+% ===== twenty one point =======
+\font\twentyonermsca = cmr10 scaled 2074
+
+
+
+% ===== eighteen point =======
+\font\eighteenrm= cmr17 % no eighteen point font in cm
+\font\eighteenrmsca = cmr10 scaled 1728
+%\font\eighteenark = ark18 % hands and pencils
+%\font\eighteenbbb = bbb18 % ??????
+%\font\eighteenpen = pen18 % pen script like font
+%\font\eighteenpeni = peni18 % pen script like font
+
+% ===== fourteenpoint fonts =====
+\font\fourteenrmsca = cmr10 scaled 1440
+\font\fourteenbfxsca = cmbx10 scaled 1440
+
+
+% ===== twelvepoint fonts
+\font\twelverm= cmr12
+\font\twelvermsca = cmr10 scaled 1200
+\font\twelvebfxsca = cmbx10 scaled 1200
+\let\twelvebf=\twelvebfxsca
+\font\twelvess = cmss12
+\font\twelvessb= cmssbx10 scaled 1200
+\font\twelveit = cmti12
+\font\twelvei = cmmi12
+\font\twelvesl = cmsl12
+\font\twelvesy = cmsy10 scaled 1200 % no 12point symbol
+\font\twelvett = cmtt12
+\font\twelvesc = cmcsc10 scaled 1200 % no 12point form
+\let\sanss = \twelvess
+\let\sanssb= \tenss
+\let\twelveex=\tenex
+
+% ======= tenpoint fonts not in plain.tex =======
+\font\tenss = cmss10
+\font\tenssb = cmssbx10 %
+\font\tencsc = cmcsc10 % caps and small caps
+\font\tenu=cmu10 % unslanted text italic
+\font\tenbfx = cmbx10
+\font\tenbfy = cmbsy10 %bold math symbols?
+
+
+% ======== smaller fonts not in plain.tex ========
+\font\ninerm=cmr9
+\font\eightrm=cmr8
+\font\sixrm=cmr6
+
+\font\ninei=cmmi9
+\font\eighti=cmmi8
+\font\sixi=cmmi6
+\skewchar\ninei='177 \skewchar\eighti='177 \skewchar\sixi='177
+
+\font\ninesy=cmsy9
+\font\eightsy=cmsy8
+\font\sixsy=cmsy6
+\skewchar\ninesy='60 \skewchar\eightsy='60 \skewchar\sixsy='60
+
+\font\eightss=cmssq8
+
+\font\eightssi=cmssqi8
+
+\font\ninebfx=cmbx9
+\font\eightbfx=cmbx8
+\let\sevenbfx = \sevenbf % defined in plain as cmbx7
+\font\sixbfx=cmbx6
+\let\fivebfx = \fivebf % defined in plain as cmbx5
+
+\font\ninett=cmtt9
+\font\eighttt=cmtt8
+
+\hyphenchar\tentt=-1 % inhibit hyphenation in typewriter type
+\hyphenchar\twelvett=-1
+\hyphenchar\ninett=-1
+\hyphenchar\eighttt=-1
+
+\font\ninesl=cmsl9
+\font\eightsl=cmsl8
+
+\font\nineit=cmti9
+\font\eightit=cmti8
+\font\sevenit= cmti7
+
+% =========== margin note/version font ===========
+\let\notefont = \eighttt
+
+% ============ THE FONT FAMILIES ===========
+
+% ============= <....>point families =============
+% \pointsize and \documentpointsize are the point sizes of the
+% present and document point sizes.
+% resets the default spacing
+
+\newskip\ttglue
+\def\twelvepoint{\def\pointsize{twelve}%
+ \def\rm{\fam0\twelverm}%
+ \textfont0=\twelverm \scriptfont0=\tenrm \scriptscriptfont0=\sevenrm
+ \textfont1=\twelvei \scriptfont1=\teni \scriptscriptfont1=\seveni
+ \textfont2=\twelvesy \scriptfont2=\tensy \scriptscriptfont2=\sevensy
+ \textfont3=\twelveex \scriptfont3=\twelveex \scriptscriptfont3=\twelveex
+ \def\it{\fam\itfam\twelveit}%
+ \textfont\itfam=\twelveit
+ \def\sl{\fam\slfam\twelvesl}%
+ \textfont\slfam=\twelvesl
+ \def\bf{\fam\bffam\twelvebfxsca}%
+ \textfont\bffam=\twelvebfxsca \scriptfont\bffam=\tenbf
+ \scriptscriptfont\bffam=\sevenbfx
+ \def\tt{\fam\ttfam\twelvett}%
+ \textfont\ttfam=\twelvett \scriptfont\ttfam=\tentt
+ \tt \ttglue=.5em plus .25em minus .15em
+ \normalbaselines\rm % now so resets are ok.
+ \setstrut
+ \ifd@ocsty \def\documentpointsize{twelve}%
+ \let\footerfont =\twelveit
+ \let\headerfont=\twelveit
+ \let\footnotefont = \tenpoint
+ \let\smallerfont = \tenpoint
+ \let\cheadfont = \twentyonermsca
+ \let\sheadfont=\fourteenbfxsca
+ \let\ssheadfont=\twelvebfxsca
+ \let\sssheadfont=\twelvebfxsca
+ \let\dsssheadfont=\twelvebfxsca
+ \let\captionnumfont=\twelvebfxsca
+ \let\captiontitlefont=\relax
+ \let\captionbodyfont=\relax
+ \let\eqnumfont=\rm
+ \setspacings\fi
+ \let\bigfont = \fourteenrmsca
+ \let\biggfont = \eighteenrmsca
+ \let\bigggfont = \twentyonermsca
+ \let\titlefont = \bigggfont
+ \let\sc=\tenrm
+ }
+
+
+% ======= elevenpoint fonts not in plain.tex =======
+
+\font\elevenssb = cmssbx10 scaled 1095 % no ss bold
+\font\elevencsc = cmcsc10 scaled 1095 % caps and small caps
+\font\elevenbfx = cmbx10 scaled 1095 % bold wide
+\font\elevenbfy = cmbsy10 scaled 1095 %bold math symbols?
+
+% ===== elevenpoint fonts
+\font\elevenrm= cmr10 scaled 1095
+\font\elevenrmsca = cmr10 scaled 1095
+\font\elevenbf = cmb10 scaled 1095
+\font\elevenbfxsca = cmbx10 scaled 1095
+\font\elevenss = cmss10 scaled 1095
+\font\elevenit = cmti10 scaled 1095
+\font\eleveni = cmmi10 scaled 1095
+\font\elevensl = cmsl10 scaled 1095
+\font\elevensy = cmsy10 scaled 1095
+\font\eleventt = cmtt10 scaled 1095
+\font\elevensc = cmcsc10 scaled 1095
+\let\sanss = \elevenss
+
+\let\elevenex=\tenex
+
+
+\def\elevenpoint{\def\pointsize{eleven}%
+ \def\rm{\fam0\elevenrm}%
+ \textfont0=\elevenrm \scriptfont0=\eightrm \scriptscriptfont0=\sixrm
+ \textfont1=\eleveni \scriptfont1=\eighti \scriptscriptfont1=\sixi
+ \textfont2=\elevensy \scriptfont2=\eightsy \scriptscriptfont2=\sixsy
+ \textfont3=\elevenex \scriptfont3=\elevenex \scriptscriptfont3=\elevenex
+ \def\it{\fam\itfam\elevenit}%
+ \textfont\itfam=\elevenit
+ \def\sl{\fam\slfam\elevensl}%
+ \textfont\slfam=\elevensl
+ \def\bf{\fam\bffam\elevenbf}%
+ \textfont\bffam=\elevenbf \scriptfont\bffam=\eightbfx
+ \scriptscriptfont\bffam=\sixbfx
+ \def\tt{\fam\ttfam\eleventt}%
+ \textfont\ttfam=\eleventt \scriptfont\ttfam=\tentt
+ \tt \ttglue=.5em plus .25em minus .15em
+ \normalbaselines\rm % now so resets are ok.
+ \setstrut
+ \ifd@ocsty \def\documentpointsize{eleven}%
+ \let\footerfont=\elevenit
+ \let\headerfont=\elevenit
+ \let\footnotefont = \ninepoint
+ \let\smallerfont = \ninepoint
+ \let\cheadfont = \eighteenrmsca
+ \let\sheadfont=\fourteenbfxsca
+ \let\ssheadfont=\elevenbfxsca
+ \let\sssheadfont=\elevenbfxsca
+ \let\dsssheadfont=\elevenbfxsca
+ \let\captionnumfont=\elevenbfxsca
+ \let\captiontitlefont=\relax
+ \let\captionbodyfont=\relax
+ \let\eqnumfont=\rm
+ \setspacings\fi
+ \let\bigfont = \twelvermsca
+ \let\biggfont = \fourteenrmsca
+ \let\bigggfont = \eighteenrmsca
+ \let\titlefont = \bigggfont
+ \let\sc=\ninerm
+ }
+
+
+\def\tenpoint{\def\pointsize{ten}\def\rm{\fam0\tenrm}%
+ \textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm
+ \textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei
+ \textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy
+ \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
+ \def\it{\fam\itfam\tenit}%
+ \textfont\itfam=\tenit
+ \def\sl{\fam\slfam\tensl}%
+ \textfont\slfam=\tensl
+ \def\bf{\fam\bffam\tenbfx}%
+ \textfont\bffam=\tenbfx \scriptfont\bffam=\sevenbfx
+ \scriptscriptfont\bffam=\fivebfx
+ \def\tt{\fam\ttfam\tentt}%
+ \textfont\ttfam=\tentt
+ \tt \ttglue=.5em plus .25em minus .15em
+ \normalbaselines\rm
+ \setstrut
+ \ifd@ocsty \def\documentpointsize{ten}\let\footerfont =\tenit
+ \let\headerfont=\tenit
+ \let\footnotefont = \eightpoint
+ \let\smallerfont = \eightpoint
+ \let\cheadfont = \eighteenrm
+ \let\sheadfont=\twelvebfxsca
+ \let\ssheadfont=\tenbfx
+ \let\sssheadfont=\tenbfx
+ \let\dsssheadfont=\tenbfx
+ \let\captionnumfont=\tenbfx
+ \let\captiontitlefont=\relax
+ \let\captionbodyfont=\relax
+ \let\eqnumfont=\rm
+ \setspacings\fi
+ \let\bigfont = \twelvermsca
+ \let\biggfont = \fourteenrmsca
+ \let\bigggfont = \eighteenrmsca
+ \let\titlefont = \bigggfont
+ \let\sc=\eightrm }
+
+\def\ninepoint{\def\pointsize{nine}\def\rm{\fam0\ninerm}%
+ \textfont0=\ninerm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm
+ \textfont1=\ninei \scriptfont1=\sixi \scriptscriptfont1=\fivei
+ \textfont2=\ninesy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy
+ \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
+ \def\it{\fam\itfam\nineit}%
+ \textfont\itfam=\nineit
+ \def\sl{\fam\slfam\ninesl}%
+ \textfont\slfam=\ninesl
+ \def\bf{\fam\bffam\ninebfx}%
+ \textfont\bffam=\ninebfx \scriptfont\bffam=\sixbfx
+ \scriptscriptfont\bffam=\fivebfx
+ \def\tt{\fam\ttfam\ninett}%
+ \textfont\ttfam=\ninett
+ \tt \ttglue=.5em plus .25em minus .15em
+ \normalbaselines\rm
+ \setstrut
+ \ifd@ocsty \def\documentpointsize{nine}\let\footerfont =\nineit
+ \let\headerfont=\nineit
+ \let\footnotefont = \eightpoint
+ \let\smallerfont = \eightpoint
+ \let\cheadfont = \eighteenrm
+ \let\sheadfont=\tenbfx
+ \let\ssheadfont=\tenbfx
+ \let\sssheadfont=\tenbfx
+ \let\dsssheadfont=\tenbfx
+ \let\captionnumfont=\tenbfx
+ \let\captiontitlefont=\relax
+ \let\captionbodyfont=\relax
+ \let\eqnumfont=\rm
+ \setspacings\fi
+ \let\bigfont = \twelvermsca
+ \let\biggfont = \fourteenrmsca
+ \let\bigggfont = \eighteenrm
+ \let\titlefont = \bigggfont
+ \let\sc=\sevenrm }
+
+
+\def\eightpoint{\def\pointsize{eight}\def\rm{\fam0\eightrm}%
+ \textfont0=\eightrm \scriptfont0=\fiverm \scriptscriptfont0=\fiverm
+ \textfont1=\eighti \scriptfont1=\fivei \scriptscriptfont1=\fivei
+ \textfont2=\eightsy \scriptfont2=\fivesy \scriptscriptfont2=\fivesy
+ \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
+ \def\it{\fam\itfam\eightit}%
+ \textfont\itfam=\eightit
+ \def\sl{\fam\slfam\eightsl}%
+ \textfont\slfam=\eightsl
+ \def\bf{\fam\bffam\eightbfx}%
+ \textfont\bffam=\eightbfx \scriptfont\bffam=\fivebfx
+ \scriptscriptfont\bffam=\fivebfx
+ \def\tt{\fam\ttfam\eighttt}%
+ \textfont\ttfam=\eighttt
+ \tt \ttglue=.5em plus .25em minus .15em
+ \normalbaselines\rm
+ \setstrut
+ \ifd@ocsty \def\documentpointsize{eight}\let\footerfont =\eightit
+ \let\headerfont=\eightit
+ \let\footnotefont = \eightpoint
+ \let\smallerfont = \eightpoint
+ \let\cheadfont = \fourteenrmsca
+ \let\sheadfont=\eightbfx
+ \let\ssheadfont=\eightbfx
+ \let\sssheadfont=\eightbfx
+ \let\dsssheadfont=\eightbfx
+ \let\captionnumfont=\eightbfx
+ \let\captiontitlefont=\relax
+ \let\captionbodyfont=\relax
+ \let\eqnumfont=\rm
+ \setspacings\fi
+ \let\bigfont = \tenrm
+ \let\biggfont = \twelverm
+ \let\bigggfont = \fourteenrmsca
+ \let\titlefont = \bigggfont
+ \let\sc=\sevenrm }
+
diff --git a/macros/inrstex/inrstex/inrstex.tex b/macros/inrstex/inrstex/inrstex.tex
new file mode 100644
index 0000000000..d3e0c1c8cc
--- /dev/null
+++ b/macros/inrstex/inrstex/inrstex.tex
@@ -0,0 +1,560 @@
+% POSTSCRIPT VERSION --- AFFECTS GRAPHICS AND OUTPUT ROUTINE
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+% Version Aug. 1991
+% ---- TeX 3 version ----
+
+% Those items that are modified for different styles are indicated in
+% each section.
+
+
+\input plain_nh
+
+% for TeX 3.+, hyphenation tables can be inserted in a format file only
+% once. This means that both plain.tex rather than an old plain.fmt file
+% must be used to create a new format file. plain_nh.tex is plain.tex with
+% No Hyphenation (NH).
+
+% This is a cm font version ... now.
+
+% COMMENT: INRSTeX has been designed to allow for considerable variation
+% in the style of a document. This ranges from default spacing, fonts,
+% formats of section heads, and headers and footers. The changes for
+% a style involves the changes of the defaults in "inrsdef.tex", document
+% "am" fonts in "inrsfont.tex" or "cm" fonts in inrsfncm.tex.
+% The definitions of header and footer text is
+% generally found in the various "xxsty.tex" files. These are incomplete
+% in the sense that only those changes to the defaults in "inrsdef.tex"
+% are actually done. Two examples are given, \paperstyle in "papersty.tex"
+% and \bookstyle in "booksty.tex".
+%
+
+% Those items that are modified for different styles are indicated in
+% each section.
+
+\catcode`@= 11 % need to use some plain macros
+
+%======= Additional active Characters ===========
+% ALL ACTIVE CHARACTERS MUST BE DECLARED AND DEFINED AT THE VERY
+% BEGINNING OR THERE IS A DANGER OF INCORRECT TOKENIZATION
+% ======== THESE ARE USED IN THE TABLE MACROS =========
+\message{<< Additional Active Characters >>}
+\catcode`\|= \active
+\def|{\ifmmode \vert\else \char`\|\fi} % effectively undoes activeness
+\def\q@m{\string"}
+\catcode`\"=\active \def"{\writeterm{<<< use `` or '' instead of \q@m >>>}{
+ }{}\char`\"}
+%=== these are redefined inside the table macros =====
+
+
+% ========= INRSTeX Utilities =========
+% These are generally needed for good health. They include
+% Houskeeping Macros
+% Single/Multicolumn Page Eject and Insert Control
+% Miscellaneous Paragraph Shape Macros
+% Year/Month/Day
+% New Boxit
+% Number Format Conversion Forms
+
+
+%**************************
+\input inrsutil.tex
+%**************************
+
+
+% ======== Extended Character Set(s) for Special Terminals =======
+% The proper catcodes for the extended characters need to go in before the
+% patterns are loaded.
+
+% *************************
+ \ifundefined{charsubdef}
+ \message{ << Loading Extended Character Set -- TeX 3.+ >>}
+ \input extdef3
+ \else
+ \message{ << Loading Extended Character Set -- MLTeX 3.+ >>}
+ \input extdef
+ \fi
+ \message { << Setting Parameters for TeX 3.+ >> }
+ \emergencystretch =10pt
+ \lefthyphenmin=2
+ \righthyphenmin=3
+ \newcount\dischyph % to effectively disable dischyph in mltex
+% *************************
+
+
+
+
+% ======= Input Hyphenation patterns =======
+% hyphenation for all languages are in the same file or accessed from it
+% TeX 3 will not allow \patterns to be reopened once it has been closed.
+
+ \input masthyph
+
+
+% ====== Multiple Language Support ========
+% This may be done without bilingual TeX but is better done with it.
+% These macros define an \englishversion and a \versionfrancaise.
+% INRSTeX messages come in either English or French depending
+% upon the value of \language. If \language is not yet defined, a
+% \newcount is used to define it.
+% THIS MUST NOT BE CALLED BEFORE THE HYPHENATION PATTERNS ARE LOADED.
+
+%**************************
+\input multlang.tex
+%**************************
+
+
+% ====== Basic Line Spacing =========
+% The basic line spacing in a font is assumed to be scaled according to the
+% ex height of the font. This is perhaps not the aesthetically best but
+% does allow consistent line spacing commands. The four basic commands are
+% \normalbaselines (redefined from plain),
+% \normalbaselineskipsize, \spacing, and \setstrut.
+
+% ------- Defaults ... inrsdef.tex -----
+% \def\normalbaselineskipsize{2.8ex \normalbaselineskipglue}
+% \def\normalbaselineskipglue{plus .07ex minus .07ex}
+% \def\normallineskipform{\lineskip 1pt \lineskiplimit 0pt}
+
+
+%**************************
+\input linespac.tex
+%**************************
+
+
+
+% ===== additional FONTS ==========
+% The new fonts and font families are read in from the file "inrsfont.tex"
+% These are read in by initex.
+% This font list should define the font families. At the very least it must
+% define fonts for the logical font names used in INRSTEX. These are
+ %\notefont {usually \eighttt} ... foor version and margin notes.
+ %\footerfont
+ %\headerfont
+ %\footnotefont {should be a font family}
+ %\smallerfont {should be a font family}
+ %\cheadfont
+ %\sheadfont
+ %\ssheadfont
+ %\sssheadfont
+ %\dsssheadfont
+ %\captionnumfont
+ %\captiontextfont
+ %\eqnumfont
+ %\bigfont
+ %\biggfont
+ %\bigggfont
+ %\titlefont
+
+% The various \..head.. fonts are used in the \shead etc
+% The \footnotefont is used in footnotes and is a family
+% \titlefont is used in \title
+% The other fonts are for convenience.
+
+% INRSTeX has the notion of a Document font. This allows for local changes in
+% the font without messing up the sizes of the sectionheads, headers, footers
+% etc. A font change inside a \documentstyle will cause the document font
+% to change.
+
+%**************************
+%\input inrsfont.tex %am fonts
+\input inrsfncm.tex % cm fonts
+%**************************
+
+
+
+% ====== Marginnotes, Final and Draft Version =======
+% INRSTeX's output routine supports two main versions of a document, a
+% "final version" and a "draft version". The "draft version" collects \refs
+% and \cites in a margin box at the right of a page. In addition it puts on
+% black marks for overfull lines and "Draft Version: <date> " at the
+% bottom of the page.
+
+% If plain.tex output is to be used, "margform.tex" by "margform.pla"
+% This will destroy all indications of \finalversion \draftversion
+
+%**************************
+\input margform.tex
+%**************************
+
+
+
+
+% =========== Document Styles, Page Numbering and Page Sizes ======
+% These are the macros for setting page sizes and the various flags
+% the header/footer styles. This is only used with "inrsout.tex"
+
+% ---- Defaults ... set in xxxsty.tex or inrsdef.tex -------
+% Examples from "booksty.tex"
+% \vheadersize
+% \vfootersize
+% \headertext
+% \specialheadertext
+% \footertext
+% \specialfootertext
+% \hpapersize
+% \vpapersize
+% \vouterpagesize
+% \houterpagesize
+% \topmargin
+% \leftmargin
+
+
+
+%**************************
+\input pagsty.tex
+%**************************
+
+
+
+
+%======== Multicolumn format ===========
+% These macros invoke multicolumnformat including balancing columns.
+
+% ---- Defaults ... set in inrsdef.tex
+% \numcolumns
+% \firstcolumnoffset
+% \intercolumnsep
+
+
+%**************************
+\input multicol.tex
+%**************************
+
+
+
+% ======== INRSTeX Single/Multi Column Output Routine ========
+% This is the entire output routine for INRSTeX. It does both single and
+% Multicolumn since there is a rather large repetition to do otherwise.
+
+%**************************
+\input out_ps.tex
+%**************************
+
+
+
+%========= Autonumbering, Tagging and Autoreferencing =========
+
+% These macros give the facility to symbolically refer to sections, equations,
+% tables, and references and to automatically number them.
+% Autonumber, automatically numbers sections, equations, ....
+% Autoreferencing, causes \ref{tag} to drop the tag-value in the text.
+% Autonumber and autoreference both true will cause tags to be generated.
+% Although it is possible to have only autonumbering, referring to
+% sections or other parts is quite difficult without referencing
+
+% ---- Defaults ... set in inrsdef.tex -----
+% \autoreferencetrue
+% \autonumberfalse ... default when created
+% \def\Prerefform{} \def\Postrefform ... in auto
+
+%**************************
+\input auto.tex
+%**************************
+
+
+% ============ Tag Generation ==========
+% These are the macros that generate the actual tags. They are used in
+% automatic equation numbering, section heads and any \auto...num{tag} form.
+
+% ------ Defaults .... set in inrsdef.tex or xxxsty.tex ---
+% \undeftagmessage ... set in "english.tex" or "francais.tex"
+
+
+%**************************
+\input tag.tex
+%**************************
+
+
+% ========== Equation Tags ===========
+% Since equation numbering plays a big part in scientific documentation
+% a special set of tag generation forms were produced for this case.
+
+% ------ Defaults .... set in inrsfont.tex -----
+% \eqnumfont
+
+
+%**************************
+\input eqtag.tex
+%**************************
+
+
+
+
+% ===== Citation generation ==========
+% \cite is used with a journal/paper reference.
+% The forms allow both random input order of cite forms or
+% fixed order. At the moment it supports only IEEE form, ie
+% a list in the order of therir occurrence in a paper.
+% A data base system using a mailbox would be much better.
+
+
+
+%**************************
+\input cite.tex
+%**************************
+
+
+
+% ========== Section, Chapter Headings ===========
+% These macros have several parts,
+% -- Counter allocation and numbering styles for autonumber
+% -- The format of the heading.
+% -- The writing of a list file for automatic table of contents.
+% -- The referencing in the text ... ie reference number styles.
+
+% -------- Defaults ... inrsdef.tex, inrsfont.tex, xxxsty.tex ----
+%
+% \chnum=0 \def\chnumform{\the\chnum} ... inrsdef.tex
+% \shnum=0 \def\shnumform{\the\shnum} ... inrsdef.tex
+% \sshnum=0 \def\sshnumform{\the\sshnum} ... inrsdef.tex
+% \ssshnum=0 \def\ssshnumform{\the\ssshnum} ... inrsdef.tex
+% \def\chtagrefformat{\chnumform} ... secthead.tex
+% \def\chtagreplaceformat{\Chapter \chtagrefformat} .. secthead.tex
+% \prsheadskip= 6ex plus 2ex minus 2ex ... inrsdef.tex
+% \posheadskip= 2ex ... inrsdef.tex
+% \prssheadskip= 5ex plus 1.8ex minus 1.8ex ... inrsdef.tex
+% \possheadskip= 2ex ... inrsdef.tex
+% \prsssheadskip= 3ex plus 1ex minus 1ex ... inrsdef.tex
+% \posssheadskip= 2ex ... inrsdef.tex
+% \prdsssheadskip= 3ex plus 1ex minus 1ex ... inrsdef.tex
+% \podsssheadskip= 2ex ... inrsdef.tex
+%
+% \gensheadformat#1#2#3#4 ... secthead.tex ... for major format
+% surgery.
+%
+% \nochaptertrue ... inrsdef.tex
+% \def\Chapter ... english.tex or francais.tex
+% \cheadformat#1#2 ... secthead.tex
+% \def\chapterstartform{} ... secthead.tex and xxxsty.tex
+
+
+%**************************
+\input secthead.tex
+%**************************
+
+
+%============ Preface/Prelude macros ===========
+% this is the first of the environment macros. The problem, among others is
+% that the headers, footers, pagenumbering, etc are different in preface of
+% the document than elsewhere.
+
+% ---- Defaults ... prelhead.tex or xxxsty.tex
+% \preludeheadformat#1 ... prelhead.tex
+
+%**************************
+\input prelhead.tex
+%**************************
+
+
+
+% =========== Appendices ==============
+% Appendices are defined by using \shead invocations.
+% Appendices are assumed to be associated with chapters, if
+% they exist hence the first appendix in Chapter 2 is Appendix A.
+% These macros modify the numberforms of \shead to produce Apendices.
+% The "appendix head" is an \shead with a different numberform.
+
+% ------- Defaults ------
+% \def\Appendix ... english.tex or francais.tex
+
+%**************************
+\input appendix.tex
+%**************************
+
+
+
+% ========== List Files =========
+% General macros for making, open and closing "list' files. These are files
+% where the form output includes a page reference. They are named with a
+% three letter extension ... eg ".fig" ... to the \jobname form.
+
+%**************************
+\input writfile.tex
+%**************************
+
+
+
+% ======== Table of Contents, Figures, and Tables -- Examples ======
+% The "list" file is written using \writelistfile and the \shtoc ...
+% are used to create the actual table of contents, figures, tables.
+% Extensions to other forms should be obvious.
+
+% ----- Defaults ----
+% \righttocindent ... inrsdef.tex
+% \tocfill ... tocform.tex ... dot form for toc list.
+% tocfonts ... tocform.tex ... in actual \figtoc etc
+
+%**************************
+\input tocform.tex
+%**************************
+
+
+
+
+
+%======== List macros ==========
+% there is only one kind of list in this system, namely on that is
+% right justified in the particular box that the list appears
+% extensions may be made to include a center
+
+% ----- Defaults ... inrsdef.tex -----
+% \prlistskip= 2ex plus 3pt minus 2pt
+% \prsublistskip = 1ex plus 2pt minus 1pt
+% \prsubsublistskip = .5ex plus 1pt minus 1pt
+% \polistskip= 2ex plus 1pt minus 1pt
+% \posublistskip= 1ex plus 1pt minus 1pt
+% \posubsublistskip= .5ex plus 1pt minus 1pt
+
+% \listitemskip = 2ex plus 1pt minus 1pt
+% \sublistitemskip =1ex plus .75pt minus .75pt
+% \subsublistitemskip = .5ex plus .5pt minus .5pt
+
+% \listindent = 3em
+% \sublistindent = 6em
+% \subsublistindent = 9em
+% \listitemmarksize = 1.5em
+
+%**************************
+\input lists.tex
+%**************************
+
+
+
+%=========== Footnotes ---- similar to that in the texbook ======
+
+% ------ Defaults --------
+% \footnotefont ... family in inrsfont.tex
+% \skip\footins ... footnote.tex
+% \count\footins ... plain.tex
+% \dimen\footins ... footnote.tex
+% \footnoterule ... inrsout.tex
+
+
+%**************************
+\input footnote.tex
+%**************************
+
+
+
+%========= ABSTRACT/TITLE =======
+% These generate a centered abstract in the \smallerfont of a family
+% and define the \title macro
+
+% ------ Defaults ------
+% \absindent ... inrsdef.tex abstract indentation
+% \ABSTRACT ... english.tex or francais.tex
+% \titlemessage ... english.tex of francais.tex
+% \titlefont ... inrsfont.tex
+% \titlefraction ... inrsdef.tex
+% \titlespacing ... inrsdef.tex
+
+%**************************
+\input abstract.tex
+%**************************
+
+
+% ========== Captioned Table/Figure Forms and Inserts =========
+% Insert Forms
+
+% ----- Defaults -----
+% \captiontextfraction ... inrsdef.tex
+% \captionskip ... inrsdef.tex
+% \topcaptiontrue or \topcaptionfalse ... inrsdef.tex
+% \figurelabel or \figlabel ... english.tex or francais.tex
+% \tablelabel or \tbllabel ... english.tex or francais.tex
+% \captionnumfont ... inrsfont.tex
+% \captiontitlefont ... inrsfont.tex
+% \captionbodyfont ... inrsfont.tex
+% \captionbodyon <off> ... inrsdef.tex
+% \silentfigurefalse
+
+%**************************
+\input genins.tex
+%**************************
+
+
+% ============ Table Making Forms ============
+
+%**************************
+\input tables.tex
+%**************************
+
+
+
+%========= Verbatim or NoFill Style ========
+% The verbatim form is not part of the INRSTeX format file.
+% The following brings in the verbatim macros and redefines \beginttverbatim
+
+\def\beginttverbatim{\input verbatim\relax}
+
+
+%========== Special styles ===============
+%----- Special Document Styles/Forms -------
+% INRSTeX learns of the existence of special document styles or forms
+% from specform.tex
+
+%**************************
+\input specform.tex
+%**************************
+
+
+
+%======== Multiple part documents -- subdocuments =======
+% documents may be broken down to the chapter or section level
+
+%**************************
+\input subdoc.tex
+%**************************
+
+
+
+
+
+% ============ TeXGraphics Support =============
+% TeXGraphics uses \specials, assumes POSTSCRIPT and assumes a driver
+% equivalent to the INRS modified version of Beebe's dvialw.
+
+%**************************
+\input graph_ps.tex
+%**************************
+
+
+
+
+
+
+% ======== Bugs/Modifications to Plain =====
+
+%**************************
+\input plainmod.tex
+%**************************
+
+
+
+% ====== INRSTeX defaults .... in addition to Plain ....
+%**************************
+\input inrsdef.tex
+%**************************
+
+
+% =========== modifications for MSDOS usage ============
+
+% for Unix systems replace the \input writdos by
+
+ \message{Input Unix write.file form}
+ \input writunix
+
+% invoke inrstex with the shell script
+% inrsunix.sh ... appropriately modified
+
+
+%\message{Input DOS write/file form}
+
+%\input writdos
+
+
+\catcode`@=12 % puts at back to a non letter
+
+\def\fmtname{INRSTeX-Bilingual-PostScript}\def\fmtversion{3.1}
+
diff --git a/macros/inrstex/inrstex/inrsunix.sh b/macros/inrstex/inrstex/inrsunix.sh
new file mode 100644
index 0000000000..dd1f48d528
--- /dev/null
+++ b/macros/inrstex/inrstex/inrsunix.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# INRSTeX
+#
+if [ $# = 1 ]; then
+ jobname=`/usr/bin/basename $1 .tex`
+ # rename auxiliary files -- see writunix.tex
+ /bin/mv $jobname.tag $jobname.tag~ 2>/dev/null
+ /bin/mv $jobname.toc $jobname.toc~ 2>/dev/null
+ /bin/mv $jobname.fig $jobname.fig~ 2>/dev/null
+ /bin/mv $jobname.tbl $jobname.tbl~ 2>/dev/null
+fi
+exec /usr/users/u1/mike/inrstex/virtex_mlb '&/usr/users/u1/mike/inrstex/inrs3_mlb' $*
+ \ No newline at end of file
diff --git a/macros/inrstex/inrstex/inrsutil.tex b/macros/inrstex/inrstex/inrsutil.tex
new file mode 100644
index 0000000000..d687ee7092
--- /dev/null
+++ b/macros/inrstex/inrstex/inrsutil.tex
@@ -0,0 +1,164 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% ======== INRSTeX Utilities ======
+
+
+% ========= Houskeeping Utilities =========
+
+% These are houskeeping utilities and should be kept. They will most likely
+% not interfere with any other commands.
+
+\newif\ifsilent \silentfalse % defaults to not quiet ... used in \a@utonum
+
+\def\silent#1{\setbox0=\hbox{#1}} % causes #1 to be silently expanded
+
+% ----- #1 break penalty , #2 skip amount
+\def\penaltybreak#1#2{\par\ifdim\lastskip<#2
+ \removelastskip\penalty #1\vskip #2 \fi}
+
+% ------ advances only the dimension part of a glue statement
+% must be of form \a@dvance #1 by #2 where #2 is a dimension
+ % coerces glue to be a dimen
+\def\a@dvance #1#2{\dimen0 = #1\relax
+ \advance #1 by -\dimen0\relax
+ \advance #1 by #2\relax}
+
+
+%------- appends a second token list onto a first one ----
+%#1 token list #2 token list #1 is resulting name
+% used in creating autonumbers
+\def\appendtoks#1#2{ \edef\next{\noexpand #1 = {\the#1 \the#2} }
+ \next}
+
+%---------- non outer allocations same as in plain ---------
+\def\n@ewcount{\alloc@0\count\countdef\insc@unt}
+\let\n@ewtoks=\relax % we do this to allow inrs.tex to be read in twice
+\def\n@ewtoks{\alloc@5\toks\toksdef\@cclvi}
+\def\n@ewwrite{\alloc@7\write\chardef\sixt@@n}
+\def\n@ewswitch#1{\expandafter\let\csname if#1\endcsname\relax
+ \toks@{\iftrue}%
+ \expandafter\edef\csname#1true\endcsname
+ {\let\csname if#1\endcsname=\the\toks@}%
+ \toks@{\iffalse}%
+ \expandafter\edef\csname#1false\endcsname
+ {\let\csname if#1\endcsname=\the\toks@}%
+ \csname#1false\endcsname} % the switch starts out false
+
+
+% --- undefined command check --- 7.7 from the texbook
+\def\ifundefined#1{\expandafter\ifx\csname #1\endcsname\relax} % needs \fi to end
+
+% ------ Input a file. If it does not exist, treat it as a null file.
+% #1 file name.
+\def\inputwithcheck#1{\edef\i@wc{#1}\openin1=\i@wc\relax
+ \ifeof1
+ \closein1
+ \else
+ \closein1
+ \input \i@wc \relax
+ \fi}
+
+% \writeterm
+% ----------- Write to the terminal --------
+% Format is similar to \writelistfile. Its main claim is that
+% it removes ugly \cr and ~ that might lead to problems.
+% #1#2#3 the three arguments are concatenated in the output text.
+\def\writeterm#1#2#3{{\def\cr{ }\def~{ }\immediate\write32{#1#2#3}}}
+
+
+% ======= Single/Multicolumn Page Eject and Insert Control ======
+% "\end..." is only used in conjunction with a matched "\begin...
+% However "\end" has not been redefined.
+
+\def\ejectcolumn{\par\vfill\eject}
+\let\ejectpage=\ejectcolumn
+\def\superejectpage{\par\vfill\supereject}
+\def\done{\superejectpage\end} % to be modified
+\def\ejectinsert{\ifnum\insertpenalties>0 \null\ejectcolumn\ejectinsert\fi}
+\let\ejectinserts=\ejectinsert % historical error
+
+
+% ========= Miscellaneous Paragraph Shape Macros =========
+
+% ---- a symmetric narrowing of the page ----
+\newtoks\everynarrowtext
+
+\def\beginnarrowtext #1 {\par
+ \begingroup
+ \advance\leftskip by #1\relax
+ \advance\rightskip by #1\relax
+ \the\everynarrowtext}
+\def\endnarrowtext {\par \endgroup}
+
+
+% ----- centers lines in paragraph ---------
+% This is used in Titles ...
+
+\def\paragraphcenterline{\advance\rightskip by 0pt plus 1fill
+ \advance\leftskip by
+ 0pt plus 1fill \def\cr{\par}\parindent = 0pt}
+
+
+% --- a very ragged right ... will suppress all hyphenation for title/sections
+\def\veryraggedright{\advance\rightskip by 0pt plus 1fil\relax}
+
+%----- linebreak in horizontal mode
+\def\linebreak{\hfil\break}
+
+% ========= Half quad ==========
+\def\hquad{\hskip .5em}
+
+
+% ========= Year/Month/Day =========
+% This is used in the Output Routine
+% --- form for version
+\def\date{\the\year/\the\month/\the\day}
+\def\version{Version: \date}
+
+% =========== New Boxit =============
+
+% --- puts rules around the outside of a box
+% #1 line thickness, #2 border separation #3 box
+\long\def\boxit#1#2#3{\vbox{\dimen0=#1 \dimen2=#2 \hrule height \dimen0
+ \hbox{\vrule width\dimen0 \hskip\dimen2\vbox{\vskip \dimen2
+ \vbox{#3}
+ \vskip \dimen2}\hskip
+ \dimen2 \vrule width\dimen0}
+ \hrule height \dimen0}}
+
+
+% ============== Number Format Conversion Forms =============
+
+% ------ This gives an uppercase alphabetic form for a number ----
+% There should be an easier way!
+
+\def\Alphabetic#1{\ifcase #1\or A\or B\or C\or D\or E\or
+ F\or G\or H\or I\or J\or
+ K\or L\or M\or N\or O\or
+ P\or Q\or R\or S\or T\or
+ U\or V\or W\or X\or Y\or
+ Z\else #1\fi}
+
+\def\alphabetic#1{\ifcase #1\or a\or b\or c\or d\or e\or
+ f\or g\or h\or i\or j\or
+ k\or l\or m\or n\or o\or
+ p\or q\or r\or s\or t\or
+ u\or v\or w\or x\or y\or
+ z\else #1\fi}
+
+% ------ This does the same for roman numerals --- from TeXbook
+\def\UpperRoman#1{\uppercase\expandafter{\romannumeral #1}}
+
+
+% ========= These are dangerous macros that easily allow for loss of @
+% protection =========
+
+% ======= general protect/unprotect =======
+\def\protect{\catcode`\@=12}
+\def\unprotect{\catcode`@=11}
+
+% ======= Activate/deactivate =========
+\def\activate{\catcode`\"=\active \catcode`\|=\active}
+\def\deactivate{\catcode`\"=12 \catcode`\|=12}
diff --git a/macros/inrstex/inrstex/linespac.tex b/macros/inrstex/inrstex/linespac.tex
new file mode 100644
index 0000000000..b8486bc456
--- /dev/null
+++ b/macros/inrstex/inrstex/linespac.tex
@@ -0,0 +1,33 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% ====== Basic Line Spacing =========
+% The basic line spacing in a font is assumed to be scaled according to the
+% ex height of the font. This is perhaps not the aesthetically best but
+% does allow consistent line spacing commands. The four basic commands are
+% \normalbaselines, \normalbaselineskipsize, \spacing, and \setstrut.
+
+
+\def\normalbaselines{\baselineskip \normalbaselineskipsize
+ \normallineskipform}
+
+% ----- sets interline spacing in terms of normalbaselines ------
+% does not change baseline glue.
+\def\spacing#1{\setbox0=\vbox{\vskip \normalbaselineskipsize}\baselineskip
+ #1\ht0 \normalbaselineskipglue
+ \normallineskipform}
+
+
+% ----- a single line spacing strut -------
+% Set at current baselineskip size
+\def\setstrut{\setbox0=\vbox{\vskip\normalbaselineskipsize}\setbox\strutbox=
+ \hbox{\vrule height .72\ht0 depth .28\ht0 width\z@}}
+
+% --- The default forms must also be set -- They are shown below but
+% are actually set in inrsdef.tex
+
+% \def\normalbaselineskipsize{2.8ex \normalbaselineskipglue}
+% \def\normalbaselineskipglue{plus .07ex minus .07ex}
+% \def\normallineskipform{\lineskip 1pt \lineskiplimit 0pt}
+
diff --git a/macros/inrstex/inrstex/lists.tex b/macros/inrstex/inrstex/lists.tex
new file mode 100644
index 0000000000..777d34793f
--- /dev/null
+++ b/macros/inrstex/inrstex/lists.tex
@@ -0,0 +1,135 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+%======== List macros ==========
+% there is only one kind of list in this system, namely on that is
+% right justified in the particular box that the list appears
+% extensions may be made to include a center
+% These list macros work relative to \rightskip and \leftskip defined
+% outside the lists. In addition, they preserve the glue that already
+% exists in \rightskip and \leftskip
+
+% the actual skip values are set in inrsdef.tex
+
+\newskip\prlistskip %\prlistskip= 2ex plus 3pt minus 2pt
+\newskip\prsublistskip %\prsublistskip = 1ex plus 2pt minus 1pt
+\newskip\prsubsublistskip %\prsubsublistskip = .5ex plus 1pt minus 1pt
+
+\newskip\polistskip %\polistskip= 2ex plus 1pt minus 1pt
+\newskip\posublistskip %\posublistskip= 1ex plus 1pt minus 1pt
+\newskip\posubsublistskip %\posubsublistskip= .5ex plus 1pt minus 1pt
+
+\newskip\listitemskip %\listitemskip = 2ex plus 1pt minus 1pt
+\newskip\sublistitemskip %\sublistitemskip =1ex plus .75pt minus .75pt
+\newskip\subsublistitemskip %\subsublistitemskip = .5ex plus .5pt minus .5pt
+
+\newskip\l@istitemskip
+
+\newdimen\listindent %\listindent = 3em
+\newdimen\sublistindent %\sublistindent = 6em
+\newdimen\subsublistindent %\subsublistindent = 9em
+\newdimen\listitemmarksize %\listitemmarksize = 1.5em
+
+\newtoks\everylist
+\newtoks\everysublist
+\newtoks\everysubsublist
+\newtoks\e@verylist
+\newtoks\e@verysublist
+\newtoks\e@verysubsublist
+
+\newif\iff@irstli % allows first li to set list parameters
+
+
+% t@ightenlist will cause the list item spacing to drop to #1 of its
+% original value
+
+%------ scales a skip .... makes plus glue .1 of skip, minus .1 ----
+% #1 is the skip, #2 is the scale
+\def\s@caleskip#1#2{\setbox0=\hbox{\hskip#1}
+ \dimen0=.1\wd0 \dimen2=.1\wd0
+ #1 = #2\wd0 plus #2\dimen0 minus #2\dimen2}
+
+
+\def\t@ightenlist#1{\s@caleskip{\listitemskip}{#1}
+ \s@caleskip{\sublistitemskip}{#1}
+ \s@caleskip{\subsublistitemskip}{#1}}
+\def\tightenlist{\t@ightenlist{.5}}
+\def\loosenlist{\t@ightenlist{2}}
+
+%sample list mark .... used for creating lists where the listitem
+%mark size may be big or varied.
+% This is one of the most useful features of this list package.
+
+\def\samplemark#1{\setbox0 = \hbox{#1\enspace}
+ \advance \listindent by -\listitemmarksize
+ \advance \sublistindent by -\listitemmarksize
+ \advance \subsublistindent by -\listitemmarksize
+ \listitemmarksize=\wd0
+ \advance \listindent by \listitemmarksize
+ \advance \sublistindent by \listitemmarksize
+ \advance \subsublistindent by \listitemmarksize}
+
+%beginlist takes arbitrary parameters that affect the whole list such
+% as font changes ... they are local to the list and will be undone by
+% the endlist
+\newcount\l@iststate \l@iststate=0 % 0 -- outside lists , 1 in list, 2 sublist ...
+
+%#1 - liststate, #2 - break value, #3 - listskip
+\newif\ifo@utsidelist \o@utsidelisttrue
+\newdimen\leftlistoffset
+\newdimen\rightlistoffset
+\def\b@eginlist #1#2#3{\par\penaltybreak{#2}{#3}\begingroup\parskip=0pt
+ \normalbaselines
+ \f@irstlitrue
+ \ifo@utsidelist \rightlistoffset =\rightskip
+ \leftlistoffset=\leftskip \o@utsidelistfalse\fi
+ \the\b@@el\the\b@el\l@iststate=#1}
+
+%\def\endlistmessage#1{<< endlist mismatch --- expected \the\l@iststate :
+% actual #1 >> } see english/french titles ... #2 .. skip #3= penalty
+\def\e@ndlist #1#2#3{\par \removelastskip
+ \ifnum \l@iststate = #1 \else \message{\endlistmessage{#1}} \fi
+ \endgroup \penaltybreak{#3}{#2}}
+% The first list item actually sets the list parameters. This allows for
+% changes in at the beginning of a list in listitem indent and spacing.
+\def\s@etlistparms{\iff@irstli \n@ewlistparms
+ \advance\l@istindent by \leftlistoffset
+ \a@dvance{\leftskip}{\l@istindent}\f@irstlifalse
+ \fi}
+\def\n@ewlistparms{\ifcase\l@iststate
+ \or \let\l@istindent =\listindent
+ \let\l@istitemskip = \listitemskip
+ \or \let\l@istindent =\sublistindent
+ \let\l@istitemskip = \sublistitemskip
+ \or \let\l@istindent =\subsublistindent
+ \let\l@istitemskip = \subsublistitemskip \fi}
+
+% #1 = itemskip #2 = leftindent #3= item flag
+\def\listitem#1 {\par
+ \penaltybreak{-50}{\l@istitemskip}\s@etlistparms
+ \setbox0=\hbox{#1\enspace\hss}
+ \ifdim\wd0 < \listitemmarksize \wd0= \listitemmarksize \fi
+ \noindent\hskip -\listitemmarksize
+ \box0\relax}
+\def\beginlist {\let\b@@el=\e@verylist\let\b@el=\everylist
+ \b@eginlist{1}{0}{\prlistskip}}
+\def\beginsublist {\let\b@@el=\e@verysublist\let\b@el=\everysublist
+ \b@eginlist{2}{100}{\prsublistskip}}
+\def\beginsubsublist {\let\b@@el=\e@verysubsublist\let\b@el=\everysubsublist
+ \b@eginlist{3}{200}{\prsubsublistskip}}
+
+
+\def\endlist {\e@ndlist{1}{\polistskip}{-200}}
+\def\endsublist {\e@ndlist{2}{\posublistskip}{-100}}
+\def\endsubsublist {\e@ndlist{3}{\posubsublistskip}{-50}}
+
+% ----- These are official short forms for the various items -----
+
+\let\li =\listitem
+\let\bl =\beginlist
+\let\bsl=\beginsublist
+\let\bssl=\beginsubsublist
+\let\el=\endlist
+\let\esl = \endsublist
+\let\essl = \endsubsublist
diff --git a/macros/inrstex/inrstex/margform.tex b/macros/inrstex/inrstex/margform.tex
new file mode 100644
index 0000000000..8205fd7597
--- /dev/null
+++ b/macros/inrstex/inrstex/margform.tex
@@ -0,0 +1,35 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% ========= Margin Box =========
+% A margin insert (box) is used to collect reference/citation values
+% If a non INRSTeX output routine is used, it is necessary to remove
+% the \newinsert\m@arginbox, \dimen\m@arginbox and \count\m@arginbox.
+% In addition a \def\proofmargin#1{} should be inserted.
+% This information could be written out to a file rather than
+% printing it on the page.
+
+
+% ----- margin notes ------
+
+\newinsert\m@arginbox
+\dimen\m@arginbox = 8in
+\count\m@arginbox = 0
+
+\newdimen\h@marginboxsize \h@marginboxsize = 1.5in
+\def\margin#1{\gdef\m@ext{\insert\m@arginbox{\vskip
+ 1ex\hbox{\notefont\quad#1}}}\ifinner
+ \aftergroup\m@ext \else \m@ext \fi}
+% --- margin notes will completely disappear if \marginnotesfalse,
+% \proofmargin is redefined or \finalversion is in force.
+
+\newif\ifmarginnotes
+\def\proofmargin#1{\xdef\p@ff{#1}\ifmarginnotes\margin{\p@ff}\fi}
+
+%------ General Style switches --------
+
+\newif\ifproofmode \proofmodetrue % defaults to proofmode
+\def\draftversion{\proofmodetrue \marginnotestrue \overfullrule = 5pt}
+\def\finalversion{\proofmodefalse \marginnotesfalse \overfullrule = 0pt}
+
diff --git a/macros/inrstex/inrstex/masthyph.tex b/macros/inrstex/inrstex/masthyph.tex
new file mode 100644
index 0000000000..c5139c037a
--- /dev/null
+++ b/macros/inrstex/inrstex/masthyph.tex
@@ -0,0 +1,59 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% ======== Master Multilingual Pattern Inputs ======
+
+% This file defines the changes in the \lccodes needed for Multilingual TeX
+% and then inputs the patterns for English and French.
+
+% =========== Special lccodes and hyphenation for Bilingual Version ====
+
+
+\gdef\accenthyphcodes{
+\def\oe{^^[} % \oe
+\def\i{^^P}
+\def\'##1{\csname @ac@##1\endcsname}
+\def\`##1{\csname @gr@##1\endcsname}
+\def\v##1{\csname @v@##1\endcsname}
+\let\^^_=\v
+\def\u##1{\csname @u@##1\endcsname}
+\let\^^S=\u
+\def\=##1{\csname @eq@##1\endcsname}
+\def\^##1{\csname @hat@##1\endcsname}
+\let\^^D=\^
+\def\.##1{\csname @dot@##1\endcsname}
+\def\H##1{\csname @H@##1\endcsname}
+\def\~##1{\csname @til@##1\endcsname}
+\def\"##1{\csname @um@##1\endcsname}
+\let\c@@=\c
+\def\c##1{\csname c@##1\endcsname}
+}
+
+\gdef\spechyphcodes{}
+
+
+
+% ======== Pattern Input / English and French ======
+
+% english hyphenation patterns
+\begingroup
+\language=0
+\input enhyph \relax
+\endgroup
+
+% french hyphenation patterns
+\begingroup
+\language=1
+\input frhyph \relax
+\endgroup
+
+% english hyphenation exceptions
+\begingroup
+\language=0
+\input enhyphex \relax
+\endgroup
+
+% ======= definitions for fast eng/fr hyphenation =====
+\def\ehyph{\language=0 \lccode`\'=0 \nonfrenchspacing}
+\def\fhyph{\language=1 \lccode`\'=`\'\frenchspacing} \ No newline at end of file
diff --git a/macros/inrstex/inrstex/multicol.tex b/macros/inrstex/inrstex/multicol.tex
new file mode 100644
index 0000000000..1d4e9d96ed
--- /dev/null
+++ b/macros/inrstex/inrstex/multicol.tex
@@ -0,0 +1,62 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+%======== Multicolumn format ===========
+% These macros invoke multicolumnformat including balancing columns.
+
+
+
+\newcount\numcolumns %\numcolumns =1
+\newdimen\firstcolumnoffset %\firstcolumnoffset= 0pt
+\newtoks\intercolumnsep %\intercolumnsep = {\hskip 2em}
+
+
+%--- check the remaining page height and set switch
+\newbox\m@ulticolumnbox % accumulates multicolumn pages
+\newbox\t@opmultibox \newbox\testtop
+\newbox\topmulticolumnbox % user available box --- spans entire page
+\newbox\botmulticolumnbox % user available box --- spans entire page
+\newbox\b@otmultibox \newbox\testbot
+\newdimen\multicolpageshortfall \multicolpageshortfall = 1cm
+\newcount\m@ultistate \m@ultistate = 0 % 1 is just into multicolumn
+ % 2 is just out of multicolumn
+\newcount\c@urrentcolumn \c@urrentcolumn = 1
+\def\currentcolumnnum{\the\c@urrentcolumn }
+
+\def\numberofcolumns{\c@urrentcolumn = 1 \afterassignment\c@omputehsize \numcolumns }
+\newtoks\everymulticolumnformat
+\newtoks\e@verymulticolumnformat
+\def\beginmulticolumnformat{\global\m@ultistate = 1
+ \hrule height 0pt depth0pt % to force eject
+ \eject \begingroup
+ \def\ejectpage{\ejectcolumn\null
+ \loop \relax
+ \ifnum \c@urrentcolumn < \numcolumns
+ \ejectcolumn\null
+ \advance\c@urrentcolumn by 1 \relax
+ \repeat }
+ \the\e@verymulticolumnformat
+ \the\everymulticolumnformat }
+
+\newdimen\b@alancevsize \b@alancevsize=\vinnerpagesize
+\newif\ifb@alance
+\def\balancecolumnsize {\global\b@alancetrue \global\b@alancevsize}
+
+\def\a@ddbalcomp{\dimen0=\pagetotal %natural residual
+ \count255=\c@urrentcolumn \advance\count255 by -1 \relax
+ \dimen2 = \vcolumnsize
+ \multiply\dimen2 by \count255
+ \advance\dimen0 by \dimen2
+ \divide\dimen0 by \numcolumns
+ \message{ <<Estimated Balanced Column Size : \the\dimen0 >> }
+ \advance\dimen0 by -\b@alancevsize
+ \message{ <<Estimated Addition: \the\dimen0 >> }
+ }
+\def\endmulticolumnformat{\global\m@ultistate =2 \relax
+ \a@ddbalcomp \ifb@alance\par\eject\else\ejectcolumn \fi
+ \endgroup \numberofcolumns =1
+ \ifdim\vsize<\vinnerpagesize\relax
+ \hrule height0ptdepth0pt\fi }
+ % checks to see if new page
+
diff --git a/macros/inrstex/inrstex/multlang.tex b/macros/inrstex/inrstex/multlang.tex
new file mode 100644
index 0000000000..d392568de3
--- /dev/null
+++ b/macros/inrstex/inrstex/multlang.tex
@@ -0,0 +1,26 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% ====== Multiple Language Support =========
+% This is done via an internal change to TeX itself or through the
+% introduction of a counter called \language. If Bilingual TeX exists,
+% then \language has been defined.
+
+\ifundefined{language} \n@ewcount\language \language=0 \fi
+
+\def\englishversion{\input english \relax}
+\def\versionfrancaise{\input francais \relax}
+
+
+
+%======= are some commands for << and >> in French ======
+% ======== can be made neater when we modify fonts
+% \newcount\language % ..... this is necessary if NOT running Multilingual TeX
+\language = 0 % 0-english 1-french ...
+\def\d@qf{\raise .5ex\hbox{$\scriptscriptstyle{\langle\!\langle}$}\kern.25em}
+\def\g@qf{\kern.25em\raise .5ex\hbox{$\scriptscriptstyle{\rangle\!\rangle}$}}
+\def\ldq{\ifcase\language
+ \lq\lq \else\d@qf\fi} %changes < into `` in english
+\def\rdq{\ifcase\language
+ \rq\rq\else\g@qf\fi} %changes > into '' in english \ No newline at end of file
diff --git a/macros/inrstex/inrstex/out_ps.tex b/macros/inrstex/inrstex/out_ps.tex
new file mode 100644
index 0000000000..7bb12e215d
--- /dev/null
+++ b/macros/inrstex/inrstex/out_ps.tex
@@ -0,0 +1,169 @@
+\catcode`@=11
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% Fix on \firstcolumnoffset 11 May 87 ... MJF
+
+
+% Compensate for 1 inch standard print offsets Sept. 1991 ... ugh!
+\newdimen \hprintoffset
+\newdimen \vprintoffset
+\hprintoffset=1in
+\vprintoffset=1in
+
+
+% Postscript version with arbitrary page scaling/rotation
+
+% ======== INRSTeX Single/Multi Column Output Routine ========
+% This is the entire output routine for INRSTeX. It does both single and
+% Multicolumn since there is a rather large repetition to do otherwise.
+
+
+
+%====== Debugging rules =======
+% These can be turned on to outline the page
+%\def\testhrule{\hrule}
+\let\testhrule = \relax
+%\def\testvrule{\vrule}
+\let\testvrule =\relax
+
+
+% ====== single/multicolumn output routine
+
+
+
+
+\def\tmessage#1{}
+\output{\m@ultipleoutput}
+\def\m@ultipleoutput{\tmessage{Multiout - ms:\the\m@ultistate- cc:\the\c@urrentcolumn - nc:\the\numcolumns}
+ \ifcase\m@ultistate % 0 - only state where shipout allowed
+ \addcolumn{\pagecontents}\relax
+ \global\advance\c@urrentcolumn by 1 \relax
+ \ifnum\c@urrentcolumn > \numcolumns
+ \finaloutput % in normal state
+ \fi
+ \or \s@etuprempage % 1 - into - always go this way
+ \or
+ \addcolumn{\pagecontents}\relax
+ \s@etuprempage % 2 - outof - clean up the current col and store
+ \fi
+ }
+
+
+\def\s@etuprempage{ \global\setbox\t@opmultibox =
+ \vbox{\boxmaxdepth 0pt \offinterlineskip
+ \ifvoid\t@opmultibox \else \unvbox\t@opmultibox \fi
+ \ifvoid\topmulticolumnbox \else \unvbox\topmulticolumnbox\fi
+ \ifvoid\topins \else \unvbox\topins \fi
+ \ifcase\m@ultistate
+ \tmessage{TeX System Error - misplaced multistate -- \the\pageno}
+ \or \ifvoid255 \else \unvbox255 \fi % top of pag
+ \or \ifvoid\m@ulticolumnbox
+ \else \box\m@ulticolumnbox
+ \fi % multicol part page
+ \fi}
+ \global\setbox\b@otmultibox =
+ \vbox{ \boxmaxdepth \maxdepth \offinterlineskip
+ \ifvoid\footins
+ \else \vskip\skip\footins
+ \footnoterule
+ \unvbox\footins
+ \fi
+ \ifvoid\botmulticolumnbox
+ \else \unvbox\botmulticolumnbox
+ \fi}
+ \ifb@alance \advance\parskip by 0pt plus 0pt minus 0pt \fi
+ \ifnum\m@ultistate=2
+ \global\b@alancevsize=\vinnerpagesize
+ \global\numcolumns = 1
+ \global\b@alancefalse
+ \fi
+ \c@omputevsize
+ \tmessage{Rempage: ms:\the\m@ultistate- ip:\the\vinnerpagesize- hc:\the\vcolumnsize-
+ cc:\the\c@urrentcolumn- nc:\the\numcolumns}
+ \global\c@urrentcolumn= 1\global\m@ultistate=0
+ \ifnum\vcolumnsize<\multicolpageshortfall \finaloutput \fi
+ }
+
+
+\def\twoperpage{\xdef\l@page{0}\def\topPS{\ifnum\l@page=0
+ \special{ps:: /EOP {} bdf gsave 576 0 translate 90
+ rotate .7 .7 scale }\else
+ \special{ps:: /EOP {} bdf gsave 576 396 translate 90
+ rotate .7 .7 scale }\fi }
+\def\botPS{\ifnum\l@page=0
+ \special{ps:: grestore }\xdef\l@page{1}
+ \else
+ \special{ps:: grestore showpage }\xdef\l@page{0}\fi }
+\let\d@one=\done \def\done{\ejectpage\ifnum\l@page=1 \finalversion
+ \fullpagestyle \line{} \fi
+ \d@one}}
+
+
+\newif\ifpageps \pagepsfalse
+
+\def\topPS{\ifpageps \t@opsc \fi}
+\def\botPS{\ifpageps \b@otsc \fi}
+
+\def\showpage{showpage }
+\def\pagescale htr:#1 vtr:#2 d:#3 hsc:#4 vsc:#5 {
+ \xdef\t@opsc{\special{ps:: /EOP {} bdf
+ gsave #1 #2 translate #3 rotate #4 #5 scale }}
+ \xdef\b@otsc{\special{ps:: grestore \showpage }}\global\pagepstrue }
+\def\finaloutput{\shipout
+ \hbox{\topPS\leftmarginskip \hskip -\hprintoffset
+ \vbox to \vpapersize{\offinterlineskip % but boxes together
+ \vskip -\vprintoffset
+ \topmarginskip\testhrule
+ \m@akeheadertext\testhrule
+ \hbox{\hskip \firstcolumnoffset \relax \pagebody}\testhrule
+ \m@akefootertext\testhrule
+ \vfill
+ \ifproofmode \vbox to 0pt{\boxmaxdepth 0pt \vss
+ \hbox{\qquad \versionform}} \fi
+ \vfill
+ \vss}\botPS}
+ \tmessage{Final Out: ms:\the\m@ultistate- cc:\the\c@urrentcolumn- nc:\the\numcolumns}
+ \ifp@agenoadv \advancepageno \fi
+ \global\p@agenoadvtrue
+ \global\h@eadertype=\d@ocumentheader % default header style
+ \global\f@ootertype=\d@ocumentfooter % default footer style
+ \c@omputevsize
+ \ifb@alance \advance\parskip by 0pt plus 0pt minus 0pt \fi
+ \ifnum\outputpenalty>-\@MM \else\dosupereject\fi
+ \global\c@urrentcolumn = 1 \global\m@ultistate=0}
+
+\def\addcolumn#1{\tmessage{addcol: ms:\the\m@ultistate- cc:\the\c@urrentcolumn-
+ nc:\the\numcolumns}
+ \global\setbox\m@ulticolumnbox =
+ \hbox{\ifvoid\m@ulticolumnbox
+ \else\unhbox\m@ulticolumnbox\the\intercolumnsep \fi
+ \testvrule\hbox to \hcolumnsize{\vbox to
+ \vcolumnsize{\boxmaxdepth\maxdepth #1}\hss}\testvrule}
+ }
+
+\newbox\i@nnerpagebox
+\def\pagebody{\setbox\i@nnerpagebox = \vbox to\vinnerpagesize{\boxmaxdepth\maxdepth\offinterlineskip
+ \ifvoid\t@opmultibox \else\unvbox\t@opmultibox \fi
+ \ifvoid\m@ulticolumnbox \else\box\m@ulticolumnbox \fi
+ \ifvoid\b@otmultibox\else\unvbox\b@otmultibox \fi}\relax
+ \setbox2= \vbox to
+ \vinnerpagesize{\hsize\h@marginboxsize
+ \vskip 1cm
+ \unvbox\m@arginbox
+ \vss}\relax
+ \hbox{\box\i@nnerpagebox\box2}}
+
+
+\def\pagecontents{\ifvoid\topins\else\unvbox\topins\fi
+ \unvbox\@cclv % open up \box255
+ \ifvoid\footins\else % footnote info is present
+ \vfill
+ \vskip\skip\footins
+ \footnoterule
+ \unvbox\footins\fi
+ \ifr@ggedbottom\vfil\fi}
+
+\def\footnoterule{\kern-3\p@
+ \hrule width .2\hcolumnsize \kern 2.6\p@} % the \hrule is .4pt high
diff --git a/macros/inrstex/inrstex/pagsty.tex b/macros/inrstex/inrstex/pagsty.tex
new file mode 100644
index 0000000000..6eb11e719e
--- /dev/null
+++ b/macros/inrstex/inrstex/pagsty.tex
@@ -0,0 +1,177 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% =========== Document Styles, Page Numbering and Page Sizes ======
+% These are the macros for setting page sizes nad the various flags
+% the header/footer styles
+
+
+
+% ============== Document Style =============
+% Such things as page sizes, header/footer fonts headers and footers should
+% be active for an entire document. \documentstyle is defined so that the
+% correct switches are in force to control the document. In addition
+% a \setpagesizes causes any page size changes to be made.
+
+\newif\ifd@ocsty % switch for document style
+
+\def\documentstyle#1{\d@ocstytrue
+ #1\setpagesizes\d@ocstyfalse}
+% this is not done inside a group because the various assignments cannot be
+% defined global
+
+% The switch \d@ocsty is used in to control the locality of the
+% various page styles.
+
+
+
+
+
+%====== page numbering ==========
+\newif\ifp@agenoadv % determines whether to advance the page number
+\def\nopagenumberadvance{\p@agenoadvfalse} % lasts for one page
+\p@agenoadvtrue % defaults to advanceing on first page
+\def\n@egpagno{\global\multiply\pageno by -1 \relax}
+\def\romanpagenumber{\afterassignment\n@egpagno \global\pageno }
+\def\pagenumber{\global\pageno }
+
+
+
+
+
+
+% ===== Macros for setting page sizes ======
+% Pages involve margins, headers, footers, and column sizes.
+% These set the styles and flags for single and multicolumn.
+
+% ======= dimensions for pages headers etc ======
+% the simple output fixes the header and footer size but allows
+% for the header and footer to be killed as required.
+\newdimen\hpapersize %\hpapersize= 8.5in
+\newdimen\vpapersize %\vpapersize= 11.5in
+\newdimen\vouterpagesize
+\newdimen\houterpagesize
+\newdimen\vinnerpagesize
+\newdimen\hinnerpagesize
+\newdimen\hcolumnsize
+\newdimen\vcolumnsize
+\newdimen\topmarginsize
+\newdimen\leftmarginsize
+\newdimen\vheadersize
+\newdimen\vfootersize
+
+% ===== Historical compatibilities =====
+\let\leftmargin=\leftmarginsize
+\let\topmargin=\topmarginsize
+
+% ===== Margin Macros ======
+\def\leftmarginskip{\hskip \leftmarginsize}
+\def\topmarginskip{\vskip \topmarginsize}
+
+%======= page style forms ======
+
+\newcount\p@agetype \p@agetype=2 %normal ... not used
+\newcount\h@eadertype \h@eadertype=2 %normal
+\newcount\f@ootertype \f@ootertype=2 %normal
+
+
+% ----- General forms for multicolumn -------
+\def\c@ompvinnersize{\dimen0 = \vouterpagesize
+ \ifcase\h@eadertype \relax % delete header
+ \else \advance \dimen0 by -\vheadersize \fi
+ \ifcase\f@ootertype \relax % delete footer
+ \else \advance\dimen0 by -\vfootersize \fi
+ \global\vinnerpagesize = \dimen0
+ \ifb@alance \global\vcolumnsize = \b@alancevsize
+ \else
+ \advance\dimen0 by -\ht\t@opmultibox
+ \advance\dimen0 by -\ht\b@otmultibox \relax
+\tmessage{Vcolsize - vc:\the\dimen0 - vt:\the\ht\t@opmultibox - vb:\the\ht\b@otmultibox - bs:\the\b@alancevsize - }
+ \global\vcolumnsize=\dimen0
+ \fi}
+
+\def\s@etvsize{\global\vsize=\vcolumnsize}
+
+% columnsize = (hinnerpagsize - (numcols-1)intercol)/numcol
+
+\def\c@omphinnersize{\dimen0 = \houterpagesize
+ \advance\dimen0 by -\firstcolumnoffset
+ \advance\dimen0 by -\firstcolumnoffset \relax
+ \global\hinnerpagesize = \dimen0}
+
+\def\s@ethsize{\setbox0=\hbox{\the\intercolumnsep}
+ \dimen0= \numcolumns\wd0 %\the\dimen0
+ \advance\dimen0 by -\wd0 %\the\dimen0
+ \dimen2 = \hinnerpagesize %\the\dimen2
+ \advance\dimen2 by -\dimen0 %\the\dimen0
+ \divide\dimen2 by \numcolumns \relax
+ \global\hcolumnsize = \dimen2
+ \global\hsize = \hcolumnsize}
+\def\c@omputevsize{\c@ompvinnersize\s@etvsize}
+\def\c@omputehsize{\c@omphinnersize\s@ethsize}
+\def\setpagesizes{\c@omputevsize \c@omputehsize}
+
+
+
+% ==== headers, footers, pagestyles ========
+
+
+\newtoks\h@eaderline \newtoks\headertext \newtoks\specialheadertext
+\long\def\h@eaderform {\vbox to \vheadersize
+ {\hsize\houterpagesize \headerfont
+ \testhrule
+ \the\h@eaderline\par\vfil\testhrule}\relax}
+
+\newtoks\f@ooterline \newtoks\footertext \newtoks\specialfootertext
+\long\def\f@ooterform{ \vbox to \vfootersize
+ {\hsize\houterpagesize \footerfont
+ \testhrule
+ \vfil
+ \the\f@ooterline\par\testhrule}\relax}
+\def\m@akeheadertext{\ifcase\h@eadertype \relax % deleted
+ \or \vskip \vheadersize % blanked
+ \or \let\h@eaderline = \headertext \h@eaderform
+ \or \let\h@eaderline = \specialheadertext
+ \h@eaderform \fi
+ }
+\def\m@akefootertext{\ifcase\f@ootertype \relax % deleted
+ \or \vskip \vfootersize % blanked
+ \or \let\f@ooterline=\footertext \f@ooterform
+ \or \let\f@ooterline=\specialfootertext
+ \f@ooterform \fi
+ }
+
+%=== these last only for one page and are reset by output routine ====
+\def\blankheaderstyle{\global\h@eadertype = 1
+ \ifd@ocsty \global\d@ocumentheader = 1 \fi\c@omputevsize}
+\def\normalheaderstyle{\global\h@eadertype= 2
+ \ifd@ocsty \global\d@ocumentheader = 2 \fi\c@omputevsize}
+\def\noheaderstyle{\global\h@eadertype =0
+ \ifd@ocsty \global\d@ocumentheader = 0 \fi\c@omputevsize}
+\def\blankfooterstyle{\global\f@ootertype = 1
+ \ifd@ocsty \global\d@ocumentfooter = 1 \fi\c@omputevsize}
+\def\normalfooterstyle{\global\f@ootertype =2
+ \ifd@ocsty \global\d@ocumentfooter = 2 \fi\c@omputevsize}
+\def\nofooterstyle{\global\f@ootertype =0
+ \ifd@ocsty \global\d@ocumentfooter = 0 \fi\c@omputevsize}
+\let\specialheaderstyle=\normalheaderstyle % default
+\let\specialfooterstyle=\normalfooterstyle % default
+
+% ----- some convenient combinations -----
+\def\titlepagestyle{\global\p@agetype=1 \blankheaderstyle
+ \blankfooterstyle}
+\def\normalpagestyle{\global\p@agetype =2 \normalheaderstyle
+ \normalfooterstyle}
+
+\def\specialpagestyle{\global\p@agetype =2 \specialheaderstyle
+ \specialfooterstyle}
+\def\fullpagestyle{\global\p@agetype =0 \noheaderstyle
+ \nofooterstyle}
+
+
+
+
+% ======== #1 is one of \<...>style --- reset values for output routine
+\newcount\d@ocumentheader
+\newcount\d@ocumentfooter
diff --git a/macros/inrstex/inrstex/papersty.tex b/macros/inrstex/inrstex/papersty.tex
new file mode 100644
index 0000000000..417aafcdad
--- /dev/null
+++ b/macros/inrstex/inrstex/papersty.tex
@@ -0,0 +1,19 @@
+% see english.tex and francais.tex for messages
+\def\paperstyle{\documentstyle{\vouterpagesize = 9.25in
+ \houterpagesize = 6.0in
+ \topmargin = 1in
+ \leftmargin = 1.25in
+ \vheadersize = 0pt
+ \vfootersize = .35in
+ \headertext{} \specialheadertext{}
+ \footertext{\centerline{- \folio\ -}}
+ \let\specialfootertext = \footertext
+ \leftskip=0pt
+ \rightskip=0pt
+ \tenpoint
+ \noheaderstyle
+ \normalfooterstyle
+ \numberbysection
+ \specialnumberscontinuous}}
+
+\paperstyle \ No newline at end of file
diff --git a/macros/inrstex/inrstex/plain_nh.tex b/macros/inrstex/inrstex/plain_nh.tex
new file mode 100644
index 0000000000..c56ad4a3b0
--- /dev/null
+++ b/macros/inrstex/inrstex/plain_nh.tex
@@ -0,0 +1,1220 @@
+% This is the plain TeX format that's described in The TeXbook.
+% N.B.: A version number is defined at the very end of this file;
+% please change that number whenever the file is modified!
+% And don't modify the file under any circumstances.
+
+\catcode`\{=1 % left brace is begin-group character
+\catcode`\}=2 % right brace is end-group character
+\catcode`\$=3 % dollar sign is math shift
+\catcode`\&=4 % ampersand is alignment tab
+\catcode`\#=6 % hash mark is macro parameter character
+\catcode`\^=7 \catcode`\^^K=7 % circumflex and uparrow are for superscripts
+\catcode`\_=8 \catcode`\^^A=8 % underline and downarrow are for subscripts
+\catcode`\^^I=10 % ascii tab is a blank space
+\chardef\active=13 \catcode`\~=\active % tilde is active
+\catcode`\^^L=\active \outer\def^^L{\par} % ascii form-feed is "\outer\par"
+
+\message{Preloading the plain format: codes,}
+
+% We had to define the \catcodes right away, before the message line,
+% since \message uses the { and } characters.
+% When INITEX (the TeX initializer) starts up,
+% it has defined the following \catcode values:
+% \catcode`\^^@=9 % ascii null is ignored
+% \catcode`\^^M=5 % ascii return is end-line
+% \catcode`\\=0 % backslash is TeX escape character
+% \catcode`\%=14 % percent sign is comment character
+% \catcode`\ =10 % ascii space is blank space
+% \catcode`\^^?=15 % ascii delete is invalid
+% \catcode`\A=11 ... \catcode`\Z=11 % uppercase letters
+% \catcode`\a=11 ... \catcode`\z=11 % lowercase letters
+% all others are type 12 (other)
+
+% Here is a list of the characters that have been specially catcoded:
+\def\dospecials{\do\ \do\\\do\{\do\}\do\$\do\&%
+ \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~}
+% (not counting ascii null, tab, linefeed, formfeed, return, delete)
+% Each symbol in the list is preceded by \do, which can be defined
+% if you want to do something to every item in the list.
+
+% We make @ signs act like letters, temporarily, to avoid conflict
+% between user names and internal control sequences of plain format.
+\catcode`@=11
+
+% INITEX sets up \mathcode x=x, for x=0..127, except that
+% \mathcode x=x+"7100, for x = `A to `Z and `a to `z;
+% \mathcode x=x+"7000, for x = `0 to `9.
+% The following changes define internal codes as recommended
+% in Appendix C of The TeXbook:
+\mathcode`\^^@="2201 % \cdot
+\mathcode`\^^A="3223 % \downarrow
+\mathcode`\^^B="010B % \alpha
+\mathcode`\^^C="010C % \beta
+\mathcode`\^^D="225E % \land
+\mathcode`\^^E="023A % \lnot
+\mathcode`\^^F="3232 % \in
+\mathcode`\^^G="0119 % \pi
+\mathcode`\^^H="0115 % \lambda
+\mathcode`\^^I="010D % \gamma
+\mathcode`\^^J="010E % \delta
+\mathcode`\^^K="3222 % \uparrow
+\mathcode`\^^L="2206 % \pm
+\mathcode`\^^M="2208 % \oplus
+\mathcode`\^^N="0231 % \infty
+\mathcode`\^^O="0140 % \partial
+\mathcode`\^^P="321A % \subset
+\mathcode`\^^Q="321B % \supset
+\mathcode`\^^R="225C % \cap
+\mathcode`\^^S="225B % \cup
+\mathcode`\^^T="0238 % \forall
+\mathcode`\^^U="0239 % \exists
+\mathcode`\^^V="220A % \otimes
+\mathcode`\^^W="3224 % \leftrightarrow
+\mathcode`\^^X="3220 % \leftarrow
+\mathcode`\^^Y="3221 % \rightarrow
+\mathcode`\^^Z="8000 % \ne
+\mathcode`\^^[="2205 % \diamond
+\mathcode`\^^\="3214 % \le
+\mathcode`\^^]="3215 % \ge
+\mathcode`\^^^="3211 % \equiv
+\mathcode`\^^_="225F % \lor
+\mathcode`\ ="8000 % \space
+\mathcode`\!="5021
+\mathcode`\'="8000 % ^\prime
+\mathcode`\(="4028
+\mathcode`\)="5029
+\mathcode`\*="2203 % \ast
+\mathcode`\+="202B
+\mathcode`\,="613B
+\mathcode`\-="2200
+\mathcode`\.="013A
+\mathcode`\/="013D
+\mathcode`\:="303A
+\mathcode`\;="603B
+\mathcode`\<="313C
+\mathcode`\=="303D
+\mathcode`\>="313E
+\mathcode`\?="503F
+\mathcode`\[="405B
+\mathcode`\\="026E % \backslash
+\mathcode`\]="505D
+\mathcode`\_="8000 % \_
+\mathcode`\{="4266
+\mathcode`\|="026A
+\mathcode`\}="5267
+\mathcode`\^^?="1273 % \smallint
+
+% INITEX sets \uccode`x=`X and \uccode `X=`X for all letters x,
+% and \lccode`x=`x, \lccode`X=`x; all other values are zero.
+% No changes to those tables are needed in plain TeX format.
+
+% INITEX sets \sfcode x=1000 for all x, except that \sfcode`X=999
+% for uppercase letters. The following changes are needed:
+\sfcode`\)=0 \sfcode`\'=0 \sfcode`\]=0
+% The \nonfrenchspacing macro will make further changes to \sfcode values.
+
+% Finally, INITEX sets all \delcode values to -1, except \delcode`.=0
+\delcode`\(="028300
+\delcode`\)="029301
+\delcode`\[="05B302
+\delcode`\]="05D303
+\delcode`\<="26830A
+\delcode`\>="26930B
+\delcode`\/="02F30E
+\delcode`\|="26A30C
+\delcode`\\="26E30F
+% N.B. { and } should NOT get delcodes; otherwise parameter grouping fails!
+
+% To make the plain macros more efficient in time and space,
+% several constant values are declared here as control sequences.
+% If they were changed, anything could happen; so they are private symbols.
+\chardef\@ne=1
+\chardef\tw@=2
+\chardef\thr@@=3
+\chardef\sixt@@n=16
+\chardef\@cclv=255
+\mathchardef\@cclvi=256
+\mathchardef\@m=1000
+\mathchardef\@M=10000
+\mathchardef\@MM=20000
+
+% Allocation of registers
+
+% Here are macros for the automatic allocation of \count, \box, \dimen,
+% \skip, \muskip, and \toks registers, as well as \read and \write
+% stream numbers, \fam codes, and \insert numbers.
+
+\message{registers,}
+
+% When a register is used only temporarily, it need not be allocated;
+% grouping can be used, making the value previously in the register return
+% after the close of the group. The main use of these macros is for
+% registers that are defined by one macro and used by others, possibly at
+% different nesting levels. All such registers should be defined through
+% these macros; otherwise conflicts may occur, especially when two or more
+% more macro packages are being used at once.
+
+% The following counters are reserved:
+% 0 to 9 page numbering
+% 10 count allocation
+% 11 dimen allocation
+% 12 skip allocation
+% 13 muskip allocation
+% 14 box allocation
+% 15 toks allocation
+% 16 read file allocation
+% 17 write file allocation
+% 18 math family allocation
+% 19 insert allocation
+% 20 the most recently allocated number
+% 21 constant -1
+% New counters are allocated starting with 22, 23, etc. Other registers are
+% allocated starting with 10. This leaves 0 through 9 for the user to play
+% with safely, except that counts 0 to 9 are considered to be the page and
+% subpage numbers (since they are displayed during output). In this scheme,
+% \count 10 always contains the number of the highest-numbered counter that
+% has been allocated, \count 14 the highest-numbered box, etc.
+% Inserts are given numbers 254, 253, etc., since they require a \count,
+% \dimen, \skip, and \box all with the same number; \count 19 contains the
+% lowest-numbered insert that has been allocated. Of course, \box255 is
+% reserved for \output; \count255, \dimen255, and \skip255 can be used freely.
+
+% It is recommends that macro designers always use
+% \global assignments with respect to registers numbered 1, 3, 5, 7, 9, and
+% always non-\global assignments with respect to registers 0, 2, 4, 6, 8, 255.
+% This will prevent ``save stack buildup'' that might otherwise occur.
+
+\count10=21 % allocates \count registers 22, 23, ...
+\count11=9 % allocates \dimen registers 10, 11, ...
+\count12=9 % allocates \skip registers 10, 11, ...
+\count13=9 % allocates \muskip registers 10, 11, ...
+\count14=9 % allocates \box registers 10, 11, ...
+\count15=9 % allocates \toks registers 10, 11, ...
+\count16=-1 % allocates input streams 0, 1, ...
+\count17=-1 % allocates output streams 0, 1, ...
+\count18=3 % allocates math families 4, 5, ...
+\count19=255 % allocates insertions 254, 253, ...
+\countdef\insc@unt=19 % the insertion counter
+\countdef\allocationnumber=20 % the most recent allocation
+\countdef\m@ne=21 \m@ne=-1 % a handy constant
+\def\wlog{\immediate\write\m@ne} % write on log file (only)
+
+% Here are abbreviations for the names of scratch registers
+% that don't need to be allocated.
+
+\countdef\count@=255
+\dimendef\dimen@=0
+\dimendef\dimen@i=1 % global only
+\dimendef\dimen@ii=2
+\skipdef\skip@=0
+\toksdef\toks@=0
+
+% Now, we define \newcount, \newbox, etc. so that you can say \newcount\foo
+% and \foo will be defined (with \countdef) to be the next counter.
+% To find out which counter \foo is, you can look at \allocationnumber.
+% Since there's no \boxdef command, \chardef is used to define a \newbox,
+% \newinsert, \newfam, and so on.
+
+\outer\def\newcount{\alloc@0\count\countdef\insc@unt}
+\outer\def\newdimen{\alloc@1\dimen\dimendef\insc@unt}
+\outer\def\newskip{\alloc@2\skip\skipdef\insc@unt}
+\outer\def\newmuskip{\alloc@3\muskip\muskipdef\@cclvi}
+\outer\def\newbox{\alloc@4\box\chardef\insc@unt}
+\let\newtoks=\relax % we do this to allow plain.tex to be read in twice
+\outer\def\newhelp#1#2{\newtoks#1#1\expandafter{\csname#2\endcsname}}
+\outer\def\newtoks{\alloc@5\toks\toksdef\@cclvi}
+\outer\def\newread{\alloc@6\read\chardef\sixt@@n}
+\outer\def\newwrite{\alloc@7\write\chardef\sixt@@n}
+\outer\def\newfam{\alloc@8\fam\chardef\sixt@@n}
+\def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne
+ \ch@ck#1#4#2% make sure there's still room
+ \allocationnumber=\count1#1%
+ \global#3#5=\allocationnumber
+ \wlog{\string#5=\string#2\the\allocationnumber}}
+\outer\def\newinsert#1{\global\advance\insc@unt by\m@ne
+ \ch@ck0\insc@unt\count
+ \ch@ck1\insc@unt\dimen
+ \ch@ck2\insc@unt\skip
+ \ch@ck4\insc@unt\box
+ \allocationnumber=\insc@unt
+ \global\chardef#1=\allocationnumber
+ \wlog{\string#1=\string\insert\the\allocationnumber}}
+\def\ch@ck#1#2#3{\ifnum\count1#1<#2%
+ \else\errmessage{No room for a new #3}\fi}
+
+% Here are some examples of allocation.
+\newdimen\maxdimen \maxdimen=16383.99999pt % the largest legal <dimen>
+\newskip\hideskip \hideskip=-1000pt plus 1fill % negative but can grow
+\newskip\centering \centering=0pt plus 1000pt minus 1000pt
+\newdimen\p@ \p@=1pt % this saves macro space and time
+\newdimen\z@ \z@=0pt % can be used both for 0pt and 0
+\newskip\z@skip \z@skip=0pt plus0pt minus0pt
+\newbox\voidb@x % permanently void box register
+
+% And here's a different sort of allocation:
+% For example, \newif\iffoo creates \footrue, \foofalse to go with \iffoo.
+\outer\def\newif#1{\count@\escapechar \escapechar\m@ne
+ \expandafter\expandafter\expandafter
+ \edef\@if#1{true}{\let\noexpand#1=\noexpand\iftrue}%
+ \expandafter\expandafter\expandafter
+ \edef\@if#1{false}{\let\noexpand#1=\noexpand\iffalse}%
+ \@if#1{false}\escapechar\count@} % the condition starts out false
+\def\@if#1#2{\csname\expandafter\if@\string#1#2\endcsname}
+{\uccode`1=`i \uccode`2=`f \uppercase{\gdef\if@12{}}} % `if' is required
+
+% Assign initial values to TeX's parameters
+
+\message{parameters,}
+
+% All of TeX's numeric parameters are listed here,
+% but the code is commented out if no special value needs to be set.
+% INITEX makes all parameters zero except where noted.
+
+\pretolerance=100
+\tolerance=200 % INITEX sets this to 10000
+\hbadness=1000
+\vbadness=1000
+\linepenalty=10
+\hyphenpenalty=50
+\exhyphenpenalty=50
+\binoppenalty=700
+\relpenalty=500
+\clubpenalty=150
+\widowpenalty=150
+\displaywidowpenalty=50
+\brokenpenalty=100
+\predisplaypenalty=10000
+% \postdisplaypenalty=0
+% \interlinepenalty=0
+% \floatingpenalty=0, set during \insert
+% \outputpenalty=0, set before TeX enters \output
+\doublehyphendemerits=10000
+\finalhyphendemerits=5000
+\adjdemerits=10000
+% \looseness=0, cleared by TeX after each paragraph
+% \pausing=0
+% \tracingonline=0
+% \tracingmacros=0
+% \tracingstats=0
+% \tracingparagraphs=0
+% \tracingpages=0
+% \tracingoutput=0
+\tracinglostchars=1
+% \tracingcommands=0
+% \tracingrestores=0
+\uchyph=1
+% \globaldefs=0
+% \maxdeadcycles=25 % INITEX does this
+% \hangafter=1 % INITEX does this, also TeX after each paragraph
+% \fam=0
+% \mag=1000 % INITEX does this
+% \escapechar=`\\ % INITEX does this
+\defaulthyphenchar=`\-
+\defaultskewchar=-1
+% \endlinechar=`\^^M % INITEX does this
+\newlinechar=-1
+\delimiterfactor=901
+% \time=now % TeX does this at beginning of job
+% \day=now % TeX does this at beginning of job
+% \month=now % TeX does this at beginning of job
+% \year=now % TeX does this at beginning of job
+\showboxbreadth=5
+\showboxdepth=3
+
+\hfuzz=0.1pt
+\vfuzz=0.1pt
+\overfullrule=5pt
+\hsize=6.5in
+\vsize=8.9in
+\maxdepth=4pt
+\splitmaxdepth=\maxdimen
+\boxmaxdepth=\maxdimen
+% \lineskiplimit=0pt, changed by \normalbaselines
+\delimitershortfall=5pt
+\nulldelimiterspace=1.2pt
+\scriptspace=0.5pt
+% \mathsurround=0pt
+% \predisplaysize=0pt, set before TeX enters $$
+% \displaywidth=0pt, set before TeX enters $$
+% \displayindent=0pt, set before TeX enters $$
+\parindent=20pt
+% \hangindent=0pt, zeroed by TeX after each paragraph
+% \hoffset=0pt
+% \voffset=0pt
+
+% \baselineskip=0pt, changed by \normalbaselines
+% \lineskip=0pt, changed by \normalbaselines
+\parskip=0pt plus 1pt
+\abovedisplayskip=12pt plus 3pt minus 9pt
+\abovedisplayshortskip=0pt plus 3pt
+\belowdisplayskip=12pt plus 3pt minus 9pt
+\belowdisplayshortskip=7pt plus 3pt minus 4pt
+% \leftskip=0pt
+% \rightskip=0pt
+\topskip=10pt
+\splittopskip=10pt
+% \tabskip=0pt
+% \spaceskip=0pt
+% \xspaceskip=0pt
+\parfillskip=0pt plus 1fil
+
+\thinmuskip=3mu
+\medmuskip=4mu plus 2mu minus 4mu
+\thickmuskip=5mu plus 5mu
+
+% We also define special registers that function like parameters:
+\newskip\smallskipamount \smallskipamount=3pt plus 1pt minus 1pt
+\newskip\medskipamount \medskipamount=6pt plus 2pt minus 2pt
+\newskip\bigskipamount \bigskipamount=12pt plus 4pt minus 4pt
+\newskip\normalbaselineskip \normalbaselineskip=12pt
+\newskip\normallineskip \normallineskip=1pt
+\newdimen\normallineskiplimit \normallineskiplimit=0pt
+\newdimen\jot \jot=3pt
+\newcount\interdisplaylinepenalty \interdisplaylinepenalty=100
+\newcount\interfootnotelinepenalty \interfootnotelinepenalty=100
+
+% Definitions for preloaded fonts
+
+\def\magstephalf{1095 }
+\def\magstep#1{\ifcase#1 \@m\or 1200\or 1440\or 1728\or 2074\or 2488\fi\relax}
+
+% Fonts assigned to \preloaded are not part of "plain TeX",
+% but they are preloaded so that other format packages can use them.
+% For example, if another set of macros says "\font\ninerm=cmr9",
+% TeX will not have to reload the font metric information for cmr9.
+
+\message{fonts,}
+
+\font\tenrm=cmr10 % roman text
+\font\preloaded=cmr9
+\font\preloaded=cmr8
+\font\sevenrm=cmr7
+\font\preloaded=cmr6
+\font\fiverm=cmr5
+
+\font\teni=cmmi10 % math italic
+\font\preloaded=cmmi9
+\font\preloaded=cmmi8
+\font\seveni=cmmi7
+\font\preloaded=cmmi6
+\font\fivei=cmmi5
+
+\font\tensy=cmsy10 % math symbols
+\font\preloaded=cmsy9
+\font\preloaded=cmsy8
+\font\sevensy=cmsy7
+\font\preloaded=cmsy6
+\font\fivesy=cmsy5
+
+\font\tenex=cmex10 % math extension
+
+\font\preloaded=cmss10 % sans serif
+\font\preloaded=cmssq8
+
+\font\preloaded=cmssi10 % sans serif italic
+\font\preloaded=cmssqi8
+
+\font\tenbf=cmbx10 % boldface extended
+\font\preloaded=cmbx9
+\font\preloaded=cmbx8
+\font\sevenbf=cmbx7
+\font\preloaded=cmbx6
+\font\fivebf=cmbx5
+
+\font\tentt=cmtt10 % typewriter
+\font\preloaded=cmtt9
+\font\preloaded=cmtt8
+
+\font\preloaded=cmsltt10 % slanted typewriter
+
+\font\tensl=cmsl10 % slanted roman
+\font\preloaded=cmsl9
+\font\preloaded=cmsl8
+
+\font\tenit=cmti10 % text italic
+\font\preloaded=cmti9
+\font\preloaded=cmti8
+\font\preloaded=cmti7
+
+\message{more fonts,}
+\font\preloaded=cmu10 % unslanted text italic
+
+\font\preloaded=cmmib10 % bold math italic
+\font\preloaded=cmbsy10 % bold math symbols
+
+\font\preloaded=cmcsc10 % caps and small caps
+
+\font\preloaded=cmssbx10 % sans serif bold extended
+
+\font\preloaded=cmdunh10 % Dunhill style
+
+\font\preloaded=cmr7 scaled \magstep4 % for titles
+\font\preloaded=cmtt10 scaled \magstep2
+\font\preloaded=cmssbx10 scaled \magstep2
+
+% \font\preloaded=manfnt % METAFONT logo and dragon curve and special symbols
+\font\preloaded=logo10 % METAFONT logo and dragon curve and special symbols ??
+
+% Additional \preloaded fonts can be specified here.
+% (And those that were \preloaded above can be eliminated.)
+
+\let\preloaded=\undefined % preloaded fonts must be declared anew later.
+
+\skewchar\teni='177 \skewchar\seveni='177 \skewchar\fivei='177
+\skewchar\tensy='60 \skewchar\sevensy='60 \skewchar\fivesy='60
+
+\textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm
+\def\rm{\fam\z@\tenrm}
+\textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei
+\def\mit{\fam\@ne} \def\oldstyle{\fam\@ne\teni}
+\textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy
+\def\cal{\fam\tw@}
+\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
+\newfam\itfam \def\it{\fam\itfam\tenit} % \it is family 4
+\textfont\itfam=\tenit
+\newfam\slfam \def\sl{\fam\slfam\tensl} % \sl is family 5
+\textfont\slfam=\tensl
+\newfam\bffam \def\bf{\fam\bffam\tenbf} % \bf is family 6
+\textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf
+\scriptscriptfont\bffam=\fivebf
+\newfam\ttfam \def\tt{\fam\ttfam\tentt} % \tt is family 7
+\textfont\ttfam=\tentt
+
+% Macros for setting ordinary text
+\message{macros,}
+
+\def\frenchspacing{\sfcode`\.\@m \sfcode`\?\@m \sfcode`\!\@m
+ \sfcode`\:\@m \sfcode`\;\@m \sfcode`\,\@m}
+\def\nonfrenchspacing{\sfcode`\.3000\sfcode`\?3000\sfcode`\!3000%
+ \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 }
+
+\def\normalbaselines{\lineskip\normallineskip
+ \baselineskip\normalbaselineskip \lineskiplimit\normallineskiplimit}
+
+\def\^^M{\ } % control <return> = control <space>
+\def\^^I{\ } % same for <tab>
+
+\def\lq{`} \def\rq{'}
+\def\lbrack{[} \def\rbrack{]}
+
+\let\endgraf=\par \let\endline=\cr
+
+\def\space{ }
+\def\empty{}
+\def\null{\hbox{}}
+
+\let\bgroup={ \let\egroup=}
+
+% In \obeylines, we say `\let^^M=\par' instead of `\def^^M{\par}'
+% since this allows, for example, `\let\par=\cr \obeylines \halign{...'
+{\catcode`\^^M=\active % these lines must end with %
+ \gdef\obeylines{\catcode`\^^M\active \let^^M\par}%
+ \global\let^^M\par} % this is in case ^^M appears in a \write
+\def\obeyspaces{\catcode`\ \active}
+{\obeyspaces\global\let =\space}
+
+\def\loop#1\repeat{\def\body{#1}\iterate}
+\def\iterate{\body \let\next\iterate \else\let\next\relax\fi \next}
+\let\repeat=\fi % this makes \loop...\if...\repeat skippable
+
+\def\thinspace{\kern .16667em }
+\def\negthinspace{\kern-.16667em }
+\def\enspace{\kern.5em }
+
+\def\enskip{\hskip.5em\relax}
+\def\quad{\hskip1em\relax}
+\def\qquad{\hskip2em\relax}
+
+\def\smallskip{\vskip\smallskipamount}
+\def\medskip{\vskip\medskipamount}
+\def\bigskip{\vskip\bigskipamount}
+
+\def\nointerlineskip{\prevdepth-1000\p@}
+\def\offinterlineskip{\baselineskip-1000\p@
+ \lineskip\z@ \lineskiplimit\maxdimen}
+
+\def\vglue{\afterassignment\vgl@\skip@=}
+\def\vgl@{\par \dimen@\prevdepth \hrule height\z@
+ \nobreak\vskip\skip@ \prevdepth\dimen@}
+\def\hglue{\afterassignment\hgl@\skip@=}
+\def\hgl@{\leavevmode \count@\spacefactor \vrule width\z@
+ \nobreak\hskip\skip@ \spacefactor\count@}
+
+\def~{\penalty\@M \ } % tie
+\def\slash{/\penalty\exhyphenpenalty} % a `/' that acts like a `-'
+
+\def\break{\penalty-\@M}
+\def\nobreak{\penalty \@M}
+\def\allowbreak{\penalty \z@}
+
+\def\filbreak{\par\vfil\penalty-200\vfilneg}
+\def\goodbreak{\par\penalty-500 }
+\def\eject{\par\break}
+\def\supereject{\par\penalty-\@MM}
+
+\def\removelastskip{\ifdim\lastskip=\z@\else\vskip-\lastskip\fi}
+\def\smallbreak{\par\ifdim\lastskip<\smallskipamount
+ \removelastskip\penalty-50\smallskip\fi}
+\def\medbreak{\par\ifdim\lastskip<\medskipamount
+ \removelastskip\penalty-100\medskip\fi}
+\def\bigbreak{\par\ifdim\lastskip<\bigskipamount
+ \removelastskip\penalty-200\bigskip\fi}
+
+\def\line{\hbox to\hsize}
+\def\leftline#1{\line{#1\hss}}
+\def\rightline#1{\line{\hss#1}}
+\def\centerline#1{\line{\hss#1\hss}}
+
+\def\rlap#1{\hbox to\z@{#1\hss}}
+\def\llap#1{\hbox to\z@{\hss#1}}
+
+\def\m@th{\mathsurround=\z@}
+\def\underbar#1{$\setbox\z@\hbox{#1}\dp\z@\z@
+ \m@th \underline{\box\z@}$}
+
+\newbox\strutbox
+\setbox\strutbox=\hbox{\vrule height8.5pt depth3.5pt width\z@}
+\def\strut{\relax\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi}
+
+\def\hidewidth{\hskip\hideskip} % for alignment entries that can stick out
+\def\ialign{\everycr{}\tabskip\z@skip\halign} % initialized \halign
+\newcount\mscount
+\def\multispan#1{\omit \mscount#1
+ \loop\ifnum\mscount>\@ne \sp@n\repeat}
+\def\sp@n{\span\omit\advance\mscount\m@ne}
+
+\newif\ifus@ \newif\if@cr
+\newbox\tabs \newbox\tabsyet \newbox\tabsdone
+
+\def\cleartabs{\global\setbox\tabsyet\null \setbox\tabs\null}
+\def\settabs{\setbox\tabs\null \futurelet\next\sett@b}
+\let\+=\relax % in case this file is being read in twice
+\def\sett@b{\ifx\next\+\let\next\relax
+ \def\next{\afterassignment\s@tt@b\let\next}%
+ \else\let\next\s@tcols\fi\next}
+\def\s@tt@b{\let\next\relax\us@false\m@ketabbox}
+\def\tabalign{\us@true\m@ketabbox} % non-\outer version of \+
+\outer\def\+{\tabalign}
+\def\s@tcols#1\columns{\count@#1 \dimen@\hsize
+ \loop\ifnum\count@>\z@ \@nother \repeat}
+\def\@nother{\dimen@ii\dimen@ \divide\dimen@ii\count@
+ \setbox\tabs\hbox{\hbox to\dimen@ii{}\unhbox\tabs}%
+ \advance\dimen@-\dimen@ii \advance\count@\m@ne}
+
+\def\m@ketabbox{\begingroup
+ \global\setbox\tabsyet\copy\tabs
+ \global\setbox\tabsdone\null
+ \def\cr{\@crtrue\crcr\egroup\egroup
+ \ifus@\unvbox\z@\lastbox\fi\endgroup
+ \setbox\tabs\hbox{\unhbox\tabsyet\unhbox\tabsdone}}%
+ \setbox\z@\vbox\bgroup\@crfalse
+ \ialign\bgroup&\t@bbox##\t@bb@x\crcr}
+
+\def\t@bbox{\setbox\z@\hbox\bgroup}
+\def\t@bb@x{\if@cr\egroup % now \box\z@ holds the column
+ \else\hss\egroup \global\setbox\tabsyet\hbox{\unhbox\tabsyet
+ \global\setbox\@ne\lastbox}% now \box\@ne holds its size
+ \ifvoid\@ne\global\setbox\@ne\hbox to\wd\z@{}%
+ \else\setbox\z@\hbox to\wd\@ne{\unhbox\z@}\fi
+ \global\setbox\tabsdone\hbox{\box\@ne\unhbox\tabsdone}\fi
+ \box\z@}
+
+\def\hang{\hangindent\parindent}
+\def\textindent#1{\indent\llap{#1\enspace}\ignorespaces}
+\def\item{\par\hang\textindent}
+\def\itemitem{\par\indent \hangindent2\parindent \textindent}
+\def\narrower{\advance\leftskip\parindent
+ \advance\rightskip\parindent}
+
+\outer\def\beginsection#1\par{\vskip\z@ plus.3\vsize\penalty-250
+ \vskip\z@ plus-.3\vsize\bigskip\vskip\parskip
+ \message{#1}\leftline{\bf#1}\nobreak\smallskip\noindent}
+\outer\def\proclaim #1. #2\par{\medbreak
+ \noindent{\bf#1.\enspace}{\sl#2}\par
+ \ifdim\lastskip<\medskipamount \removelastskip\penalty55\medskip\fi}
+
+\def\raggedright{\rightskip\z@ plus2em \spaceskip.3333em \xspaceskip.5em }
+\def\ttraggedright{\tt\rightskip\z@ plus2em } % for use with \tt only
+
+\chardef\%=`\%
+\chardef\&=`\&
+\chardef\#=`\#
+\chardef\$=`\$
+\chardef\ss="19
+\chardef\ae="1A
+\chardef\oe="1B
+\chardef\o="1C
+\chardef\AE="1D
+\chardef\OE="1E
+\chardef\O="1F
+\chardef\i="10 \chardef\j="11 % dotless letters
+\def\aa{\accent23a}
+\def\l{\char32l}
+\def\L{\leavevmode\setbox0\hbox{L}\hbox to\wd0{\hss\char32L}}
+
+\def\leavevmode{\unhbox\voidb@x} % begins a paragraph, if necessary
+\def\_{\leavevmode \kern.06em \vbox{\hrule width.3em}}
+\def\AA{\leavevmode\setbox0\hbox{h}\dimen@\ht0\advance\dimen@-1ex%
+ \rlap{\raise.67\dimen@\hbox{\char'27}}A}
+
+\def\mathhexbox#1#2#3{\leavevmode
+ \hbox{$\m@th \mathchar"#1#2#3$}}
+\def\dag{\mathhexbox279}
+\def\ddag{\mathhexbox27A}
+\def\S{\mathhexbox278}
+\def\P{\mathhexbox27B}
+
+\def\oalign#1{\leavevmode\vtop{\baselineskip\z@skip \lineskip.25ex%
+ \ialign{##\crcr#1\crcr}}} % put characters over each other
+\def\ooalign{\lineskiplimit-\maxdimen \oalign}
+\def\d#1{\oalign{#1\crcr\hidewidth.\hidewidth}}
+\def\b#1{\oalign{#1\crcr\hidewidth
+ \vbox to.2ex{\hbox{\char22}\vss}\hidewidth}}
+\def\c#1{\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent24 #1%
+ \else{\ooalign{\hidewidth\char24\hidewidth\crcr\unhbox\z@}}\fi}
+\def\copyright{{\ooalign{\hfil\raise.07ex\hbox{c}\hfil\crcr\mathhexbox20D}}}
+
+\def\dots{\relax\ifmmode\ldots\else$\m@th\ldots\,$\fi}
+\def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX}
+
+\def\`#1{{\accent18 #1}}
+\def\'#1{{\accent19 #1}}
+\def\v#1{{\accent20 #1}} \let\^^_=\v
+\def\u#1{{\accent21 #1}} \let\^^S=\u
+\def\=#1{{\accent22 #1}}
+\def\^#1{{\accent94 #1}} \let\^^D=\^
+\def\.#1{{\accent95 #1}}
+\def\H#1{{\accent"7D #1}}
+\def\~#1{{\accent"7E #1}}
+\def\"#1{{\accent"7F #1}}
+\def\t#1{{\edef\next{\the\font}\the\textfont1\accent"7F\next#1}}
+
+\def\hrulefill{\leaders\hrule\hfill}
+\def\dotfill{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfill}
+\def\rightarrowfill{$\m@th\mathord-\mkern-6mu%
+ \cleaders\hbox{$\mkern-2mu\mathord-\mkern-2mu$}\hfill
+ \mkern-6mu\mathord\rightarrow$}
+\def\leftarrowfill{$\m@th\mathord\leftarrow\mkern-6mu%
+ \cleaders\hbox{$\mkern-2mu\mathord-\mkern-2mu$}\hfill
+ \mkern-6mu\mathord-$}
+\mathchardef\braceld="37A \mathchardef\bracerd="37B
+\mathchardef\bracelu="37C \mathchardef\braceru="37D
+\def\downbracefill{$\m@th\braceld\leaders\vrule\hfill\braceru
+ \bracelu\leaders\vrule\hfill\bracerd$}
+\def\upbracefill{$\m@th\bracelu\leaders\vrule\hfill\bracerd
+ \braceld\leaders\vrule\hfill\braceru$}
+
+\outer\def\bye{\par\vfill\supereject\end}
+
+% Macros for math setting
+\message{math definitions,}
+
+\let\sp=^ \let\sb=_
+\def\,{\mskip\thinmuskip}
+\def\>{\mskip\medmuskip}
+\def\;{\mskip\thickmuskip}
+\def\!{\mskip-\thinmuskip}
+\def\*{\discretionary{\thinspace\the\textfont2\char2}{}{}}
+{\catcode`\'=\active \gdef'{^\bgroup\prim@s}}
+\def\prim@s{\prime\futurelet\next\pr@m@s}
+\def\pr@m@s{\ifx'\next\let\next\pr@@@s \else\ifx^\next\let\next\pr@@@t
+ \else\let\next\egroup\fi\fi \next}
+\def\pr@@@s#1{\prim@s} \def\pr@@@t#1#2{#2\egroup}
+{\catcode`\^^Z=\active \gdef^^Z{\not=}} % ^^Z is like \ne in math
+{\catcode`\_=\active \let_=\_} % _ is like \_ if not used for subscripts
+
+\mathchardef\alpha="010B
+\mathchardef\beta="010C
+\mathchardef\gamma="010D
+\mathchardef\delta="010E
+\mathchardef\epsilon="010F
+\mathchardef\zeta="0110
+\mathchardef\eta="0111
+\mathchardef\theta="0112
+\mathchardef\iota="0113
+\mathchardef\kappa="0114
+\mathchardef\lambda="0115
+\mathchardef\mu="0116
+\mathchardef\nu="0117
+\mathchardef\xi="0118
+\mathchardef\pi="0119
+\mathchardef\rho="011A
+\mathchardef\sigma="011B
+\mathchardef\tau="011C
+\mathchardef\upsilon="011D
+\mathchardef\phi="011E
+\mathchardef\chi="011F
+\mathchardef\psi="0120
+\mathchardef\omega="0121
+\mathchardef\varepsilon="0122
+\mathchardef\vartheta="0123
+\mathchardef\varpi="0124
+\mathchardef\varrho="0125
+\mathchardef\varsigma="0126
+\mathchardef\varphi="0127
+\mathchardef\Gamma="7000
+\mathchardef\Delta="7001
+\mathchardef\Theta="7002
+\mathchardef\Lambda="7003
+\mathchardef\Xi="7004
+\mathchardef\Pi="7005
+\mathchardef\Sigma="7006
+\mathchardef\Upsilon="7007
+\mathchardef\Phi="7008
+\mathchardef\Psi="7009
+\mathchardef\Omega="700A
+
+\mathchardef\aleph="0240
+\def\hbar{{\mathchar'26\mkern-9muh}}
+\mathchardef\imath="017B
+\mathchardef\jmath="017C
+\mathchardef\ell="0160
+\mathchardef\wp="017D
+\mathchardef\Re="023C
+\mathchardef\Im="023D
+\mathchardef\partial="0140
+\mathchardef\infty="0231
+\mathchardef\prime="0230
+\mathchardef\emptyset="023B
+\mathchardef\nabla="0272
+\def\surd{{\mathchar"1270}}
+\mathchardef\top="023E
+\mathchardef\bot="023F
+\def\angle{{\vbox{\ialign{$\m@th\scriptstyle##$\crcr
+ \not\mathrel{\mkern14mu}\crcr
+ \noalign{\nointerlineskip}
+ \mkern2.5mu\leaders\hrule height.34pt\hfill\mkern2.5mu\crcr}}}}
+\mathchardef\triangle="0234
+\mathchardef\forall="0238
+\mathchardef\exists="0239
+\mathchardef\neg="023A \let\lnot=\neg
+\mathchardef\flat="015B
+\mathchardef\natural="015C
+\mathchardef\sharp="015D
+\mathchardef\clubsuit="027C
+\mathchardef\diamondsuit="027D
+\mathchardef\heartsuit="027E
+\mathchardef\spadesuit="027F
+
+\mathchardef\coprod="1360
+\mathchardef\bigvee="1357
+\mathchardef\bigwedge="1356
+\mathchardef\biguplus="1355
+\mathchardef\bigcap="1354
+\mathchardef\bigcup="1353
+\mathchardef\intop="1352 \def\int{\intop\nolimits}
+\mathchardef\prod="1351
+\mathchardef\sum="1350
+\mathchardef\bigotimes="134E
+\mathchardef\bigoplus="134C
+\mathchardef\bigodot="134A
+\mathchardef\ointop="1348 \def\oint{\ointop\nolimits}
+\mathchardef\bigsqcup="1346
+\mathchardef\smallint="1273
+
+\mathchardef\triangleleft="212F
+\mathchardef\triangleright="212E
+\mathchardef\bigtriangleup="2234
+\mathchardef\bigtriangledown="2235
+\mathchardef\wedge="225E \let\land=\wedge
+\mathchardef\vee="225F \let\lor=\vee
+\mathchardef\cap="225C
+\mathchardef\cup="225B
+\mathchardef\ddagger="227A
+\mathchardef\dagger="2279
+\mathchardef\sqcap="2275
+\mathchardef\sqcup="2274
+\mathchardef\uplus="225D
+\mathchardef\amalg="2271
+\mathchardef\diamond="2205
+\mathchardef\bullet="220F
+\mathchardef\wr="226F
+\mathchardef\div="2204
+\mathchardef\odot="220C
+\mathchardef\oslash="220B
+\mathchardef\otimes="220A
+\mathchardef\ominus="2209
+\mathchardef\oplus="2208
+\mathchardef\mp="2207
+\mathchardef\pm="2206
+\mathchardef\circ="220E
+\mathchardef\bigcirc="220D
+\mathchardef\setminus="226E % for set difference A\setminus B
+\mathchardef\cdot="2201
+\mathchardef\ast="2203
+\mathchardef\times="2202
+\mathchardef\star="213F
+
+\mathchardef\propto="322F
+\mathchardef\sqsubseteq="3276
+\mathchardef\sqsupseteq="3277
+\mathchardef\parallel="326B
+\mathchardef\mid="326A
+\mathchardef\dashv="3261
+\mathchardef\vdash="3260
+\mathchardef\nearrow="3225
+\mathchardef\searrow="3226
+\mathchardef\nwarrow="322D
+\mathchardef\swarrow="322E
+\mathchardef\Leftrightarrow="322C
+\mathchardef\Leftarrow="3228
+\mathchardef\Rightarrow="3229
+\def\neq{\not=} \let\ne=\neq
+\mathchardef\leq="3214 \let\le=\leq
+\mathchardef\geq="3215 \let\ge=\geq
+\mathchardef\succ="321F
+\mathchardef\prec="321E
+\mathchardef\approx="3219
+\mathchardef\succeq="3217
+\mathchardef\preceq="3216
+\mathchardef\supset="321B
+\mathchardef\subset="321A
+\mathchardef\supseteq="3213
+\mathchardef\subseteq="3212
+\mathchardef\in="3232
+\mathchardef\ni="3233 \let\owns=\ni
+\mathchardef\gg="321D
+\mathchardef\ll="321C
+\mathchardef\not="3236
+\mathchardef\leftrightarrow="3224
+\mathchardef\leftarrow="3220 \let\gets=\leftarrow
+\mathchardef\rightarrow="3221 \let\to=\rightarrow
+\mathchardef\mapstochar="3237 \def\mapsto{\mapstochar\rightarrow}
+\mathchardef\sim="3218
+\mathchardef\simeq="3227
+\mathchardef\perp="323F
+\mathchardef\equiv="3211
+\mathchardef\asymp="3210
+\mathchardef\smile="315E
+\mathchardef\frown="315F
+\mathchardef\leftharpoonup="3128
+\mathchardef\leftharpoondown="3129
+\mathchardef\rightharpoonup="312A
+\mathchardef\rightharpoondown="312B
+
+\def\joinrel{\mathrel{\mkern-3mu}}
+\def\relbar{\mathrel{\smash-}} % \smash, because - has the same height as +
+\def\Relbar{\mathrel=}
+\mathchardef\lhook="312C \def\hookrightarrow{\lhook\joinrel\rightarrow}
+\mathchardef\rhook="312D \def\hookleftarrow{\leftarrow\joinrel\rhook}
+\def\bowtie{\mathrel\triangleright\joinrel\mathrel\triangleleft}
+\def\models{\mathrel|\joinrel=}
+\def\Longrightarrow{\Relbar\joinrel\Rightarrow}
+\def\longrightarrow{\relbar\joinrel\rightarrow}
+\def\longleftarrow{\leftarrow\joinrel\relbar}
+\def\Longleftarrow{\Leftarrow\joinrel\Relbar}
+\def\longmapsto{\mapstochar\longrightarrow}
+\def\longleftrightarrow{\leftarrow\joinrel\rightarrow}
+\def\Longleftrightarrow{\Leftarrow\joinrel\Rightarrow}
+\def\iff{\;\Longleftrightarrow\;}
+
+\mathchardef\ldotp="602E % ldot as a punctuation mark
+\mathchardef\cdotp="6201 % cdot as a punctuation mark
+\mathchardef\colon="603A % colon as a punctuation mark
+\def\ldots{\mathinner{\ldotp\ldotp\ldotp}}
+\def\cdots{\mathinner{\cdotp\cdotp\cdotp}}
+\def\vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@
+ \kern6\p@\hbox{.}\hbox{.}\hbox{.}}}
+\def\ddots{\mathinner{\mkern1mu\raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern2mu
+ \raise4\p@\hbox{.}\mkern2mu\raise\p@\hbox{.}\mkern1mu}}
+
+\def\acute{\mathaccent"7013 }
+\def\grave{\mathaccent"7012 }
+\def\ddot{\mathaccent"707F }
+\def\tilde{\mathaccent"707E }
+\def\bar{\mathaccent"7016 }
+\def\breve{\mathaccent"7015 }
+\def\check{\mathaccent"7014 }
+\def\hat{\mathaccent"705E }
+\def\vec{\mathaccent"017E }
+\def\dot{\mathaccent"705F }
+\def\widetilde{\mathaccent"0365 }
+\def\widehat{\mathaccent"0362 }
+\def\overrightarrow#1{\vbox{\ialign{##\crcr
+ \rightarrowfill\crcr\noalign{\kern-\p@\nointerlineskip}
+ $\hfil\displaystyle{#1}\hfil$\crcr}}}
+\def\overleftarrow#1{\vbox{\ialign{##\crcr
+ \leftarrowfill\crcr\noalign{\kern-\p@\nointerlineskip}
+ $\hfil\displaystyle{#1}\hfil$\crcr}}}
+\def\overbrace#1{\mathop{\vbox{\ialign{##\crcr\noalign{\kern3\p@}
+ \downbracefill\crcr\noalign{\kern3\p@\nointerlineskip}
+ $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits}
+\def\underbrace#1{\mathop{\vtop{\ialign{##\crcr
+ $\hfil\displaystyle{#1}\hfil$\crcr\noalign{\kern3\p@\nointerlineskip}
+ \upbracefill\crcr\noalign{\kern3\p@}}}}\limits}
+\def\skew#1#2#3{{#2{#3\mkern#1mu}\mkern-#1mu}{}}
+
+\def\lmoustache{\delimiter"4000340 } % top from (, bottom from )
+\def\rmoustache{\delimiter"5000341 } % top from ), bottom from (
+\def\lgroup{\delimiter"400033A } % extensible ( with sharper tips
+\def\rgroup{\delimiter"500033B } % extensible ) with sharper tips
+\def\arrowvert{\delimiter"33C } % arrow without arrowheads
+\def\Arrowvert{\delimiter"33D } % double arrow without arrowheads
+\def\bracevert{\delimiter"33E } % the vertical bar that extends braces
+\def\Vert{\delimiter"26B30D } \let\|=\Vert
+\def\vert{\delimiter"26A30C }
+\def\uparrow{\delimiter"3222378 }
+\def\downarrow{\delimiter"3223379 }
+\def\updownarrow{\delimiter"326C33F }
+\def\Uparrow{\delimiter"322A37E }
+\def\Downarrow{\delimiter"322B37F }
+\def\Updownarrow{\delimiter"326D377 }
+\def\backslash{\delimiter"26E30F } % for double coset G\backslash H
+\def\rangle{\delimiter"526930B }
+\def\langle{\delimiter"426830A }
+\def\rbrace{\delimiter"5267309 } \let\}=\rbrace
+\def\lbrace{\delimiter"4266308 } \let\{=\lbrace
+\def\rceil{\delimiter"5265307 }
+\def\lceil{\delimiter"4264306 }
+\def\rfloor{\delimiter"5263305 }
+\def\lfloor{\delimiter"4262304 }
+
+\def\bigl{\mathopen\big}
+\def\bigm{\mathrel\big}
+\def\bigr{\mathclose\big}
+\def\Bigl{\mathopen\Big}
+\def\Bigm{\mathrel\Big}
+\def\Bigr{\mathclose\Big}
+\def\biggl{\mathopen\bigg}
+\def\biggm{\mathrel\bigg}
+\def\biggr{\mathclose\bigg}
+\def\Biggl{\mathopen\Bigg}
+\def\Biggm{\mathrel\Bigg}
+\def\Biggr{\mathclose\Bigg}
+\def\big#1{{\hbox{$\left#1\vbox to8.5\p@{}\right.\n@space$}}}
+\def\Big#1{{\hbox{$\left#1\vbox to11.5\p@{}\right.\n@space$}}}
+\def\bigg#1{{\hbox{$\left#1\vbox to14.5\p@{}\right.\n@space$}}}
+\def\Bigg#1{{\hbox{$\left#1\vbox to17.5\p@{}\right.\n@space$}}}
+\def\n@space{\nulldelimiterspace\z@ \m@th}
+
+\def\choose{\atopwithdelims()}
+\def\brack{\atopwithdelims[]}
+\def\brace{\atopwithdelims\{\}}
+
+\def\sqrt{\radical"270370 }
+
+\def\mathpalette#1#2{\mathchoice{#1\displaystyle{#2}}%
+ {#1\textstyle{#2}}{#1\scriptstyle{#2}}{#1\scriptscriptstyle{#2}}}
+\newbox\rootbox
+\def\root#1\of{\setbox\rootbox\hbox{$\m@th\scriptscriptstyle{#1}$}
+ \mathpalette\r@@t}
+\def\r@@t#1#2{\setbox\z@\hbox{$\m@th#1\sqrt{#2}$}
+ \dimen@\ht\z@ \advance\dimen@-\dp\z@
+ \mkern5mu\raise.6\dimen@\copy\rootbox \mkern-10mu \box\z@}
+\newif\ifv@ \newif\ifh@
+\def\vphantom{\v@true\h@false\ph@nt}
+\def\hphantom{\v@false\h@true\ph@nt}
+\def\phantom{\v@true\h@true\ph@nt}
+\def\ph@nt{\ifmmode\def\next{\mathpalette\mathph@nt}%
+ \else\let\next\makeph@nt\fi\next}
+\def\makeph@nt#1{\setbox\z@\hbox{#1}\finph@nt}
+\def\mathph@nt#1#2{\setbox\z@\hbox{$\m@th#1{#2}$}\finph@nt}
+\def\finph@nt{\setbox\tw@\null
+ \ifv@ \ht\tw@\ht\z@ \dp\tw@\dp\z@\fi
+ \ifh@ \wd\tw@\wd\z@\fi \box\tw@}
+\def\mathstrut{\vphantom(}
+\def\smash{\relax % \relax, in case this comes first in \halign
+ \ifmmode\def\next{\mathpalette\mathsm@sh}\else\let\next\makesm@sh
+ \fi\next}
+\def\makesm@sh#1{\setbox\z@\hbox{#1}\finsm@sh}
+\def\mathsm@sh#1#2{\setbox\z@\hbox{$\m@th#1{#2}$}\finsm@sh}
+\def\finsm@sh{\ht\z@\z@ \dp\z@\z@ \box\z@}
+
+\def\cong{\mathrel{\mathpalette\@vereq\sim}} % congruence sign
+\def\@vereq#1#2{\lower.5\p@\vbox{\baselineskip\z@skip\lineskip-.5\p@
+ \ialign{$\m@th#1\hfil##\hfil$\crcr#2\crcr=\crcr}}}
+\def\notin{\mathrel{\mathpalette\c@ncel\in}}
+\def\c@ncel#1#2{\ooalign{$\hfil#1\mkern1mu/\hfil$\crcr$#1#2$}}
+\def\rightleftharpoons{\mathrel{\mathpalette\rlh@{}}}
+\def\rlh@#1{\vcenter{\hbox{\ooalign{\raise2pt
+ \hbox{$#1\rightharpoonup$}\crcr
+ $#1\leftharpoondown$}}}}
+\def\buildrel#1\over#2{\mathrel{\mathop{\kern\z@#2}\limits^{#1}}}
+\def\doteq{\buildrel\textstyle.\over=}
+
+\def\log{\mathop{\rm log}\nolimits}
+\def\lg{\mathop{\rm lg}\nolimits}
+\def\ln{\mathop{\rm ln}\nolimits}
+\def\lim{\mathop{\rm lim}}
+\def\limsup{\mathop{\rm lim\,sup}}
+\def\liminf{\mathop{\rm lim\,inf}}
+\def\sin{\mathop{\rm sin}\nolimits}
+\def\arcsin{\mathop{\rm arcsin}\nolimits}
+\def\sinh{\mathop{\rm sinh}\nolimits}
+\def\cos{\mathop{\rm cos}\nolimits}
+\def\arccos{\mathop{\rm arccos}\nolimits}
+\def\cosh{\mathop{\rm cosh}\nolimits}
+\def\tan{\mathop{\rm tan}\nolimits}
+\def\arctan{\mathop{\rm arctan}\nolimits}
+\def\tanh{\mathop{\rm tanh}\nolimits}
+\def\cot{\mathop{\rm cot}\nolimits}
+\def\coth{\mathop{\rm coth}\nolimits}
+\def\sec{\mathop{\rm sec}\nolimits}
+\def\csc{\mathop{\rm csc}\nolimits}
+\def\max{\mathop{\rm max}}
+\def\min{\mathop{\rm min}}
+\def\sup{\mathop{\rm sup}}
+\def\inf{\mathop{\rm inf}}
+\def\arg{\mathop{\rm arg}\nolimits}
+\def\ker{\mathop{\rm ker}\nolimits}
+\def\dim{\mathop{\rm dim}\nolimits}
+\def\hom{\mathop{\rm hom}\nolimits}
+\def\det{\mathop{\rm det}}
+\def\exp{\mathop{\rm exp}\nolimits}
+\def\Pr{\mathop{\rm Pr}}
+\def\gcd{\mathop{\rm gcd}}
+\def\deg{\mathop{\rm deg}\nolimits}
+
+\def\bmod{\mskip-\medmuskip\mkern5mu
+ \mathbin{\rm mod}\penalty900\mkern5mu\mskip-\medmuskip}
+\def\pmod#1{\allowbreak\mkern18mu({\rm mod}\,\,#1)}
+
+\def\cases#1{\left\{\,\vcenter{\normalbaselines\m@th
+ \ialign{$##\hfil$&\quad##\hfil\crcr#1\crcr}}\right.}
+\def\matrix#1{\null\,\vcenter{\normalbaselines\m@th
+ \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr
+ \mathstrut\crcr\noalign{\kern-\baselineskip}
+ #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}
+\def\pmatrix#1{\left(\matrix{#1}\right)}
+\newdimen\p@renwd
+\setbox0=\hbox{\tenex B} \p@renwd=\wd0 % width of the big left (
+\def\bordermatrix#1{\begingroup \m@th
+ \setbox\z@\vbox{\def\cr{\crcr\noalign{\kern2\p@\global\let\cr\endline}}%
+ \ialign{$##$\hfil\kern2\p@\kern\p@renwd&\thinspace\hfil$##$\hfil
+ &&\quad\hfil$##$\hfil\crcr
+ \omit\strut\hfil\crcr\noalign{\kern-\baselineskip}%
+ #1\crcr\omit\strut\cr}}%
+ \setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}%
+ \setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}%
+ \setbox\tw@\hbox{$\kern\wd\@ne\kern-\p@renwd\left(\kern-\wd\@ne
+ \global\setbox\@ne\vbox{\box\@ne\kern2\p@}%
+ \vcenter{\kern-\ht\@ne\unvbox\z@\kern-\baselineskip}\,\right)$}%
+ \null\;\vbox{\kern\ht\@ne\box\tw@}\endgroup}
+
+\def\openup{\afterassignment\@penup\dimen@=}
+\def\@penup{\advance\lineskip\dimen@
+ \advance\baselineskip\dimen@
+ \advance\lineskiplimit\dimen@}
+\def\eqalign#1{\null\,\vcenter{\openup\jot\m@th
+ \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil
+ \crcr#1\crcr}}\,}
+\newif\ifdt@p
+\def\displ@y{\global\dt@ptrue\openup\jot\m@th
+ \everycr{\noalign{\ifdt@p \global\dt@pfalse
+ \vskip-\lineskiplimit \vskip\normallineskiplimit
+ \else \penalty\interdisplaylinepenalty \fi}}}
+\def\@lign{\tabskip\z@skip\everycr{}} % restore inside \displ@y
+\def\displaylines#1{\displ@y
+ \halign{\hbox to\displaywidth{$\@lign\hfil\displaystyle##\hfil$}\crcr
+ #1\crcr}}
+\def\eqalignno#1{\displ@y \tabskip\centering
+ \halign to\displaywidth{\hfil$\@lign\displaystyle{##}$\tabskip\z@skip
+ &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering
+ &\llap{$\@lign##$}\tabskip\z@skip\crcr
+ #1\crcr}}
+\def\leqalignno#1{\displ@y \tabskip\centering
+ \halign to\displaywidth{\hfil$\@lign\displaystyle{##}$\tabskip\z@skip
+ &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering
+ &\kern-\displaywidth\rlap{$\@lign##$}\tabskip\displaywidth\crcr
+ #1\crcr}}
+
+% Definitions related to output
+
+\message{output routines,}
+
+\countdef\pageno=0 \pageno=1 % first page is number 1
+\newtoks\headline \headline={\hfil} % headline is normally blank
+\newtoks\footline \footline={\hss\tenrm\folio\hss}
+ % footline is normally a centered page number in font \tenrm
+\newif\ifr@ggedbottom
+\def\raggedbottom{\topskip 10\p@ plus60\p@ \r@ggedbottomtrue}
+\def\normalbottom{\topskip 10\p@ \r@ggedbottomfalse} % undoes \raggedbottom
+\def\folio{\ifnum\pageno<\z@ \romannumeral-\pageno \else\number\pageno \fi}
+\def\nopagenumbers{\footline{\hfil}} % blank out the footline
+\def\advancepageno{\ifnum\pageno<\z@ \global\advance\pageno\m@ne
+ \else\global\advance\pageno\@ne \fi} % increase |pageno|
+
+\newinsert\footins
+\def\footnote#1{\let\@sf\empty % parameter #2 (the text) is read later
+ \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
+ #1\@sf\vfootnote{#1}}
+\def\vfootnote#1{\insert\footins\bgroup
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\ht\strutbox % top baseline for broken footnotes
+ \splitmaxdepth\dp\strutbox \floatingpenalty\@MM
+ \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip
+ \textindent{#1}\footstrut\futurelet\next\fo@t}
+\def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t
+ \else\let\next\f@t\fi \next}
+\def\f@@t{\bgroup\aftergroup\@foot\let\next}
+\def\f@t#1{#1\@foot}
+\def\@foot{\strut\egroup}
+\def\footstrut{\vbox to\splittopskip{}}
+\skip\footins=\bigskipamount % space added when footnote is present
+\count\footins=1000 % footnote magnification factor (1 to 1)
+\dimen\footins=8in % maximum footnotes per page
+
+\newinsert\topins
+\newif\ifp@ge \newif\if@mid
+\def\topinsert{\@midfalse\p@gefalse\@ins}
+\def\midinsert{\@midtrue\@ins}
+\def\pageinsert{\@midfalse\p@getrue\@ins}
+\skip\topins=\z@skip % no space added when a topinsert is present
+\count\topins=1000 % magnification factor (1 to 1)
+\dimen\topins=\maxdimen % no limit per page
+\def\@ins{\par\begingroup\setbox\z@\vbox\bgroup} % start a \vbox
+\def\endinsert{\egroup % finish the \vbox
+ \if@mid \dimen@\ht\z@ \advance\dimen@\dp\z@
+ \advance\dimen@12\p@ \advance\dimen@\pagetotal
+ \ifdim\dimen@>\pagegoal\@midfalse\p@gefalse\fi\fi
+ \if@mid \bigskip\box\z@\bigbreak
+ \else\insert\topins{\penalty100 % floating insertion
+ \splittopskip\z@skip
+ \splitmaxdepth\maxdimen \floatingpenalty\z@
+ \ifp@ge \dimen@\dp\z@
+ \vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero
+ \else \box\z@\nobreak\bigskip\fi}\fi\endgroup}
+
+\output{\plainoutput}
+\def\plainoutput{\shipout\vbox{\makeheadline\pagebody\makefootline}%
+ \advancepageno
+ \ifnum\outputpenalty>-\@MM \else\dosupereject\fi}
+\def\pagebody{\vbox to\vsize{\boxmaxdepth\maxdepth \pagecontents}}
+\def\makeheadline{\vbox to\z@{\vskip-22.5\p@
+ \line{\vbox to8.5\p@{}\the\headline}\vss}\nointerlineskip}
+\def\makefootline{\baselineskip24\p@\line{\the\footline}}
+\def\dosupereject{\ifnum\insertpenalties>\z@ % something is being held over
+ \line{}\kern-\topskip\nobreak\vfill\supereject\fi}
+
+\def\pagecontents{\ifvoid\topins\else\unvbox\topins\fi
+ \dimen@=\dp\@cclv \unvbox\@cclv % open up \box255
+ \ifvoid\footins\else % footnote info is present
+ \vskip\skip\footins
+ \footnoterule
+ \unvbox\footins\fi
+ \ifr@ggedbottom \kern-\dimen@ \vfil \fi}
+\def\footnoterule{\kern-3\p@
+ \hrule width 2truein \kern 2.6\p@} % the \hrule is .4pt high
+
+% Hyphenation, miscellaneous macros, and initial values for standard layout
+%\message{hyphenation}
+
+%\input hyphen
+
+\def\magnification{\afterassignment\m@g\count@}
+\def\m@g{\mag\count@
+ \hsize6.5truein\vsize8.9truein\dimen\footins8truein}
+
+\def\tracingall{\tracingonline\@ne\tracingcommands\tw@\tracingstats\tw@
+ \tracingpages\@ne\tracingoutput\@ne\tracinglostchars\@ne
+ \tracingmacros\tw@\tracingparagraphs\@ne\tracingrestores\@ne
+ \showboxbreadth\maxdimen\showboxdepth\maxdimen\errorstopmode}
+
+\def\showhyphens#1{\setbox0\vbox{\parfillskip\z@skip\hsize\maxdimen\tenrm
+ \pretolerance\m@ne\tolerance\m@ne\hbadness0\showboxdepth0\ #1}}
+
+\normalbaselines\rm % select roman font
+\nonfrenchspacing % punctuation affects the spacing
+\catcode`@=12 % at signs are no longer letters
+
+\def\fmtname{plain}\def\fmtversion{1.5CM} % identifies the current format \ No newline at end of file
diff --git a/macros/inrstex/inrstex/plainmod.tex b/macros/inrstex/inrstex/plainmod.tex
new file mode 100644
index 0000000000..feeb7cf682
--- /dev/null
+++ b/macros/inrstex/inrstex/plainmod.tex
@@ -0,0 +1,8 @@
+%====== bugs in plain
+\catcode`\ =10 % version in plain does not stick
+
+%======= modifications to plain =======
+\let\newcount=\n@ewcount
+ % needs to be inner for assigning counts to such things as problems
+ % when part of subdocuments
+ \ No newline at end of file
diff --git a/macros/inrstex/inrstex/plaipars.tex b/macros/inrstex/inrstex/plaipars.tex
new file mode 100644
index 0000000000..ab0309716b
--- /dev/null
+++ b/macros/inrstex/inrstex/plaipars.tex
@@ -0,0 +1,127 @@
+% ======== Plain.tex parameters ... set in plain and initex ====
+
+% All of TeX's numeric parameters are listed here,
+% Most are untouched from plain.tex but some are indeed modified.
+% The order is not the same as in plain.tex
+
+% These parameters are actually changed.
+
+\widowpenalty = 400 % needs to be more than 100
+\clubpenalty = 800 % needs to be more than 100
+
+% --- Penalties ---
+
+% \displaywidowpenalty=50
+% \brokenpenalty=100
+% \predisplaypenalty=10000
+% \postdisplaypenalty=0
+% \interlinepenalty=0
+% \interdisplaylinepenalty=100
+% \interfootnotelinepenalty=100
+
+% \pretolerance=100
+% \tolerance=200 % INITEX sets this to 10000
+% \hbadness=1000
+% \vbadness=1000
+% \linepenalty=10
+% \hyphenpenalty=50
+% \exhyphenpenalty=50
+% \binoppenalty=700
+% \relpenalty=500
+% \floatingpenalty=0, set during \insert
+% \outputpenalty=0, set before TeX enters \output
+% \doublehyphendemerits=10000
+% \finalhyphendemerits=5000
+% \adjdemerits=10000
+
+% ---- paragraph control ----
+% \looseness=0, cleared by TeX after each paragraph
+% \uchyph=1
+% \parindent=20pt
+% \hangindent=0pt, zeroed by TeX after each paragraph
+% \baselineskip=0pt, changed by \normalbaselines
+% \lineskip=0pt, changed by \normalbaselines
+% \parskip=0pt plus 1pt
+% \parfillskip=0pt plus 1fil
+% \normalbaselineskip=12pt
+% \normallineskip=1pt
+% \normallineskiplimit=0pt
+
+% ----- Sizes/overfull boxes ----
+% \hfuzz=0.1pt % ... \finalversion mod
+% \vfuzz=0.1pt % ... \finalversion mod
+% \overfullrule=5pt % ... \finalversion mod
+% \hsize=6.5in % ... pagsty.tex and inrsdef.tex
+% \vsize=8.9in % ... pagsty.tex and inrsdef.tex
+% \maxdepth=4pt
+% \splitmaxdepth=\maxdimen
+% \boxmaxdepth=\maxdimen
+% \lineskiplimit=0pt, changed by \normalbaselines
+% \leftskip=0pt
+% \rightskip=0pt
+% \topskip=10pt
+% \splittopskip=10pt
+
+
+% ------- Internal Math parms -----
+% \delimitershortfall=5pt
+% \nulldelimiterspace=1.2pt
+% \scriptspace=0.5pt
+% \mathsurround=0pt
+% \thinmuskip=3mu
+% \medmuskip=4mu plus 2mu minus 4mu
+% \thickmuskip=5mu plus 5mu
+% \jot=3pt
+
+% ---- Display Math Spacing ----
+% \predisplaysize=0pt, set before TeX enters $$
+% \displaywidth=0pt, set before TeX enters $$
+% \displayindent=0pt, set before TeX enters $$
+% \abovedisplayskip=12pt plus 3pt minus 9pt
+% \abovedisplayshortskip=0pt plus 3pt
+% \belowdisplayskip=12pt plus 3pt minus 9pt
+% \belowdisplayshortskip=7pt plus 3pt minus 4pt
+
+
+% \hoffset=0pt % modified by \leftmargin
+% \voffset=0pt % not used in INRSTeX
+
+% \tabskip=0pt
+% \spaceskip=0pt
+% \xspaceskip=0pt
+
+% ------ Vertical Spacing -----
+% \smallskipamount=3pt plus 1pt minus 1pt
+% \medskipamount=6pt plus 2pt minus 2pt
+% \bigskipamount=12pt plus 4pt minus 4pt
+
+% ------ Debugging/Misc -----
+% \pausing=0
+% \tracingonline=0
+% \tracingmacros=0
+% \tracingstats=0
+% \tracingparagraphs=0
+% \tracingpages=0
+% \tracingoutput=0
+% \tracinglostchars=1
+% \tracingcommands=0
+% \tracingrestores=0
+% \globaldefs=0
+% \maxdeadcycles=25 % INITEX does this
+% \hangafter=1 % INITEX does this, also TeX after each paragraph
+% \fam=0
+% \mag=1000 % INITEX does this
+% \escapechar=`\\ % INITEX does this
+% \defaulthyphenchar=`\-
+% \defaultskewchar=-1
+% \endlinechar=`\^^M % INITEX does this
+% \newlinechar=-1
+% \delimiterfactor=901
+% \time=now % TeX does this at beginning of job
+% \day=now % TeX does this at beginning of job
+% \month=now % TeX does this at beginning of job
+% \year=now % TeX does this at beginning of job
+% \showboxbreadth=5
+% \showboxdepth=3
+
+
diff --git a/macros/inrstex/inrstex/prelhead.tex b/macros/inrstex/inrstex/prelhead.tex
new file mode 100644
index 0000000000..e14d1850f8
--- /dev/null
+++ b/macros/inrstex/inrstex/prelhead.tex
@@ -0,0 +1,31 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+%============ Preface/Prelude macros ===========
+% this is the first of the environment macros. The problem, among others is
+% that the headers, footers, pagenumbering, etc are different in preface of
+% the document than elsewhere.
+
+% These attempt to set this up in such a way
+% that they will work with books and reports .... it may not be possible and
+% perhaps they should be parchuted in as a complete package for reports
+% and books ... There will be more put in these as time goes on
+% these are the paperstyle/report style macros
+\newtoks\everyprelude
+\newtoks\e@veryprelude
+\def\beginprelude{\begingroup\the\e@veryprelude\the\everyprelude}
+
+\def\preludeheadformat#1{\centerline{\sheadfont #1}\vskip 1cm}
+\newtoks\preludetitle
+\def\preludeheadmark{\mark{\hfill \the\preludetitle\hfill}}
+\def\preludehead#1{ \preludetitle = {#1}
+ \writeterm{< }{\the\preludetitle}{ >}
+ \preludeheadformat{#1}
+ \preludeheadmark
+ \writelistfile{toc}{\prtocout}{}{#1}
+ }
+
+\def\endprelude{\endgroup\ejectpage}
+
+% \def\prtocout{\string\prtoc} % actually set in inrsdef.tex
diff --git a/macros/inrstex/inrstex/secthead.tex b/macros/inrstex/inrstex/secthead.tex
new file mode 100644
index 0000000000..9a8a7de40d
--- /dev/null
+++ b/macros/inrstex/inrstex/secthead.tex
@@ -0,0 +1,228 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+
+% ========== Section, Chapter Headings ===========
+% These macros have several parts,
+% -- The format of the heading.
+% -- The automatic numbering.
+% -- The writing of a list file for automatic table of contents.
+% -- The referencing in the text ... ie reference number styles.
+
+
+% ======== Counter allocation and Number styles =========
+%========= Autonumbering allocations and styles for sections ... ====
+% Allocate the counters for the chapters, sections, figures, etc.
+% These counters are updated globally.
+\newcount\chnum %\chnum=0 \def\chnumform{\the\chnum}
+\newcount\shnum %\shnum=0 \def\shnumform{\the\shnum}
+\newcount\sshnum %\sshnum=0 \def\sshnumform{\the\sshnum}
+\newcount\ssshnum %\ssshnum=0 \def\ssshnumform{\the\ssshnum}
+
+% ======== autonumbering options and styles ==========
+% The following stay unchanged for different numbering options
+\def\chtagrefformat{\chnumform}
+\def\chtagreplaceformat{\Chapter \chtagrefformat}
+
+\def\numberbychapter{\s@pecialnumberresetlevel=2
+ \def\shtagreplaceformat{\shtagrefformat}
+ \def\sshtagreplaceformat{\sshtagrefformat}
+ \def\ssshtagreplaceformat{\ssshtagrefformat}
+ \def\shtagrefformat{\chnumform.\shnumform} %section
+ \def\sshtagrefformat{\chnumform.\shnumform.\sshnumform} %subsection
+ \def\ssshtagrefformat{\chnumform.\shnumform.\sshnumform %subsubsection
+ .\ssshnumform}
+ \def\Prerefform{\chnumform.}
+ \def\Postrefform{}}
+
+\def\numberbysection{\s@pecialnumberresetlevel=3
+ \def\shtagreplaceformat{\shtagrefformat.}
+ \def\sshtagreplaceformat{\sshtagrefformat}
+ \def\ssshtagreplaceformat{\ssshtagrefformat}
+ \def\shtagrefformat{\shnumform} %section
+ \def\sshtagrefformat{\shnumform.\sshnumform} %subsection
+ \def\ssshtagrefformat{\shnumform.\sshnumform %subsubsection
+ .\ssshnumform}
+ \def\Prerefform{\shnumform.}
+ \def\Postrefform{}}
+
+\def\specialnumberscontinuous{\def\Prerefform{}
+ \def\Postrefform{}
+ \s@pecialnumberresetlevel=1}
+
+
+% This macro resets the counters for equations, figures, etc.
+% depending on the header level.
+% #1 - header level 1=chapter
+% 2=section
+% 3=subsection
+% 4=subsubsection
+% \a@utonumberresetlevel = 1 sequential numbering
+% 2 chapter numbering
+% 3 section numbering
+% 4 subsection numbering, etc.
+\newcount\s@pecialnumberresetlevel \s@pecialnumberresetlevel=1
+\def\updatespecialnumbers#1{
+ \ifnum #1 < \s@pecialnumberresetlevel
+ \the\s@presetlist
+ \fi}
+
+
+% ============ Section head format styles and List generation =======
+%
+% The calling format is
+% \s<ss>head{<number>}{<Title>}
+% Subsequent lines are indented one quad more than the size of the <number>
+% There is an autonumbering/autoreferencing feature in these macros.
+% If the autonumber switch
+% is true, then the first argument represents a tag instead of a number.
+
+% \nosheadbreak is used when multiple heads start a section
+\newif\ifs@headbreak \s@headbreaktrue
+\def\nosheadbreak{\s@headbreakfalse}
+
+
+% ========= Section heading command forms ========
+% #1 top skip
+% #2 bottom skip
+% #3 font
+% #4 <number>
+% #5 <text>
+% #6 table of contents command form
+% #7 <item>, placed between <number> and <text>
+
+\newskip\prsheadskip %\prsheadskip= 6ex plus 2ex minus 2ex
+\newskip\posheadskip %\posheadskip= 2ex
+\newskip\prssheadskip % \prssheadskip= 5ex plus 1.8ex minus 1.8ex
+\newskip\possheadskip %\possheadskip= 2ex
+\newskip\prsssheadskip %\prsssheadskip= 3ex plus 1ex minus 1ex
+\newskip\posssheadskip %\posssheadskip= 2ex
+\newskip\prdsssheadskip %\prdsssheadskip= 3ex plus 1ex minus 1ex
+\newskip\podsssheadskip %\podsssheadskip= 2ex
+
+%this is the format form for those that want to perform radical surgery
+%the parameters must be as shown and will have that meaning
+% #1 font (=#3); #2 number (=#4) ; #3 <text> (=#5); #4 number/text sep (=#7)
+% check on \t@agtext suppresses space when there is no number
+\def\gensheadformat#1#2#3#4{\ifx\t@agtext\empty\setbox0=\hbox{}\else
+ \setbox0=\hbox{#1#2#4}\fi
+ \vbox{\veryraggedright \normalbaselines
+ \hangindent 1\wd0 \hangafter 1\noindent #1\unhbox0 #3}}
+
+
+\def\g@head#1#2#3#4#5#6#7{\ifs@headbreak \goodbreak \vskip #1\else
+ \removelastskip\fi
+ \s@headbreaktrue
+ \toks0={#5}%prevents expansion inside title
+ \writeterm{<#4}{ }{\the\toks0>}
+ \gensheadformat{#3}{#4}{#5}{#7}
+ \nobreak
+ \w@ritetag\nobreak
+ \writelistfile{toc}{#6}{#4}{#5}
+ \vskip #2 \vskip -\parskip}
+
+\newtoks\sectionname \newtoks\sectionnumtag
+\def\sheadmark{\mark{\the\sectionname}} % defaults to title
+\def\innershead #1#2{\sectionnumtag = {#1} \sectionname = {#2}
+ \ifautonumber
+ \global\advance \shnum by 1
+ \global\sshnum=0
+ \global\ssshnum=0
+ \updatespecialnumbers{2}
+ \xdef\w@ritetag{\noexpand\newtag{#1}{\shtagrefformat}}
+ \edef\t@agtext{\shtagreplaceformat}
+ \else
+ \edef\t@agtext{#1}
+ \xdef\w@ritetag{\relax}
+ \fi
+ \sheadmark %sections are marked for header titles
+ \g@head{\prsheadskip}{\posheadskip
+ }{\sheadfont}{\t@agtext}{#2}{\shtocout
+ }{\quad}}
+\def\innersshead #1#2{\ifautonumber
+ \global\advance \sshnum by 1
+ \global\ssshnum=0
+ \updatespecialnumbers{3}
+ \xdef\w@ritetag{\noexpand\newtag{#1}{\sshtagrefformat}}
+ \edef\t@agtext{\sshtagreplaceformat}
+ \else
+ \edef\t@agtext{#1}
+ \xdef\w@ritetag{\relax}
+ \fi
+ \g@head{\prssheadskip}{\possheadskip
+ }{\ssheadfont}{\t@agtext}{#2}{\sshtocout
+ }{\quad}}
+\def\innerssshead #1#2{\ifautonumber
+ \global\advance \ssshnum by 1
+ \updatespecialnumbers{4}
+ \xdef\w@ritetag{\noexpand\newtag{#1}{\ssshtagrefformat}}
+ \edef\t@agtext{\ssshtagreplaceformat}
+ \else
+ \edef\t@agtext{#1}
+ \xdef\w@ritetag{\relax}
+ \fi
+ \g@head{\prsssheadskip}{\posssheadskip
+ }{\sssheadfont}{\t@agtext}{#2}{\ssshtocout
+ }{\quad}}
+\def\innerdssshead #1{\xdef\w@ritetag{\relax}\g@head{\prdsssheadskip}{\podsssheadskip
+ }{\dsssheadfont}{}{#1}{\dssshtocout}{}}
+\outer\def\shead#1#2{\innershead{#1}{#2}}
+\outer\def\sshead#1#2{\innersshead{#1}{#2}}
+\outer\def\ssshead#1#2{\innerssshead{#1}{#2}}
+\outer\def\dssshead#1{\innerdssshead{#1}}
+
+% ======== chead ==========
+% The chapter head has a different format entirely
+\newtoks\chaptername
+
+%this is the form of the present chapter head
+%parameters are #1 is the title text \cheadfont, \chtagreplaceformat
+
+%\def\Chapter{Chapter } see English/french titles
+
+% indicates if chapters exist ... default is that they do not
+% the first call to a \chead sets it true ... or it may be done in the style.
+\newif\ifnochapter %\nochaptertrue
+
+
+\def\cheadformat#1#2{\vglue 2.5cm
+ \line{$\vcenter{\hbox{\cheadfont
+ #1
+ \vrule height 3ex depth 1ex width 0pt
+ }}\hss
+ \vcenter{\halign{&\cheadfont\hss
+ ##\vrule height 3ex depth 1ex width 0pt\cr
+ #2\crcr}}$}
+ \vskip 2.5cm}
+\def\chapterstartform{}
+\def\chead#1#2{\numberbychapter\nochapterfalse
+ \ifautonumber
+ \global\advance\chnum by 1
+ \global\shnum=0
+ \global\sshnum=0
+ \global\ssshnum=0
+ \xdef\w@ritetag{\noexpand\newtag{#1}{\chtagrefformat}}
+ \updatespecialnumbers{1}
+ \edef\t@agtext{\chtagreplaceformat}
+ \else
+ \edef\t@agtext{#1}
+ \xdef\w@ritetag{\relax}
+ \fi
+ \chaptername={#2} % for term write only ... includes \cr
+ \writeterm{<\t@agtext}{ }{\the\chaptername>}
+ \chaptername={\def\cr{ }#2}
+ \chapterstartform % here so both the number and title set
+ \cheadformat{\t@agtext}{#2} % format of chead
+ \w@ritetag
+ \writelistfile{toc}{\chtocout}{\t@agtext}{#2}
+ }
+
+% ========== Toc Out Forms ===========
+% actually set in inrsdef.tex
+
+%\def\shtocout{\string\shtoc}
+%\def\sshtocout{\string\sshtoc}
+%\def\ssshtocout{\string\ssshtoc}
+%\def\dssshtocout{\string\dssshtoc}
+%\def\chtocout{\string\chtoc} \ No newline at end of file
diff --git a/macros/inrstex/inrstex/specform.tex b/macros/inrstex/inrstex/specform.tex
new file mode 100644
index 0000000000..c735d87d7b
--- /dev/null
+++ b/macros/inrstex/inrstex/specform.tex
@@ -0,0 +1,37 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% added PostScript forms of BNR Reports
+
+%========== Special styles ===============
+
+%----- Special Document Styles -------
+% INRSTeX learns of the existence of special document styles
+% from spformats.tex
+% and the actual code is in the particular name given
+% The general form of a call for a specific style is \<...>style
+% This call should translate into \input <filename> which should then
+% redefine \<...>style and finally call it.
+% Two special styles available through INRSTeX are a \bookstyle and a
+% \bnrreportstyle. The latter is an example of a rather complex report
+% style. Care should be taken that the appropriate messages are generated in
+% the two languages. This means that the messages must be put in the
+% english.tex and francais.tex files. These should be placed in inputs. They
+% are read when \englishversion or \versionfrancaise are executed.
+
+% This is list of the special formats in INRSTeX. It is assumed that
+% there is an actual format file for each of them. Paperstyle is the default
+% for INRSTeX and this is actually embedded in the inrs.fmt file
+% extra \relax forces the input before it expands the next token
+
+\def\paperstyle{\input papersty \relax}
+\def\bookstyle {\input booksty \relax}
+\def\bnrreportstyle{\input bnrsty \relax} % special local form
+\def\bnrreportstyleps{\input bnrsty_ps \relax} % special local form
+\def\inrsreportstyle{\input inrssty \relax}
+\let\formatjournal=\paperstyle
+\let\formatlivre=\bookstyle
+\let\formatbnr = \bnrreportstyle % special local form
+\let\formatbnrps = \bnrreportstyleps % special local form
+\let\formatinrs =\inrsreportstyle
diff --git a/macros/inrstex/inrstex/subdoc.tex b/macros/inrstex/inrstex/subdoc.tex
new file mode 100644
index 0000000000..80ca49abf6
--- /dev/null
+++ b/macros/inrstex/inrstex/subdoc.tex
@@ -0,0 +1,43 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+%======== macros for handling multiple part documents =======
+% documents may be broken down to the chapter or section level
+
+
+% each part of the document will start with the command
+% \subdocument
+% it simply allows for the insertion of special macros or other stuff
+% that normally would be brought in only once. In addition, the page numbering
+% can be modified at this point to make sense at this point.
+
+% parameters should be entered to tell whether the sub document is just a
+% section, chapter, or a section in a chapter.
+% anything can be set inside the command
+% For a chapter (or series) \following\chnum = <chapter number>
+% \the\chaptername = {<Chapter name>}
+% \nochaptersfalse
+% \pagenumber [=] <pagenumber>
+
+%For a section in a document without chapters
+% \following\shnum = <section number>
+% \pagenumber [=] <pagenumber>
+
+% for a section in a document with chapters put both together
+% it is assumed that the subdocument will start with a section or
+% chead. The toplevel will set \subdocumentfalse immediately
+
+% this is here because it is most useful in sub document context
+% multiple documents basically, \following\chnum =2 will set \chnum =1
+
+\def\following#1{\def\a@df{\global\advance #1 by -1\relax}
+ \afterassignment \a@df \global#1 }
+
+\newif\ifs@ubdocument \s@ubdocumenttrue
+\def\subdocumentmacros#1{\ifs@ubdocument #1 \fi\s@ubdocumentfalse}
+\outer\def\inputsubdocument #1{\begingroup
+ \s@ubdocumentfalse
+ \let\done=\relax
+ \input #1 \relax
+ \endgroup}
diff --git a/macros/inrstex/inrstex/tables.tex b/macros/inrstex/inrstex/tables.tex
new file mode 100644
index 0000000000..144169e9a2
--- /dev/null
+++ b/macros/inrstex/inrstex/tables.tex
@@ -0,0 +1,106 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+% \left and \right redefined to remove primitive conflict MJF Oct 87
+
+
+%============= Table making macros ============
+% the basic format is
+% \begintable
+% <special definitions for this table>
+% \table format <format as in halign except it needs ## instead of #>
+% \br{<struts>} .... | .... | .... " ..... | .... \er{<stuff>}
+% \-
+% ....etc
+
+% these macros require that | and " be active during the entire
+% document to work correctly. ... although some definitions specifically
+% set them active
+\newcount\a@lignstate \a@lignstate=0 %0 -- between lines after \cr
+ %1 -- beginning of line in \bl
+ %2 -- midline
+ %3 -- endline in \el
+\def\hssf{\hskip 0pt plus 1fill minus 1fill\relax}
+\def\n@ewaligndefs{\def\center##1{\hssf ##1\hssf\null}
+ \def\left##1{\ifmmode\l@f##1\else##1\hssf\null\fi}
+ \def\right##1{\ifmmode\r@t##1\else\hssf ##1\null\fi}}
+\def\s@avelr{\let\l@f=\left\let\r@t=\right}
+\newdimen\trulesize
+\let\tr=\trulesize
+\trulesize = .4pt
+\def\zerocenteredbox#1{\ifmmode \ifinner \setbox2 =\hbox{$#1$}\else
+ \setbox2 =\hbox{$\displaystyle#1$}\fi
+ \else \setbox2 =\hbox{#1}\fi
+ \setbox0=\hbox{\lower.5ex\hbox{$\vcenter{\box2}$}}\ht0=0pt\dp0 =0pt\box0}
+\let\zb=\zerocenteredbox
+
+%this macro creates a strut with the that is higher by #2 and deeper than #3
+% than the natural size of #1 ... the sizes may be negative
+\def\modifystrut#1#2#3{\setbox4=\hbox{#1}\dimen0=\ht4
+ \advance \dimen0 by #2 \dimen2 = \dp4
+ \advance \dimen2 by #3
+ \vrule width 0pt height \dimen0 depth \dimen2}
+\let\mst=\modifystrut
+%general math form
+\def\math#1{\relax $\relax#1\relax$}
+\def\displaymath #1{\relax$\displaystyle #1\relax$}
+
+
+%
+\newskip\tcs
+\newtoks\tablespread
+\newskip\midtabglue \midtabglue = 0pt plus 1fill
+\newtoks\everytable \everytable = {\relax}
+
+{\catcode`\|=\active \catcode`\" = \active
+ \gdef\begintable{\vbox\bgroup \s@avelr \tcs=.5em % uses font in force when entering
+ \catcode`\|=\active
+ \catcode`\"=\active
+ \def\:{\relax \vrule height 2.5ex depth .9ex width 0pt}
+ \def\-{\ifcase\a@lignstate \fulltablerule{\tr}
+ \else
+ \thrule{\tr}\fi}
+ \let\t@xx =\relax % for premature expansions
+ \everycr={\noalign{\global\a@lignstate=0}}
+ \def\fulltablerule##1{\noalign{\hrule height
+ ##1}}
+ \def\thrule##1{\omit\leaders\hrule height ##1\hfill}
+ \def\center{\hskip\tcs\hss ########\hss\hskip\tcs}
+ \def\left{\hskip\tcs ########\hss\hskip\tcs}
+ \def\right{\hskip\tcs\hss ########\hskip\tcs}
+ \def\sprule{\tvrule{2.5\tr}}
+ \def|{\ifcase\a@lignstate \def\t@xx{\tvrule{\tr}}\or
+ \def\t@xx{\tvrule{\tr}}\or
+ \def\t@xx{\unskip&\tvrule{\tr}&}\else
+ \def\t@xx{\tvrule{\tr}}\fi\t@xx}
+ \def\|{\ifcase\a@lignstate \def\t@xx{\sprule}\or
+ \def\t@xx{\sprule}\or
+ \def\t@xx{\unskip&\sprule&}\else
+ \def\t@xx{\sprule}\fi\t@xx}
+ \def"{&########&} % for table format
+ \def\br##1{\global\a@lignstate=1 ##1\unskip\global\a@lignstate=2&}
+ \def\er##1{\global\a@lignstate=3\unskip&##1\unskip
+ \global\a@lignstate=0\cr}
+ \def\tvrule##1{\hss\vrule width ##1\hss}
+ \def~{\penalty\@M \hphantom{0}} % changes ~ to be phantom of width .5em
+ \tablespread = {}
+ \the\everytable
+ }
+ \gdef\begintableformat #1\endtableformat{\offinterlineskip \tabskip = 0pt
+ \edef\t@blform{####\tabskip =\midtabglue &#1&####\tabskip=0pt\cr} %adds rules front and back
+ \n@ewaligndefs
+ \def"{\ifcase\a@lignstate \def\t@xx{\relax}\or
+ \def\t@xx{\relax}\or
+ \def\t@xx{\unskip&&}\else
+ \def\t@xx{\relax}\fi\t@xx}
+ \edef\h@align{\halign \the\tablespread}
+ \h@align\bgroup\span\t@blform}
+ }% " and | are always active in INRSTEX
+
+\def\use#1{\omit\mscount=#1 \advance\mscount by -1\multiply\mscount by2
+ \loop\ifnum\mscount>1 \sp@n\repeat
+ \ifnum\mscount>0 \span \else \relax \fi}
+\let\sp=\span
+\let\om = \omit
+\def\sa#1{\setbox0=\hbox{#1}\hbox to \wd0{}}
+\def\endtable{\crcr\egroup\egroup}
diff --git a/macros/inrstex/inrstex/tag.tex b/macros/inrstex/inrstex/tag.tex
new file mode 100644
index 0000000000..dc16574388
--- /dev/null
+++ b/macros/inrstex/inrstex/tag.tex
@@ -0,0 +1,93 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% ============ Tag Generation ==========
+% These are the macros that generate the actual tags. They are used in
+% automatic equation numbering, section heads and any \auto...num{tag} form.
+
+
+% ============== Symbol that is dropped in when a tag is undefined ======
+\def\undefsymbol{\hbox{\vrule width 1em height .7em}}
+
+% ========== Tag types ============
+% Two types of tags are now supported. They differ in that one form is
+% immediate, and hence can refer only to things that have been defined while
+% the other is delayed until the page is printed. These latter sometimes do
+% migrate all the way out of internal boxes.
+% \ptag is the delayed form and \tag is the immediate form
+
+% page tags may turn out to be rather expensive. They are turned on through
+% the following form
+\newif\ifp@tag
+\def\pagetagson{\p@tagtrue} % this may require more work later
+\def\pagetagsoff{\p@tagfalse} % this is the default
+
+
+% ============ Tag macros =========
+% #1 is tag string
+% #2 is tag value (defined as the macro ":@#1")
+
+\def\tag#1#2{\expandafter\xdef\csname :@#1\endcsname{#2}}
+
+% #1 is tag string
+% #2 is tag value (defined as the macro ";@#1")
+
+\def\ptag#1#2{\expandafter\xdef\csname ;@#1\endcsname{#2}}
+
+% \newttag makes an immediate \tag and writes it out immediately
+
+\def\newttag#1#2{\def\next{#1}\ifx \next\empty\tag{#1}{#2}\else
+ \tag{#1}{#2}\ift@agfilein \immediate\write\t@agfile
+ {\string\tag{#1}{#2}}\fi\proofmargin{#1 ==> #2}\fi}
+
+% \newptag makes a page tag by writing it out to a file .. it is
+% not made immediately
+
+
+\def\newptag#1{\def\next{#1}\ifx \next\empty\relax\else
+ \ift@agfilein
+ {\let\folio=\relax\xdef\next{\write\t@agfile
+ {\string\ptag{#1}{\folio}}}}\else\xdef\next{\relax}\fi
+ \fi\next}
+
+\def\newtag#1#2{\newttag{#1}{#2}\ifp@tag\newptag{#1}\fi}
+
+
+%undefined tag message
+
+%\def\undeftagmessage#1{ <<<tag:#1 = undefined>>> } see english/french titles
+
+% Tag reference macro
+% #1 is the string that was originally used in the tag
+\def\r@ef#1#2{\def\doit{\ifundefined{#2#1}\writeterm{\undeftagmessage{#1}}{}{}\proofmargin
+ {tag: #1 <-- undefined}\undefsymbol\else
+ \proofmargin{ #1 <-- \csname #2#1\endcsname
+ }\csname #2#1\endcsname
+ \fi}\relax
+ \ifautoreference \doit \else#1\fi}
+\def\q@ref#1#2{\ifautoreference \csname #2#1\endcsname\else#1\fi}
+
+% ========= Normal Section Tag References ===========
+\def\ref#1{\r@ef{#1}{:@}}
+\def\quietref#1{\q@ref{#1}{:@}}
+
+% ======== Page References ==========
+\def\pageref#1{\r@ef{#1}{;@}}
+\def\pagequietref#1{\q@ref{#1}{;@}}
+\let\pref=\pageref
+\let\qref=\quietref
+\let\pqref=\pagequietref
+
+
+% General autotag generation, used for equation numbers, figure numbers etc.
+% #1 = tag
+% #2 = counter
+% #3 = tag format
+% #4 = auto text
+% #5 = noauto text
+% does not generate text if \silenttrue
+\def\a@utotag#1#2#3#4#5{\ifautonumber
+ \global\advance #2 by 1 \relax
+ \newtag{#1}{#3}\edef\t@ext{#4}\else \edef\t@ext{#5}\fi
+ \ifsilent\else\t@ext\fi}
diff --git a/macros/inrstex/inrstex/tocform.tex b/macros/inrstex/inrstex/tocform.tex
new file mode 100644
index 0000000000..86999ba0d1
--- /dev/null
+++ b/macros/inrstex/inrstex/tocform.tex
@@ -0,0 +1,108 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% ======== Table of Contents, Figures, and Tables -- Examples ======
+% The "list" file is written using \writelistfile and the \shtoc ...
+% are used to create the actual table of contents, figures, tables.
+% Extensions to other forms should be obvious.
+
+
+
+%====== general structure for making table of contents, tables, etc.
+% ------ table of contents is slightly different because it refers to itself
+
+% file names (defaults) \jobname.toc --- table of contents
+% \jobname.fig --- list of figures
+% \jobname.tbl --- list of tables
+
+% to initiate a build of any of these it is only necessary to
+% \openlistfile{<...>} --- This should be only done once
+% when this is done a <..>list flag or switch is also created
+
+% To print any of these lists it is only necessary to
+% use the following format
+% \begingroup
+% \def\sshtoc#1#2#3{} % omits or specially defines . and any other
+% \preludehead{<name list>} % .... or what you wish
+% \maketoclist % This is for toc files only ... self referential
+% \input \jobname.<extension>
+% \ejectpage % if desired
+% \endgroup
+
+% a few special macros are defined for toc/list file management (VAX/VMS)
+
+\newif\ifnotdefined % \ifundefined is sensitive if it fails
+\def\checklistopen#1{\notdefinedfalse\ifundefined{if#1list}\notdefinedtrue\relax
+ \fi}
+\def\c@k#1{\csname if#1list\endcsname \jobname.#1;-1 \else \jobname.#1 \fi}
+\def\newlistfilename#1{\ifnotdefined \jobname.#1 \else \c@k{#1} \fi}
+ % \c@k is necessary because of the way TeX expands
+
+\newtoks\inputtocfiles
+\inputtocfiles = {\checklistopen{toc}\inputwithcheck{\newlistfilename{toc}}}
+\def\maketoclist{\begingroup\captionbodyoff\the\inputtocfiles\endgroup}
+
+\newtoks\inputfigfiles
+\inputfigfiles = {\checklistopen{fig}\inputwithcheck{\newlistfilename{fig}}}
+\def\makefiglist{\begingroup\captionbodyoff\the\inputfigfiles\endgroup}
+
+\newtoks\inputtblfiles
+\inputtblfiles = {\checklistopen{tbl}\inputwithcheck{\newlistfilename{tbl}}}
+\def\maketbllist{\begingroup\captionbodyoff\the\inputtblfiles\endgroup}
+
+
+% ======== macro forms for toc, fig, tbl =========
+% Some of these are defined as null to suppress printing of the
+% corresponding entries.
+% #1 Number
+% #2 Text
+% #3 Page number
+% ========== toc macro forms ==========
+% special forms that allow for multiple line titles ... auto line breaking
+% only
+%#1--indent #2 --section number #3--title
+% #4-- pagenumber
+\newdimen\t@ocsize
+\newdimen\righttocindent %\righttocindent = 5em
+
+\def\tocfill{\leaders\hbox to .5em{\hss.\hss}\hfill\hskip .5em}
+
+% default font is \rm ... may be changed in the actual \figtoc ...etc
+% macros as given below.
+
+\def\tocbox#1#2#3#4{\line{\rm \t@ocsize=\hsize
+ \setbox2=\hbox {\hskip#1\relax#2\quad}
+ \advance\t@ocsize by -\righttocindent
+ \vbox{\hsize \t@ocsize \normalbaselines
+ \setstrut
+ \hangindent 1\wd2
+ \hangafter 1 \def\cr{\linebreak}\frenchspacing
+ \veryraggedright \parindent=0pt\leavevmode
+ \box2\relax#3\strut\null\nobreak\rm\tocfill
+ #4\hskip -\righttocindent\strut}\hss}}
+
+% ---------- figure forms -------
+\def\figtoc#1#2#3{ \vskip 1ex plus 1pt minus 1pt
+ \tocbox{2em}{#1}{#2}{#3}}
+% ---------- table forms -------
+\let\tbltoc=\figtoc
+
+\def\prtoc#1#2#3{ \vskip 1ex plus 1pt minus 1pt
+ \tocbox{0em}{\it#1}{\it#2}{\it#3}}
+
+\def\chtoc#1#2#3{ \goodbreak\vskip 2ex plus 1pt minus 1pt
+ \tocbox{0em}{\sheadfont#1}{\sheadfont\def\cr{ }#2}{#3}}
+\def\shtoc#1#2#3{ \vskip 1ex plus 1pt minus 1pt
+ \tocbox{2em}{#1}{#2}{#3}}
+\def\sshtoc#1#2#3{ \vskip .5ex plus 1pt minus 1pt
+ \tocbox{4em}{#1}{#2}{#3}}
+\def\intssshtoc#1#2#3{ \vskip .3ex plus 1pt minus 1pt
+ \tocbox{6em}{#1}{#2}{#3}}
+\def\intdssshtoc#1#2#3{ \vskip 1pt plus 1pt minus 1pt
+ \tocbox{8em}{#1}{#2}{#3}}
+\def\ssshtoc#1#2#3{}
+\def\dssshtoc#1#2#3{}
+
+% the upper two forms are defaulted to be omitted. They are easily included
+% with a \let\ssshtoc = \intssshtoc ... etc . \ No newline at end of file
diff --git a/macros/inrstex/inrstex/writdos.tex b/macros/inrstex/inrstex/writdos.tex
new file mode 100644
index 0000000000..124ef3b99c
--- /dev/null
+++ b/macros/inrstex/inrstex/writdos.tex
@@ -0,0 +1,39 @@
+% This is a file that modifies the file nameing conventions in INRSTeX
+% for IBM DOS 3.0 ... It works in conjunction with a command file that
+% renames old versions of files produced by INRSTeX. The convention is
+% to add "@" to the beginning of the filename. This has the advantage of
+% leaving the extensions intact but has the disadvantage of
+% truncating 8 letter filenames. The "@" is not sacrosanct.
+
+% if a job is aborted, the old files may be made current with
+% rename @<jobname>.* <jobname>.*
+
+% There are several places in INRSTeX that require changes.
+
+\catcode`\@=11
+
+% ------ auto.tex -----
+
+% \inputtagfiles={\inputwithcheck {\jobname.tag}}
+\inputtagfiles={\inputwithcheck {@\jobname.tag}} % will have been renamed
+
+
+% -------- tocform.tex ------
+
+%\def\c@k#1{\csname if#1list\endcsname \jobname.#1;-1 \else \jobname.#1 \fi}
+%\def\newlistfilename#1{\ifnotdefined \jobname.#1 \else \c@k{#1} \fi}
+ % VAX/VMS \c@k is necessary because of the way TeX expands
+
+\def\c@k#1{\csname if#1list\endcsname @\jobname.#1 \else \jobname.#1 \fi}
+\def\newlistfilename#1{\ifnotdefined \jobname.#1 \else \c@k{#1} \fi}
+ % \c@k is necessary because of the way TeX expands
+
+% ----------- cite.tex ---------
+
+% This does not need changing as long as the citation list ALWAYS follows
+% the citations. If this is not the case, then an old version will have to
+% used. This might lead to other problems later.
+
+% \citetagfilename = {\jobname.ctg} %compatible Ugh!
+
+\catcode `\@=12
diff --git a/macros/inrstex/inrstex/writfile.tex b/macros/inrstex/inrstex/writfile.tex
new file mode 100644
index 0000000000..91cfc9244f
--- /dev/null
+++ b/macros/inrstex/inrstex/writfile.tex
@@ -0,0 +1,62 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% ========== List Files =========
+% General macros for making, open and closing "list' files. These are files
+% where the form output includes a page reference. They are named with a
+% three letter extension ... eg ".fig" ... to the \jobname form.
+
+
+% \writelistfile
+% #1 file type to write
+% #2 command form (\string\cs)
+% #3 number ..... expanded
+% #4 text .... not expanded
+% Write to the appropriate list file if #1list is true and defined
+% This means that the arguments must be
+% expanded to reflect the state of affairs at the time of invocation.
+% However, the page number must not be expanded until the
+% output routine has had a chance to decide which page it will go on.
+
+
+% this uses the upper toks registers for scratch writing.
+% when the number of token registers used is within 10 of the
+% newtoks count, it is reset ... there is no checking ... however
+% there should be no problems ... except for token space (ugh!!!)
+% This is necessary (at least in TeX 1.1) in order to prevent spurious
+% expansion.
+
+
+\newcount\sptoks \sptoks=255 % start at top with this counter
+\xdef\maxlistmess{224} % 10 less than the min toks number allowed ... 20
+\def\nextsptoks{\advance\sptoks by -10 \relax \ifnum\sptoks < \count15
+ \global\sptoks=255 \else
+ {\ifnum\sptoks<\maxlistmess
+ \global\sptoks=255\else \global\advance\sptoks by 9\relax\fi}\fi}
+\def\settoks#1{\xdef\sptoksnum{\the\sptoks}\global\expandafter\toks\sptoksnum = {#1}}
+
+\def\writelistfile#1#2#3#4{\ifundefined{if#1list}\n@ewswitch{#1list}\fi
+ \csname if#1list\endcsname
+ {\let\folio=\relax %do not expand \folio
+ \nextsptoks\settoks{#4}\edef\next{\write\csname #1@file\endcsname
+ {#2{#3}{\noexpand\the\noexpand\toks\sptoksnum}{\folio}}}\next}\fi\nobreak}
+
+%checks to see if open
+\def\openlistfile#1{\ifundefined{if#1list}\n@ewswitch{#1list}\fi
+ \def\n@extwrite{\relax}\ifundefined{#1@file}\def\n@extwrite
+ {\expandafter\n@ewwrite\csname #1@file\endcsname}\fi
+ \csname if#1list\endcsname
+ \else
+ \n@extwrite
+ \edef\n@ext{\immediate\openout\csname #1@file\endcsname
+ = \jobname.#1}\n@ext
+ \expandafter\global\csname #1listtrue\endcsname
+ \fi } %opens the list file
+
+
+\def\closelistfile#1{\expandafter\global\csname #1listfalse\endcsname
+ \edef\n@ext{
+ \closeout\csname #1@file\endcsname}
+ \n@ext} %closes the list file
+
diff --git a/macros/inrstex/inrstex/writunix.tex b/macros/inrstex/inrstex/writunix.tex
new file mode 100644
index 0000000000..ada5c6a0b9
--- /dev/null
+++ b/macros/inrstex/inrstex/writunix.tex
@@ -0,0 +1,41 @@
+% This is a file that modifies the file naming conventions in INRSTeX
+% for Berkeley Unix ... It works in conjunction with a command file that
+% renames old versions of files produced by INRSTeX. The convention is
+% to add "~" to the end of the filename. This is the same indication that
+% EMACS uses for old versions. Note that there is no concern with file
+% name length in Berkeley Unix. The "~" is not sacrosanct.
+
+% if a job is aborted, the old files may be made current (in csh) with
+% foreach i (<jobname>.*~)
+% mv $i `basename $i \~`
+% end
+
+% There are several places in INRSTeX that require changes.
+
+\catcode`\~=11
+
+% ------ auto.tex -----
+
+% \inputtagfiles={\inputwithcheck {\jobname.tag}}
+\inputtagfiles={\inputwithcheck {\jobname.tag~}} % will have been renamed
+
+
+% -------- tocform.tex ------
+
+%\def\c@k#1{\csname if#1list\endcsname \jobname.#1;-1 \else \jobname.#1 \fi}
+%\def\newlistfilename#1{\ifnotdefined \jobname.#1 \else \c@k{#1} \fi}
+ % VAX/VMS \c@k is necessary because of the way TeX expands
+
+\def\c@k#1{\csname if#1list\endcsname \jobname.#1~ \else \jobname.#1 \fi}
+\def\newlistfilename#1{\ifnotdefined \jobname.#1 \else \c@k{#1} \fi}
+ % \c@k is necessary because of the way TeX expands
+
+% ----------- cite.tex ---------
+
+% This does not need changing as long as the citation list ALWAYS follows
+% the citations. If this is not the case, then an old version will have to
+% used. This might lead to other problems later.
+
+% \citetagfilename = {\jobname.ctg} %compatible Ugh!
+
+\catcode `\~=\active