summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/plain/zztex/zztex.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/plain/zztex/zztex.tex')
-rw-r--r--Master/texmf-dist/tex/plain/zztex/zztex.tex196
1 files changed, 196 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/plain/zztex/zztex.tex b/Master/texmf-dist/tex/plain/zztex/zztex.tex
new file mode 100644
index 00000000000..203affbfac0
--- /dev/null
+++ b/Master/texmf-dist/tex/plain/zztex/zztex.tex
@@ -0,0 +1,196 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Module: ZzTeX Main Module
+%
+% Synopsis: This is the main module of ZzTeX. It sets up character
+% categories and loads all the other modules.
+%
+% Note: ZzTeX assumes the use of DVIPSONE, the PostScript DVI program
+% from Y&Y.
+%
+% Author: Paul C. Anagnostopoulos
+% Created: 27 March 1989
+%
+% Copyright 1989--2020 by Paul C. Anagnostopoulos
+% under The MIT License (opensource.org/licenses/MIT)
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% If ZzTeX is already loaded, quit immediately.
+
+\ifx \ZzTeX\zzzundefinedzzz \else \message{... using format}\endinput \fi
+
+% Character Categories
+% --------- ----------
+
+
+% Character INITEX ZzTeX Notes
+%
+% NUL ignored invalid Ignored in Plain TeX.
+% TAB invalid Space in Plain TeX.
+% FORMFEED active: \par
+% RETURN end of line end of line
+% space space space
+% # parameter
+% $ math shift
+% & alignment tab
+% % comment comment
+% @ other active: command
+% letters letter letter
+% \ escape escape
+% ^ superscript
+% _ subscript
+% { begin group
+% } end group
+% ~ active: tie
+% DELETE invalid invalid
+% others other invalid
+
+
+\chardef \catescape = 0 % Escape character (\). %^catcode
+\chardef \catbegin = 1 % Begin group ({). %^catcode
+\chardef \catend = 2 % End group (}). %^catcode
+\chardef \catmath = 3 % Math mode ($). %^catcode
+\chardef \catalign = 4 % Alignment tab (&). %^catcode
+\chardef \catendofline = 5 % End of line. %^catcode
+\chardef \catparameter = 6 % Parameter (#). %^catcode
+\chardef \catsuperscript = 7 % Superscript (^). %^catcode
+\chardef \catsubscript = 8 % Subscript (_). %^catcode
+\chardef \catignored = 9 % Ignored character. %^catcode
+\chardef \catspace = 10 % Space. %^catcode
+\chardef \catletter = 11 % Letter. %^catcode
+\chardef \catother = 12 % Other. %^catcode
+\chardef \catactive = 13 % Active character (tilde). %^catcode
+\chardef \catcomment = 14 % Comment (percent). %^catcode
+\chardef \catinvalid = 15 % Invalid character. %^catcode
+\chardef \catcsname = 16
+
+\catcode`\^ = \catsuperscript
+\catcode`\^^@ = \catinvalid
+\catcode`\^^I = \catinvalid
+\catcode`\^^L = \catactive
+\catcode`\^^M = \catendofline
+\catcode`\ = \catspace
+\catcode`\# = \catparameter
+\catcode`\$ = \catmath
+\catcode`\& = \catalign
+\catcode`\% = \catcomment
+\catcode`\@ = \catactive
+\catcode`\\ = \catescape
+\catcode`\_ = \catsubscript
+\catcode`\{ = \catbegin
+\catcode`\} = \catend
+\catcode`\~ = \catactive
+\catcode`\^^? = \catinvalid
+
+% Characters "80--"FF are catcoded as invalid in zzmisc.
+
+\outer \def ^^L{\par}
+
+% Atsign Commands
+% ------ --------
+
+
+% At-sign commands are reserved for extended commands within blocks.
+% \defineatsigncommand makes a local definition!
+
+
+\def \defineatsigncommand @#1{% char args {body}
+ \withname\def{\zat#1}}
+
+\def @#1{% char
+ %%%\relax % Stops \omit search in an alignment cell.
+ \if \undefinedp{\zat#1}%
+ \error{undefat}{The atsign command `\string@#1' is not defined
+ in this block}%
+ \fi
+ \name{\zat#1}}
+
+% Markers
+% -------
+
+
+% This command does nothing, but it provides a name on which to
+% hang a comment for ZzExplore.
+
+\def \definemarker #1{% {marker-name}
+ }
+
+% Paragraph Programs
+% --------- --------
+
+
+% We maintain a list of little programs that must be executed
+% at the beginning of every paragraph. A program is declared
+% with `\declareeverypar'. The programs are executed with
+% `\requiredeverypar'.
+
+\def \everyparlist {}
+
+\def \declareeverypar #1{% {code}
+ \append{#1}{\everyparlist}}
+
+\def \requiredeverypar {%
+ \maplist{##1}{\everyparlist}}
+
+% Modules
+% -------
+
+
+\def \zremovePlaindef #1{%
+ \let #1= \relax}
+
+\input zzprog % Must be first.
+\input zzreg % Must be second.
+\input zzerror
+\input zzhelp
+\input zzio
+\input zzfont
+\input zzvmode
+\input zzhmode
+\input zzhmodeb
+\input zzhyph
+\input zzltrspc
+\input zzblock
+\input zzxref
+\input zzdoc
+\input zzdiv
+\input zzpage
+\input zzoverlay
+\input zzindexv1 % Must precede body files.
+\input zzsect
+\input zztext
+\input zztabbing
+\input zznote
+\input zzlist
+\input zztabularv3
+\input zzfloat
+\input zzart
+\input zztag
+\input zzmath
+\input zzfront
+\input zzps
+\input zzhyper
+\input zzmisc % Must be next to last.
+\input zzplain % Must be last.
+
+% Identification
+% --------------
+
+
+\def \TeX {T\kern-.1667em \lower .55ex \hbox{E}\kern-.1em X}
+\def \ZzTeX {Z\kern -.02em z\kern -.05em \TeX}
+
+\input zzver\relax
+
+\everyjob = {\messagenl{__Welcome to ZzTeX version \ZzTeXversion__}}
+
+\def \fmtname {ZzTeX}
+\edef \fmtversion {\ZzTeXversion}
+
+
+\messagenl{__Welcome to ZzTeX version \ZzTeXversion__}
+
+\if \orp{\hmodep}{\posp{\pagetotal}}
+ \zzerror{Spurious paragraph text appears in the ZzTeX files}%
+\fi