summaryrefslogtreecommitdiff
path: root/macros/plain/contrib/pdcmac/pdcmondo.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/plain/contrib/pdcmac/pdcmondo.tex')
-rw-r--r--macros/plain/contrib/pdcmac/pdcmondo.tex189
1 files changed, 189 insertions, 0 deletions
diff --git a/macros/plain/contrib/pdcmac/pdcmondo.tex b/macros/plain/contrib/pdcmac/pdcmondo.tex
new file mode 100644
index 0000000000..76c6eac3ca
--- /dev/null
+++ b/macros/plain/contrib/pdcmac/pdcmondo.tex
@@ -0,0 +1,189 @@
+% Combined listing of the PDCMAC macros
+% hacked together pdc 1995-03-28
+
+\relax
+\input pdccode
+\input epsf
+\errorcontextlines10000
+\document
+
+\input pdcmacvn
+
+% Redefine the PDCCODE macros
+
+%\def\codefile#1{}
+%\def\endcodefile{}
+%\begingroup\obeylines \toksa={\endgroup %
+% \def\CODElinei#1^^M{%
+% \indent\the\everycodeline #1\par %
+% \endgroup % matches \CODEline
+% }%
+% \def\CODElinex#1^^M{%
+% {\indent\the\everycodeline #1\par}%
+% }%
+%} \the\toksa
+
+
+% abbreviated TOC macros taken from pdcsty
+
+\newwrite\TOCfile
+\openout\TOCfile=\jobname.toc
+\def\TOCwrite#1#2#3{%
+ \begingroup\def\n{\string\n}
+ \def\tmp{#3}%
+ \edef\tmp{\string#1{#2}{\expandafter\TOCtrim\meaning\tmp}}
+ \write\TOCfile\expandafter{\tmp{\folio}}\endgroup
+}
+\def\TOCtrim#1:->{}
+\def\TOCentryfile#1#2#3{
+ \medbreak\noindent{\subsecfont #2}\smallskip
+}
+\def\TOCentrysection#1#2#3{
+ \indent \llap{\S#1\enspace}
+ \ignorespaces #2\quad#3\par
+}
+\def\TOCentrysubsec#1#2#3{}
+
+
+% Abbreviated fontmatter definitions from pdcsty:
+
+\def\frontmatter{
+ \write\TOCfile{\string\endinput}
+ \closeout\TOCfile
+ \vfill\supereject
+ \pageno=-1 \secnofalse \headline{\hfil}
+ \def\TOCwrite##1##2##3{}
+}
+\def\endfrontmatter{
+ \section{Contents}
+ \input\jobname.toc
+ \vfill\supereject
+}
+\newif\ifsecno \secnotrue
+
+
+% sectioning taken from pdccode -- adapted to include TOC entries.
+
+\def\section#1{%
+ \advance\seccount1 \subseccount=0
+ \bigbreak
+ \begingroup
+ \secfont \hyphenpenalty=10000 \tolerance=1000
+ \rightskip=0pt plus 2em
+ \ifsecno \noindent\llap{\number\seccount.\enspace}\fi #1
+ \TOCwrite\TOCentrysection{\number\seccount}{#1}
+ \nobreak\medskip
+ \endgroup
+ \noindenttrue
+}
+\def\subsec#1{%
+ \advance\subseccount1
+ \medbreak
+ \begingroup
+ \subsecfont \hyphenpenalty=10000 \tolerance=1000
+ \parskip=0pt \parindent=0pt \rightskip=0pt plus 2em
+ \ifsecno \noindent\llap{\number\seccount.%
+ \number\subseccount.\enspace}\fi #1
+ \TOCwrite\TOCentrysubsec{\number\seccount.\number\subseccount}{#1}
+ \nobreak\smallskip
+ \endgroup
+ \noindenttrue
+}
+\def\title#1{
+ \vglue2\baselineskip
+ \begingroup \titlefont \parindent-\leftmargin \hyphenpenalty10000
+ #1\smallskip
+ \endgroup
+ \leftline{Version \fileversion,
+ last changed \fileauthor\space \mungedate\filedate}
+ \ifx\filelocker\empty\else
+ \leftline{Edited by \filelocker\unskip\ \today}
+ \fi
+ \medskip
+ \hrule \vskip1pt \hrule \vskip1pt \hrule \vskip1pt \hrule
+ \medskip
+ \rightline{\theauthor}
+ \bigskip
+ \headline{\hfil\global\headline{%
+ \hskip-\leftmargin \sevenbf \themarks \hfil #1
+ \fileversion
+ \ifx\filelocker\empty
+ \space\mungedate\filedate
+ \else
+ e\space\today
+ \fi
+ }}
+ \TOCwrite\TOCentryfile{}{#1}
+}
+
+% A command to include another complete document in this one.
+
+\def\includedocument#1{
+ \begingroup
+ \let\RELAX\relax
+ \def\relax{\let\relax\RELAX \iffalse}
+ \let\document=\fi
+ \let\enddocument\endinput
+ \lineno=0
+ \input #1
+ \vfil\eject \mark{}
+ \endgroup
+}
+
+\includedocument{maamac.dtx}
+\includedocument{magrmac.dtx}
+\includedocument{pdcadobe.dtx}
+\includedocument{pdccode.dtx}
+\includedocument{pdcfsel.dtx}
+\includedocument{pdcfmt2.dtx}
+\includedocument{pdcl1maa.dtx}
+\includedocument{pdcmisc.dtx}
+\includedocument{pdcoput5.dtx}
+
+\headline{\hfil}
+\null
+% need a blank page (unfortunate kludge)
+% This is because each embedded document is followed by a page break
+% but we need the a page break before the TOC to finish writing out
+% the TOC file. Argh.
+\frontmatter
+\vfill
+\leftline{\titlefont PDCMAC Mondo Combined Listing}
+\leftline{\titlefont For release 1\kern-0.07em \raise0.5ex\hbox{.}0}
+
+\section{Preface}
+
+ PDCMAC is a package of plain \TeX\ macro files. The macro files
+ are generated by running plain \TeX\ on |dtx| files, which
+ produces both a copy of the macros and printed documentation
+ (see the {\it PDCMAC User Guide}\/ for more information). This
+ `combined listing' is a compilation of most of the |dtx| files
+ in the PDCMAC distribution (|pdcsty.dtx|, which generates the
+ sample style files, is not included).
+
+ This compilation document works as follows. First it reads
+ |pdcmac.tex| and then redefines some macros to write entries for
+ a table of contents, and then reads the |dtx| files one after
+ another. The results should be same as running \TeX\ on each of
+ the |dtx| files separately, except that the pages are numbered
+ continuously and there is a contents list.
+
+ This is useful for two different purposes: (1)~to make a printed
+ copy of the macros for reference while using them, and (2)~to
+ generate all the macro files in one \TeX\ command instead of
+ several. This is useful when you cannot use the makefile
+ supplied with the package. If you do have the makefile, it will
+ probably be the more convenient way to keep the macro files
+ up-to-date.
+
+ The files are included in alphabetical order. See the PDCCODE
+ chapter below for information on the PDCCODE system.
+
+\endfrontmatter
+\enddocument
+\bye
+
+%Local Variables:
+%fill-prefix: " "
+%tex-has-children: t
+%End: