summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/dialogl
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-01-25 23:16:00 +0000
committerKarl Berry <karl@freefriends.org>2013-01-25 23:16:00 +0000
commit220642dbc88e804b285b1d77b7785de73213236b (patch)
tree13fcfc4321774d63f2dc2dea4f623e4ce23ee3b1 /Master/texmf-dist/doc/latex/dialogl
parent6e7e69cd3889f06015e1d00cd9ef3a7e582f238a (diff)
dialogl 1.99a reinstated as lppl (24jan13)
git-svn-id: svn://tug.org/texlive/trunk@28946 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/dialogl')
-rw-r--r--Master/texmf-dist/doc/latex/dialogl/Makefile52
-rw-r--r--Master/texmf-dist/doc/latex/dialogl/README158
-rw-r--r--Master/texmf-dist/doc/latex/dialogl/cnvunits.tex139
-rw-r--r--Master/texmf-dist/doc/latex/dialogl/codialog.pdfbin0 -> 408508 bytes
-rw-r--r--Master/texmf-dist/doc/latex/dialogl/default.los82
-rw-r--r--Master/texmf-dist/doc/latex/dialogl/dia-driv.pdfbin0 -> 297137 bytes
-rw-r--r--Master/texmf-dist/doc/latex/dialogl/dia-driv.tex236
-rw-r--r--Master/texmf-dist/doc/latex/dialogl/dialogl-doc.sty536
-rw-r--r--Master/texmf-dist/doc/latex/dialogl/diatest.tex167
-rw-r--r--Master/texmf-dist/doc/latex/dialogl/fontmenu.lg31
-rw-r--r--Master/texmf-dist/doc/latex/dialogl/fontmenu.tex72
-rw-r--r--Master/texmf-dist/doc/latex/dialogl/manifest.txt14
12 files changed, 1487 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/dialogl/Makefile b/Master/texmf-dist/doc/latex/dialogl/Makefile
new file mode 100644
index 00000000000..713542232f7
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dialogl/Makefile
@@ -0,0 +1,52 @@
+# Copyright 2013 TeX Users Group.
+# This file is part of the dialogl package, released under the LPPL;
+# see dialogl.ins for details.
+
+pkg = dialogl
+dtx = $(pkg).dtx grabhedr.dtx listout.dtx menus.dtx
+#
+srcfiles = Makefile README
+srcfiles += $(pkg).ins $(dtx)
+srcfiles += cnvunits.tex dia-driv.tex
+srcfiles += dialogl-doc.sty
+srcfiles += fontmenu.tex fontmenu.lg # doc
+srcfiles += diatest.tex
+derivedfiles =
+
+opt = --interaction=nonstopmode --file-line-error
+latex = latex $(opt)
+pdflatex = pdflatex $(opt)
+#
+%.pdf: %.tex
+ $(pdflatex) $<
+ $(pdflatex) $<
+
+default: all
+all: dist
+
+derivedfiles += default.los
+default.los: dialogl.dtx
+
+derivedfiles += codialog.pdf
+codialog.pdf: codialog.tex
+ echo P | pdflatex $<
+ echo P | pdflatex $<
+
+derivedfiles += dia-driv.pdf
+dia-driv.pdf: dialogl-doc.sty
+
+# doesn't really depend on dialog.sty for running, but we want to make
+# sure the .ins works.
+dia-driv.pdf: dialog.sty
+dialog.sty grabhedr.sty listout.tex menus.sty: $(pkg).ins $(dtx)
+ yes | head -100 | latex $<
+# \askforoverwritefalse seemingly has no effect.
+
+dist: $(pkg).zip
+$(pkg).zip: manifest.txt $(srcfiles) $(derivedfiles)
+ chmod a+rw $^
+ rm -f $@; zip $@ $^
+
+manifest.txt: $(srcfiles)
+ chmod a+rw $^
+ echo $@ $^ | tr ' ' '\n' >$@
diff --git a/Master/texmf-dist/doc/latex/dialogl/README b/Master/texmf-dist/doc/latex/dialogl/README
new file mode 100644
index 00000000000..92227b458a6
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dialogl/README
@@ -0,0 +1,158 @@
+Copyright 1994 Michael John Downes
+Copyright 2013 TeX Users Group
+
+This file is part of the dialogl package, released under the LPPL;
+see dialogl.ins for details.
+
+This package was written by Michael Downes, who passed away in 2003. He
+released it under a custom license, now considered nonfree. In October
+2012, his heirs (his children Zoe, Elizabeth, and Mia Downes) have all
+agreed to re-releasing his work under any version of the LaTeX Public
+Project License. Therefore, the package is now released under the LPPL,
+version 1 or (at your option) any later version.
+
+The only changes in this release are to the license, to remove examples
+lacking known-free licenses, and to remove the .stp files for plain TeX
+(which were apparently manually created by editing the .sty's).
+The actual code is the same as Michael's last release.
+
+
+The `dialogl' collection Michael Downes, 10-Nov-1994
+
+The purpose of the `dialogl' collection is to gather together in one
+place a lot of information and examples---probably more than you really
+wanted---about how to write TeX macros to carry on dialog with the user.
+The centerpiece of the package is the file `dialog.sty', which makes it
+easy to add bits of dialog to a LaTeX document; it can also be used with
+non-LaTeX macro packages, if they are plain.tex compatible. Another
+file, listout.tex, has a menu system built with the functions defined in
+menus.sty, which you may enjoy trying out. listout.tex was originally
+written to work with plain TeX; my later attempts to retrofit LaTeX
+compatibility may have some gaps, but it seems to work in the simple
+tests that I have done.
+
+The total size of the dialogl collection is approximately 580K.
+
+INSTALLATION:
+
+LATEX: The .sty files and listout.tex should go into your
+LaTeX input files area, wherever that may be on your system. The
+remaining files can go wherever you want.
+
+
+Suggested usage:
+
+(1) Try using listout.tex to print out some e-mail or program source
+files (e.g. TeX macros), eight or ten pages: Give the command
+
+ tex listout
+
+Navigate through the menu system, try to break it by giving bizarre
+answers, look for other kinds of deficiencies. Find and try out the
+`tiny tabs' option. Find out how to make Control-L characters produce a
+`newpage' effect in the printout.
+
+(2) Print pages 1--5 of the documentation for dialog.sty (dia-driv.tex,
+~25 pages total, see below). You will need doc.sty to do this. Look at
+the user functions described in the documentation to see which ones you
+might want to use.
+
+(4) If you are interested, print out codialog.tex (29 pages): it gives
+a technical overview of TeX's capabilities for dialog, with various
+examples. Further technical discussion is found in the .dtx files, which
+can be printed out individually or using the driver file dia-driv.tex.
+
+ dialogl.dtx 11 pages
+ menus.dtx 9 pages
+ grabhedr.dtx 4 pages
+ listout.dtx 40 pages (includes a full listing of menus at the end)
+
+FUTURE ENHANCEMENTS NEEDED
+
+---Add \nmenu, \nxmenu.
+
+---Adapt further for LaTeX2e. `menus' might perhaps better be done as a
+package option of the dialog package:
+
+ \usepackage[menus]{dialog}
+
+to cut down on the number of different files required.
+
+---Add support for reading menus from disk to cut down on memory
+consumption (currently latex2e+listout.tex uses more than 65K,
+producing `TeX capacity exceeded' error for small TeXs).
+
+---Provide better documentation about what is available for use in the
+running heads/feet (\todaysdate, \nowtime, (\TeXdate \TeXtime?),
+\thisfilename, \dirprefix, etc. Also \folio should be separated into
+\columnfolio and \pagefolio or maybe \pagefolio and \sheetfolio so that
+they can be put in different places separately.
+
+---Provide better support for printing characters in the range 0-31,
+127-255 if suitable fonts are available. (Where the meaning of
+`suitable' is system-dependent and language-dependent.)
+
+---Provide support for embedding `listout' fragments in parent
+documents. Output routine complications make this difficult for
+fragments more than one page long, unless they are restricted to single
+column format. But even that much would be useful.
+
+---Add an index for listout.dtx.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+File list:
+
+INSTALLATION
+
+ README
+ dialogl.ins (for LaTeX2e)
+ diatest.tex (test file)
+
+UTILITIES
+
+ dialog.sty
+ menus.sty
+ grabhedr.sty
+
+ listout.tex
+
+DOCUMENTATION
+
+ Main File Subfiles
+ ---------------------------
+ dia-driv.tex dialogl.dtx
+ menus.dtx
+ grabhedr.dtx
+
+ listout.dtx default.los
+
+ codialog.tex cnvunits.tex
+ fontmenu.tex
+ fontmenu.lg
+
+ dialogl-doc.sty
+
+DIA-DRIV.TEX
+
+This is the driver file for printing out the documentation of
+dialog.sty, menus.sty, and grabhedr.sty. Run it through standard
+LaTeX.
+
+CODIALOG.TEX
+
+This is a substantially revised and augmented version of the paper
+`Dialog with TeX' that appeared in the Proceedings of the 1991 TUG
+Conference at Dedham, Massachusetts (TUGboat vol 12 no 3, December
+1991, Part 2). [In other words: I was dissatisfied with the first
+published version, so I am `publishing' here a better organized
+version with some nice added examples.]
+
+The following files that are printed in the appendixes of the paper are
+included in electronic form in case any finds some use for them.
+
+---fontmenu.tex shows how the token-deletion option of TeX's
+error recovery mechanism can be used to implement a crude menu
+facility.
+
+---cnvunits.tex contains some routines that demonstrate conversion of
+point units to inch units.
diff --git a/Master/texmf-dist/doc/latex/dialogl/cnvunits.tex b/Master/texmf-dist/doc/latex/dialogl/cnvunits.tex
new file mode 100644
index 00000000000..19b8be44633
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dialogl/cnvunits.tex
@@ -0,0 +1,139 @@
+% Copyright 1994 Michael John Downes
+% Copyright 2013 TeX Users Group
+% This file is part of the dialogl package, released under the LPPL;
+% see dialogl.ins for details.
+
+\newdimen\zdim \newdimen\tempdim \newdimen\tempdima
+
+% Conversion factors:
+%
+% According Scaled Rational Prime
+% Unit to TeX Points Form Factorization
+%-----------------------------------------------------------------
+% 1 sp 0.00002 pt 1 1/65536 pt 1 / 2^16
+% 1 mm 2.84526 pt 186467 7227/2540 pt 3*3*11*73 / 2*2*5*127
+% 1 cm 28.45274 pt 1864679 7227/254 pt 3*3*11*73 / 2*127
+% 1 pt 1.0 pt 65536 100/7227 in 2*2*5*5 / 3*3*11*73
+% 1 pc 12.0 pt 786432 12/1 pt
+% 1 dd 1.07 pt 70124 1238/1157 pt 2*619 / 13*89
+% 1 cc 12.8401 pt 841489 14856/1157 pt 2*2*2*3*619 / 13*89
+% 1 bp 1.00374 pt 65781 803/800 pt 11*73 / 2*2*2*2*2*5*5
+% [1/72 in]
+% 1 in 72.2699 pt 4736286 7227/100 pt 3*3*11*73 / 2*2*5*5
+% [2.54 cm] [254/100 cm]
+
+\def\points#1#2#3{\tempdim#2\relax
+ \edef#3{\csname cnvunits#1\expandafter\endcsname\the\tempdim}%
+}
+
+\def\inches#1#2#3{%
+ \tempdim=#2\relax
+ \tempdima=\ifdim\tempdim<\zdim -\fi\tempdim % absolute value
+ \roundup\tempdima{#1}{in}%
+% In the interest of maximum accuracy we push \tempdima as near
+% to \maxdimen as possible before dividing, using the prime
+% factorization of the fraction 7227/100 which is the
+% points/inches conversion factor.
+ \ifdim\tempdima<.01\maxdimen
+ \multiply\tempdima 100 \divide\tempdima 7227
+ \else
+ \ifdim\tempdima<.1\maxdimen
+ \multiply\tempdima 10 \divide\tempdima 11
+ \multiply\tempdima 10 \divide\tempdima 657
+ \else
+ \divide\tempdima 9 \multiply\tempdima 5
+ \divide\tempdima 803 \multiply\tempdima 20
+ \fi
+ \fi
+ \tempdim=\ifdim\tempdim<\zdim -\fi \tempdima
+ \edef#3{%
+ \csname cnvunits#1\expandafter\endcsname\the\tempdim}%
+}
+
+% Function \roundup for rounding upward. #1 must be a dimension
+% register. If it holds a negative value it will be rounded
+% `outward' away from zero rather than `upward' toward zero. #3
+% is a TeX units string such as "pt" or "in". If #2 = 0 then
+% this will round up to the nearest tenth; if #2 = 00, nearest
+% hundredth; and so forth (up to 5 zeros). If #2 is empty then
+% full accuracy up to TeX's limits will be used.
+%
+% The rounded result will be returned in the dimension register
+% #1.
+
+\def\roundup#1#2#3{%
+ \if .#2.\else
+ \begingroup
+ \ifdim#1>\zdim
+ \advance#1-\maxdimen \advance#1.#25#3\relax
+ \fi
+ \ifdim#1<\zdim
+ \endgroup
+ \advance#1.#25#3
+ \else
+ \endgroup
+ \fi
+ \fi
+}
+
+\begingroup
+\catcode`\P=12 \catcode`\T=12
+\lowercase{%
+\expandafter\gdef\csname cnvunits\endcsname#1PT{#1}
+\expandafter\gdef\csname cnvunits0\endcsname#1.#2PT{%
+ #1.\takeone#20\takeone}
+\expandafter\gdef\csname cnvunits00\endcsname#1.#2PT{%
+ #1.\taketwo#200\taketwo}
+\expandafter\gdef\csname cnvunits000\endcsname#1.#2PT{%
+ #1.\takethree#2000\takethree}
+\expandafter\gdef\csname cnvunits0000\endcsname#1.#2PT{%
+ #1.\takefour#20000\takefour}
+\expandafter\gdef\csname cnvunits00000\endcsname#1.#2PT{%
+ #1.\takefive#200000\takefive}
+}%
+\endgroup
+
+\def\takeone#1#2\takeone{#1}
+\def\taketwo#1#2#3\taketwo{#1#2}
+\def\takethree#1#2#3#4\takethree{#1#2#3}
+\def\takefour#1#2#3#4#5\takefour{#1#2#3#4}
+\def\takefive#1#2#3#4#5#6\takefive{#1#2#3#4#5}
+
+\def\showinches#1{\inches{00}{#1}\converted
+ \immediate\write16{%
+ #1 = (after conversion) \converted\space inches}}
+
+\showinches{0in} \showinches{1in} \showinches{2.0in}
+\showinches{2.2in} \showinches{8.5in} \showinches{1pc}
+\showinches{6pc} \showinches{1cm} \showinches{1mm}
+\showinches{1bp} \showinches{72bp} \showinches{1cc}
+\showinches{1dd} \showinches{72dd} \showinches{5000pt}
+\showinches{-5000pt} \showinches{\maxdimen}
+\showinches{-\maxdimen} \showinches{.999\maxdimen}
+\showinches{1pt} \showinches{.01pt}
+
+\endinput
+
+% From the TeX log:
+
+0in = (after conversion) 0.00 inches
+1in = (after conversion) 1.00 inches
+2.0in = (after conversion) 2.00 inches
+2.2in = (after conversion) 2.20 inches
+8.5in = (after conversion) 8.50 inches
+1pc = (after conversion) 0.17 inches
+6pc = (after conversion) 1.00 inches
+1cm = (after conversion) 0.39 inches
+1mm = (after conversion) 0.04 inches
+1bp = (after conversion) 0.01 inches
+72bp = (after conversion) 1.00 inches
+1cc = (after conversion) 0.18 inches
+1dd = (after conversion) 0.01 inches
+72dd = (after conversion) 1.07 inches
+5000pt = (after conversion) 69.18 inches
+-5000pt = (after conversion) -69.18 inches
+\maxdimen = (after conversion) 226.70 inches
+-\maxdimen = (after conversion) -226.70 inches
+.999\maxdimen = (after conversion) 226.48 inches
+1pt = (after conversion) 0.01 inches
+.01pt = (after conversion) 0.00 inches
diff --git a/Master/texmf-dist/doc/latex/dialogl/codialog.pdf b/Master/texmf-dist/doc/latex/dialogl/codialog.pdf
new file mode 100644
index 00000000000..b992e79cbb5
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dialogl/codialog.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/dialogl/default.los b/Master/texmf-dist/doc/latex/dialogl/default.los
new file mode 100644
index 00000000000..21f850ebb7a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dialogl/default.los
@@ -0,0 +1,82 @@
+% Copyright 1994 Michael John Downes
+% Copyright 2013 TeX Users Group
+% This file is part of the dialogl package, released under the LPPL;
+% see dialogl.ins for details.
+
+% Option settings for listout.tex, 1994/11/4 15:45
+\def\Jan{January}\def\Feb{February}\def\Mar{March}\relax
+\def\Apr{April}\def\May{May}\def\Jun{June}\relax
+\def\Jul{July}\def\Aug{August}\def\Sep{September}\relax
+\def\Oct{October}\def\Nov{November}\def\Dec{December}\relax
+
+\let\landscape=\TRUE
+
+\pawd=794.96999pt
+\def\paperwidth{11in}
+\paht=614.295pt
+\def\paperheight{8.5in}
+\topmargin=18.06749pt
+\bottommargin=19.22751pt
+\leftmargin=21.68121pt
+\rightmargin=21.68121pt
+\normalbaselineskip=10.0pt\relax
+\def\mainfontsize{10}
+\def\mainfont{typewriter}
+\chardef\totalcols=2\relax
+\colwd=369.38373pt
+\def\columnwidth{369.38373pt}
+\let\dependentcolwd=\TRUE
+
+\let\dependentrightmargin=\TRUE
+
+\colht=577.0pt
+\def\columnheight{64 lines}
+\let\dependentcolht=\TRUE
+
+\let\dependentbottommargin=\TRUE
+
+\intercolspace=12.0pt
+\overrun=21.68121pt
+\fullwd=751.60756pt
+
+\def\newfileoption{P}
+\let\printtitles=\TRUE
+
+\def\titlefont{bold}
+\def\titlefontsize{10}
+\def\titlecase{none}
+\def\datesepchar{/}
+\def\todaysdate{\dateA}
+\def\nowtime{\timeB}
+\def\timesepchar{:}
+\def\ampmpunct{.}
+\let\keepleadingzeros=\TRUE
+
+\def\linenumberfontsize{5}
+\def\linenumberfont{roman}
+\let\linenumbers=\FALSE
+\linenumberfreq=1\relax
+\def\pagenumberfont{bold}
+\def\pagenumberfontsize{7}
+\let\runheads=\TRUE
+
+\runhead={\todaysdate \space \nowtime \space \hfil \thisfilename \space \hfil \pagenumber }
+\def\runheadfont{roman}
+\def\runheadfontsize{7}
+\runheadht=24.0pt
+\let\runfeet=\FALSE
+\runfoot={}
+\def\runfootfont{roman}
+\def\runfootfontsize{6}
+\runfootht=24.0pt
+\def\spacebreak{\penalty \z@ }
+\def\breakingchars{}
+\let\noextralinebreaks=\FALSE
+\def\controlLaction{N}
+\def\eightbitaction{B}
+\def\systemtype{DOS}
+\def\losdir{}
+\storemesj\dirprefix{}
+\chardef\spacespertab=8\relax
+\chardef\tabselect=1\relax
+
diff --git a/Master/texmf-dist/doc/latex/dialogl/dia-driv.pdf b/Master/texmf-dist/doc/latex/dialogl/dia-driv.pdf
new file mode 100644
index 00000000000..ab82b9ce85c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dialogl/dia-driv.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/dialogl/dia-driv.tex b/Master/texmf-dist/doc/latex/dialogl/dia-driv.tex
new file mode 100644
index 00000000000..c0f6b9d06ef
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dialogl/dia-driv.tex
@@ -0,0 +1,236 @@
+% Copyright 1994 Michael John Downes
+% Copyright 2013 TeX Users Group
+% This file is part of the dialogl package, released under the LPPL;
+% see dialogl.ins for details.
+%
+% Originally published in TUGboat with ltugboat documentstyle.
+% Switched to generic article/twocolumn afterward.
+% Does not work with either LaTeX2e or LaTeX 2.09 compatibility mode :(.
+\documentstyle[doc,dialogl-doc]{article}
+
+\title{Interaction tools: {\tt dialog.sty} and {\tt menus.sty}}
+\author{Michael Downes}
+\date{November 3, 1994}
+
+% one latex2e command gets used.
+\def\ensuremath#1{\ifmmode #1\else $#1$\fi\relax}
+
+\hyphenation{pro-duces}
+
+\renewcommand{\thepart}{\arabic{part}}
+\renewcommand{\thesection}{\thepart.\arabic{section}}
+
+% Some customizations of doc.sty parameters.
+\def\PrintMacroName#1{}
+%
+%\renewcommand{\PrintDescribeMacro}[1]{}
+%\renewcommand{\PrintDescribeEnv}[1]{}
+
+\setlength{\MacroIndent}{0pt}
+\def\MacroFont{\verbatimfont}% doc.sty uses \MacroFont
+
+% No modules in the files to be processed; so don't bother checking.
+\DontCheckModules
+
+\multicoldefaultlayout
+\begin{document}
+\jobswitch % print only selected parts if \jobname so indicates; see
+ % dialog.sty
+\maketitle
+\thispagestyle{empty}
+
+\begin{multicols}{2}
+\section*{Introduction}
+
+\ifall
+This article describes
+\fn{dialog.sty} and \fn{menus.sty}, which
+provide functions for printing messages or menus on screen and reading
+users' responses. The file \fn{dialog.sty} contains basic message and
+input-reading functions; \fn{menus.sty} takes \fn{dialog.sty} for its
+base and uses some of its functions in defining more complex menu
+construction functions. These two files are set up in the form of
+\LaTeX{} documentstyle option files, but in writing them I spent some
+extra effort to try to make them usable with \plaintex/ or other
+common macro packages that include \plaintex/ in their base, such as
+\AmSTeX{} or \eplain/.
+
+The appendix describes \fn{grabhedr.sty}, required by \fn{dialog.sty},
+which provides two useful file-handling features: (1)~a command
+\cw{inputfwh} that when substituted for \cw{input} makes it possible to
+grab information such as file name, version, and date from standardized
+file headers in the style promoted by Nelson Beebe\Dash and to grab it
+in the process of first inputting the file, as opposed to inputting the
+file twice, or \cw{read}ing the information separately (unreliable due
+to system-dependent differences in the equivalence of \tex/'s \cw{input}
+search path and \cw{openin} search path). And (2)~functions
+\cw{localcatcodes} and \cw{restorecatcodes} that make it possible for
+\fn{dialog.sty} (or any file) to manage internal catcode changes
+properly regardless of the surrounding context.
+
+These files and a few others are combined in
+\else
+This package is part of
+\fi
+a suite of files that goes
+by the name of {\bf dialogl}, available on the Internet by anonymous ftp
+from CTAN (Comprehensive \tex/ Archive Network), e.g., \fn{ftp.shsu.edu}
+(USA), or \fn{ftp.uni-stuttgart.de} (Europe).
+%
+\ifall
+The file \fn{listout.tex} is a utility for verbatim printing of plain
+text files, with reasonably good handling of overlong lines, tab
+characters, other nonprinting characters, etc. It uses \fn{menus.sty} to
+present an elaborate menu system for changing options (like font size,
+line spacing, or how many spaces should be printed for a tab character).
+\else
+It includes the packages \pkg{dialog}, \pkg{menus}, and \pkg{grabhedr}
+and a utility file \fn{listout.tex} for verbatim printing of plain text
+files.
+\fi
+
+\ifmenus
+Here's an example from the menu system of \fn{listout.tex} to
+demonstrate the use of some features from \fn{dialog.sty} and
+\fn{menus.sty}. First, the menu that you would see if you wanted to
+change the font or line spacing:
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% This funny way of calling \samepage is (I think) the most
+% convenient way to avoid turning off page breaks for the preceding
+% paragraph.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\next{\begin{verbatim}\samepage}\next
+===============================================
+ F Change font
+ S Change font size
+ L Change line spacing
+
+Current settings: typewriter 8 / 10.0pt.
+
+ Q Quit X Exit ? Help
+===============================================
+
+Your choice?
+\end{verbatim}
+Suppose you wanted to change line spacing to 9 points, so you entered
+\qc{\l} (lowercase \qc{\L}) and then \verb'9pt', except that on your
+first attempt you accidentally mistyped \verb'9pe' instead of
+\verb'9pt'. Here's what you would see on screen:
+\begin{verbatim}
+Your choice? l
+Desired line spacing [TeX units] ? 9pe
+?---I don't understand "9pe".
+Desired line spacing [TeX units] ? 9pt
+
+* New line spacing: 9.0pt
+\end{verbatim}
+Both lowercase \verb'l' and capital \verb'L' are acceptable responses,
+and the value given for line spacing is checked to make sure it's a
+valid \tex/ dimension. Before continuing, the internalized version of
+the user's value is echoed on screen to confirm that the entered value
+was read correctly.
+
+Now here's how the above menu is programmed in \fn{listout.tex}.
+A function \cw{menuF} is constructed using \cw{fxmenu}:
+\begin{verbatim}
+\fxmenu\menuF{}{
+F Change font
+S Change font size
+L Change line spacing
+}{
+Current settings: &\mainfont &\mainfontsize / %
+&\the&\normalbaselineskip.
+}
+%
+\def\moptionF{\lettermenu F}
+\end{verbatim}
+In the definition of \cw{moptionF}, \cw{lettermenu} is a high-level
+function from \fn{menus.sty} that prints \cw{menuF} on screen (given
+the argument \verb'F'), reads a line of input from the user, extracts
+the first character and forces it to uppercase, then branches to
+the next menu as determined by that character. The response of
+\verb'l' causes a branch to the function \cw{moptionFL}:
+\begin{verbatim}
+\def\moptionFL{%
+ \promptmesj{%
+ Desired line spacing [TeX units] ? }%
+ \readline{Q}\reply
+\end{verbatim}
+If \verb'Q', \verb'X', or \verb'?' was entered, the test
+\cw{xoptiontest} will return `true'; then we should skip the dimension
+checking and go directly to \cw{optionexec}, which knows what to do
+with those responses:
+\begin{verbatim}
+ \if\xoptiontest\reply
+ \else
+\end{verbatim}
+Otherwise we check the given dimension to make sure it's usable. If so,
+echo the new value as confirmation.
+\begin{verbatim}
+ \checkdimen\reply\dimen@
+ \ifdim\dimen@>\z@
+ \normalbaselineskip\dimen@\relax
+ \normalbaselines
+ \confirm{New line spacing:
+ \the\normalbaselineskip}%
+ \def\reply{Q}%
+ \fi
+\end{verbatim}
+If \cw{reply} was changed to \verb'Q' during the above step,
+\cw{optionexec} will pop back up to the previous menu level (normal
+continuation); otherwise \cw{reply} retains its prior definition\Dash
+e.g., \verb'9pe'\Dash to which \cw{optionexec} will simply say ``I
+don't understand that'' and repeat the current prompt.
+\begin{verbatim}
+ \fi
+ \optionexec\reply
+}
+\end{verbatim}
+
+For maximum portability, \fn{listout.tex} uses in its menus only
+lowest-common-denominator ordinary printable ASCII characters in the
+range 32\dash 126. Fancier menus can be obtained at a cost of forgoing
+system independence, for instance by using em\tex/'s \verb'/o' option
+to output the box-drawing characters in the standard PC DOS character
+set.
+\fi
+
+\subsection*{Notation}
+
+Double-hat notation such as \verb'^^J' is used herein for
+control characters, as in \TB{}, although occasionally the alternate
+form `{\sc control}-J' is used when the emphasis is away from the
+character's tokenized state inside \tex/. A couple of abbreviations
+from \fn{grabhedr.sty} are used frequently in the macro code: \cw{xp@}
+= \cw{expandafter}, and \cw{nx@} = \cw{noexpand}. Standard
+abbreviations from \fn{plain.tex} such as \cw{z@} or \cw{toks@} are
+used without special comment.
+
+\ifall
+\part{Basic dialog functions: \fn{dialog.sty}}
+\fi
+\ifdialog\hDocInput{dialogl.dtx}\fi
+
+\ifall
+\part{Menu functions: \fn{menus.sty}}
+\setcounter{section}{0}
+\fi
+\ifmenus\hDocInput{menus.dtx}\fi
+
+\ifall
+% It's hard to make this part title come out right without assuming
+% \partname is defined.
+\part*{Appendix\penalty-10000
+Miscellaneous support functions:
+\fn{grabhedr.sty}}
+\setcounter{section}{0}
+\renewcommand{\thepart}{A} % for use in \thesection
+\fi
+\ifgrabhedr\hDocInput{grabhedr.dtx}\fi
+
+\end{multicols}
+
+\ifdim\textwidth>\textheight
+\typeout{^^JWarning: remember to print using LANDSCAPE orientation^^J}
+\fi
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/dialogl/dialogl-doc.sty b/Master/texmf-dist/doc/latex/dialogl/dialogl-doc.sty
new file mode 100644
index 00000000000..3077de1d653
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dialogl/dialogl-doc.sty
@@ -0,0 +1,536 @@
+% Copyright 1994 Michael John Downes
+% Copyright 2013 TeX Users Group
+% This file is part of the dialogl package, released under the LPPL;
+% see dialogl.ins for details.
+%
+% Customizations for the articles/documentation codialog.tex,
+% dia-driv.tex, lis-driv.tex.
+%
+% Here is the main problem. I want to allow users to print out this
+% document on US letter-size paper (8.5x11 inches) or on A4 paper
+% (210x297 mm). And in order to fit maximum text on minimum paper
+% (save the trees) I want to print with small margins and
+% two-column layout (or even three-column, in the case of landscape
+% printing, if that were feasible; but I don't want to assume that
+% the user has Frank's multicol package). But the verbatim examples
+% in the document consist in many cases of lines from TeX screen
+% output, which can be up to 79 characters in length. It is
+% difficult to give two columns wide enough to accommodate
+% 80-character lines printed in cmtt unless the size is cut down
+% very small. Then we encounter the difficulty that the
+% lowest-common-denominator set of TeX fonts includes cmtt10,
+% cmtt9, cmtt8, but not cmtt7 or any smaller sizes of cmtt. Well,
+% perhaps that's just as well since things start to get a little
+% hard to read anyway once you get down that small.
+%
+% But anyway there it is: How to fit two columns of text, each of
+% minimum width approximately 80 cmtt characters, into the
+% rectangles provided by US letter paper and A4 paper, while trying
+% to keep a decent line length for readability in the neighborhood
+% of two or three alphabets.
+%
+% It seems that one part of the answer is to print the 80-character
+% verbatim lines in a smaller point size than the main text.
+
+% 8.5in = 614.295pt.
+% 11in = 794.96999pt.
+% 210mm = 597.50787pt.
+% 297mm = 845.04684pt.
+
+% 80 characters, cmtt10: 419.99634pt.
+% 80 characters, cmtt8: 340.00488pt.
+% 76 characters, cmtt8: 323.00464pt.
+% 70 characters, cmtt8: 297.50427pt.
+
+% Assume that minimum margins all around are 22pt, approx 8mm /
+% 0.3in. And that desired gutter margin between columns is 6pt.
+% Then subtract 50pt from paper width and divide by 2 to get
+% available column width: 210mm 274pt, 8.5in 282pt, 11in 372pt,
+% 297mm 397pt.
+%
+% Standard \headheight, \headsep are 12pt, 25pt. So next we look for
+% minimum bounding rectangle for landscape, two-column printing:
+% textheight limited by A4 short dimension = 210mm = 598pt.
+% Subtract 44pt for margins, then another 37pt for running head,
+% that leaves textheight of 517pt.
+%
+% Similarly for textwidth: Limited by the 11in long dimension of US
+% letter size paper; subtract 50pt for margins and gutter, that
+% leaves 745pt, or 372pt per column.
+
+\newcommand{\notthatsloppy}{\tolerance9999 \pretolerance3333
+ \hbadness\tolerance
+% The tolerance settings will eliminate most hyphenation unless we
+% ameliorate the hyphen penalties.
+ \hyphenpenalty-100 \exhyphenpenalty-150
+ \emergencystretch 3pc }
+
+% But then we'd better patch \raggedright up a litt.e
+\toks@\expandafter{\raggedright \hyphenpenalty100 \exhyphenpenalty150 }
+\edef\raggedright{\the\toks@}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\pagestyle{headings}
+\let\sectionmark\@gobble
+\def\@oddhead{\hfil{\small\rhtitle}\hfil\thepage}
+\let\@evenhead\@oddhead
+\def\title#1{\gdef\@title{#1}\uppercase{\gdef\rhtitle{#1}}}
+
+% Default layout is twocolumn, landscape, squeeze inside A4/US
+% constraints
+\def\defaultlayout{%
+% \hoffset and \voffset are assumed to be -1in (see below)
+% 210mm is A4 width, 11in is US-letter paper height
+ \textwidth11in \textheight210mm
+ \oddsidemargin30pt \evensidemargin\oddsidemargin
+ \advance\textwidth -2\oddsidemargin
+ \topmargin25pt
+ \advance\textheight-2\topmargin
+ \advance\textheight-\headheight \advance\textheight -\headsep
+ \let\Huge\large \let\huge\large \let\LARGE\large \let\Large\large
+% \scaleup \normalsize
+ \@twocolumntrue
+}
+
+% Twocolumn, portrait, squeeze inside A4/US
+% constraints
+\def\portraitlayout{%
+% \hoffset and \voffset are assumed to be -1in (see below)
+% 210mm is A4 width, 11in is US-letter paper height
+ \textheight11in \textwidth210mm
+ \oddsidemargin30pt \evensidemargin\oddsidemargin
+ \advance\textwidth -2\oddsidemargin
+ \topmargin25pt
+ \advance\textheight-2\topmargin
+ \advance\textheight-\headheight \advance\textheight -\headsep
+ \let\Huge\large \let\huge\large \let\LARGE\large \let\Large\large
+% \scaleup \normalsize
+ \@twocolumntrue
+ \def\vffont{\footnotesize\tt}%
+ \def\verbatimfont{\small\tt}%
+}
+
+% If the multicol package is loaded (via the doc package) we want to
+% use that instead of the standard twocolumn option.
+\def\multicoldefaultlayout{\defaultlayout\@twocolumnfalse}
+\def\multicolportraitlayout{\portraitlayout\@twocolumnfalse}
+
+% Cancel the margins normally supplied by DVI drivers:
+\hoffset-1in \voffset-1in
+
+% Set \hfuzz higher than normal in preference to dealing with
+% insoluble hyphenation/line-breaking problems.
+\hfuzz20pt
+
+% Set sloppiness of paragraphs very high because of the narrow
+% column width and the frequency of difficult to break terms, but
+% not so carelessly high as LaTeX's \sloppy command would give.
+\notthatsloppy
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\scaleup{%
+ \let\tiny\scriptsize \let\scriptsize\footnotesize
+ \let\footnotesize\small \let\small\normalsize
+ \let\normalsize\large \let\large\Large
+}
+
+\def\scaledown{%
+ \let\Huge\large \let\huge\large
+ \let\LARGE\large \let\Large\normalsize
+ \let\large\normalsize \let\normalsize\small
+ \let\small\footnotesize \let\footnotesize\scriptsize
+ \let\scriptsize\tiny
+}
+%
+% Add protection built-in for \TeX and others
+\newcommand{\ams}{{\the\textfont2 A\kern-.1667em%
+ \lower.5ex\hbox{M}\kern-.125emS\kern.05em}}
+\def\tex/{\protect\TeX\@}
+\def\amstex/{\protect\ams-\tex/}
+\def\latex/{\protect\LaTeX\@}
+\def\plaintex/{{\sc plain}\thinspace\tex/}
+\def\eplain/{{\sc Eplain}}
+\def\texbook/{{\it The \tex/book}}
+\def\tugboat/{{\it TUGboat}}
+\def\return/{{\sc return}}
+\def\mf/{{\sf METAFONT\@}}
+\def\mfbook/{{\it The \mf/book}}
+\def\ascii/{{\sc ascii}}
+
+\newcommand{\ndash}{--}
+\newcommand{\mdash}{---}
+\newcommand{\btext}{\mbox}
+
+\newcommand{\5}{\penalty500 }
+\newcommand{\underscore}{{\ntt\string _}}
+
+% Define some ltugboat.sty commands
+\let\Dash\mdash
+\let\dash\ndash
+\def\TB{\texbook/}
+\def\TUB{{\sl TUGboat\/}}
+\def\TeXhax{{\ntt TeXhax}}
+
+\@ifundefined{selectfont}{%
+ \def\normalfont{}%
+}{%
+ \@ifundefined{default@family}{%
+ \@ifundefined{normalfont}{%
+ \def\normalfont{}% ?? don't think this case can ever happen.
+ }{}%
+ }{%
+ \def\normalfont{\fontfamily\default@family
+ \fontseries\default@series \fontshape\default@shape \selectfont}%
+ }%
+}
+
+% Maybe I should now change instances of \normalshape to \upshape.
+% But this is what was used before.
+\@ifundefined{normalshape}{%
+ \@ifundefined{upshape}{%
+ \newcommand{\normalshape}{\rm}%
+ }{%
+ \newcommand{\normalshape}{\upshape}%
+ }%
+}{}
+
+\def\ntt{\protect\normalfont\protect\tt}
+
+% Function called at the beginning of \cw etc. to allow line
+% breaks if several such objects occur contiguously.
+\newcommand{\prebreak}{\leavevmode\ifmmode\hbox\else
+ \ifdim\lastskip=\z@\penalty9999 \fi\fi}
+
+% The \ifhmode test here is primarily to guard against math mode,
+% where an attempt to set \spacefactor would cause a TeX error.
+\newcommand{\postx}{\ifhmode\@\fi}
+
+% Control word
+\newcommand{\cw}[1]{\protect\prebreak{\ntt\bslash#1\protect\postx}}
+% Control symbol
+\newcommand{\cs}[1]{\protect\prebreak{\ntt\string#1}\protect\postx}
+\chardef\bslash=`\\
+
+% Quoted character
+\newcommand{\qc}[1]{%
+ \protect\prebreak{\ntt\escapechar-1 \string#1}\protect\postx}
+% Control character
+\newcommand{\ctrl}[1]{%
+ \protect\prebreak{\ntt\string ^\string ^#1}\protect\postx}
+% Argument marker. Apply \string to #1 just in case it might be #
+% instead of a number 1--9.
+\renewcommand{\arg}[1]{%
+ \protect\prebreak{\ntt\string ##\string#1}\protect\postx}
+\let\qarg\arg
+% File name.
+\newcommand{\fn}[1]{\leavevmode{\ntt#1}\protect\postx}
+\let\pkg\fn
+% Verbatim version of \ldots.
+\newcommand\verbdots{\leavevmode{\ntt...}\protect\postx}
+
+\newcommand{\units}[1]{\thinspace#1}
+
+% For `meta' angle bracket notation.
+\newcommand\m[1]{{\protect\the\textfont2 h{\it#1}i}}
+% For definitions of terminology.
+\newcommand{\term}[1]{\leavevmode{\it#1}}
+
+\def\eg.{e.g.\@}
+\def\ie.{i.e.\@}
+
+%\def\mjd#1{\errhelp{#1}\errmessage{\the\errhelp}}
+\def\mjd#1{}
+
+% ^^V at the beginning of a line serves as a substitute for
+% \begin{verbatim} ... \end{verbatim} in this documentation. Partly
+% done as an exercise to see if it was feasible; originally
+% motivated by the way I had converted comments in non-doc form to
+% doc form.
+\catcode`\^^V\active % for verbatim
+\def ^^V{\Vbtm}
+
+\def\activedef#1{\catcode`#1\active
+ \begingroup\lccode`\~=`#1\lowercase{\endgroup \def ~}}
+
+\def\Vbtmsetup{\let\do\@makeother
+% Abandon \dospecials since it's too hard to make sure that it
+% includes things like @, |, +.
+ \do\`\do\~\do\!\do\@\do\#\do\$\do\%\do\^\do\&\do\*\do\(\do\)\do\-%
+ \do\_\do\=\do +\do\\\do\|\do\[\do\{\do\]\do\}\do\;\do\:\do\'\do\"%
+ \do\,\do\<\do\.\do\>\do\/\do\?\do\ \do\^^M\do\^^I\do\^^J\do\^^L%
+ \activedef\ {\kern.5em}%
+ \activedef\'{\char`\'\kern\z@}%
+ \Vbtmfont \frenchspacing
+}
+%
+\def\Vbtm{\par
+ \begingroup \Vbtmsetup
+ \activedef\^^M{\catcode`\%9 \catcode`\^7
+ \futurelet\next\moreVbtm}%
+ \def\VbtmVbtm{\Vbtm}% for comparison with active ^^V.
+ \def\moreVbtm{%
+ \ifx\next \VbtmVbtm
+ \def\next{\egroup\penalty9999 }%
+ \else
+ \def\next{\egroup\endgroup \futurelet\next\endVbtm}%
+ \fi \next}%
+% Locally change \Vbtm to omit the above setup and just process a
+% single line.
+ \def\Vbtm{\hbox\bgroup}%
+ \Vbtmspace \Vbtmextra \Vbtm}
+%
+\def\endVbtm{%
+ \begingroup
+% If the next token is a \par token, gobble it with \let.
+ \ifx\next\par \aftergroup\let \aftergroup\next \fi
+ \Vbtmspace \everypar{}\parskip0pt \noindent\endgroup
+}%
+
+\def\Vbtmfont{\verbatimfont}
+%
+\def\Vbtmspace{\medskip}
+\def\Vbtmextra{}
+%
+% Define a `usage' environment to draw a box around its contents,
+% for examples illustrating the usage of salient functions.
+\def\usage{\par \begingroup \Vbtmsetup \normalsize\tt
+% Requires definition of \meta from doc.sty:
+ \activedef\<##1>{\meta{##1}}%
+ \activedef\^^M{\catcode`\%9\catcode`\\\z@ \catcode`\{11 \catcode`\}11
+ \futurelet\next\moreusage}%
+ \if@inlabel\leavevmode\fi \ifhmode\unskip \par\fi
+ \addvspace\medskipamount
+ \global\setbox\@ne\vbox\bgroup \everypar{}%
+ \bgroup}
+%
+\expandafter\def\expandafter\moreusage\expandafter{%
+ \expandafter\ifx\csname end{usage}\endcsname\next
+ \egroup\egroup
+ \fboxsep1.7pt \noindent\fbox{\box\@ne}%
+ \endgroup
+ \else
+ \egroup
+ \hbox\bgroup\expandafter\string
+ \fi}%
+%
+\expandafter\def\csname end{usage}\endcsname{\end{usage}}
+\def\endusage{\par\nobreak\vskip\medskipamount
+% Since \endusage is called via \end, which adds an \endgroup, we
+% need to throw these two items beyond the \endgroup in order for
+% their local assignments not to be lost (\if@afterindent,
+% \everypar):
+ \aftergroup\@afterindentfalse
+ \aftergroup\@afterheading}
+
+\def\verbatimfont{\tt}
+\def\vffont{\small\tt}
+
+% Change verbatim environment to use \verbatimfont.
+
+\def\@verbatim{\trivlist \item[]\if@minipage\else\vskip\parskip\fi
+ \leftskip\@totalleftmargin\rightskip\z@
+ \parindent\z@\parfillskip\z@ plus\columnwidth minus\columnwidth
+ \parskip\z@skip
+ \@@par
+ \@tempswafalse \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par
+ \penalty\interlinepenalty}%
+ \obeylines
+ \linepenalty\@M
+ \verbatimfont \normalbaselineskip1.1em\relax \normalbaselines
+ \catcode``=13 \@noligs \let\do\@makeother \dospecials}
+
+% Define a verbatim input command for printing example files.
+\def\verbatiminput#1{\begingroup
+ \@verbatim \frenchspacing\@vobeyspaces
+ \exhyphenpenalty\@M \hyphenpenalty\@M
+% Turn \hfuzz up high; if some lines in the file are a little long,
+% we don't want to hear about it.
+ \hfuzz 5em\relax \vffont
+ \input{#1}%
+ \endverbatim
+ \endgroup}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Misc.
+\setcounter{secnumdepth}{2}
+\newcommand{\secref}[1]{\S\ref{#1}}
+\renewcommand{\thetable}{\Alph{table}}
+
+% Change \l@section so we can allow wider room for `Appendix A' in
+% the appendix section of the table of contents.
+\renewcommand{\l@section}[2]{%
+ \ifnum\c@tocdepth>\z@
+ \addpenalty{\@secpenalty}\addvspace{1.0emplus\p@}%
+ \setlength\@tempdima{\tocsecwd}\begingroup \parindent\z@
+ \rightskip\@pnumwidth \parfillskip-\@pnumwidth \leavevmode \bf
+ \advance\leftskip\@tempdima \hskip-\leftskip #1\nobreak \hfil\nobreak
+ \hbox to\@pnumwidth{\hss#2}\par \endgroup
+ \fi}
+\def\tocsecwd{1.5em}
+
+\toks@\expandafter{\appendix
+ \addtocontents{toc}{\protect\changesecwd{6.5em}}}
+\edef\appendix{\the\toks@}
+\def\changesecwd{\gdef\tocsecwd}
+
+\def\resetleftmargin#1{\dimen@\@totalleftmargin
+ \linewidth\columnwidth \advance\linewidth-\@totalleftmargin
+ \edef\@tempa{\parshape2 \the\dimen@\space \the\linewidth\space}%
+ \@totalleftmargin#1\relax
+ \linewidth\columnwidth \advance\linewidth-\@totalleftmargin
+ \@tempa \@totalleftmargin\linewidth \relax}
+
+% For raggedright parbox in tabular.
+\newcommand{\rp}{\let\PBS\\\raggedright\let\\\PBS}
+
+% \readnumber reads a number into #1, default #2.
+\def\readnumber#1#2{\begingroup
+ \def\do##1##2{\catcode\fam=##2 \ifnum\fam<##1 \advance\fam 1
+ \expandafter\do \else\expandafter\@gobbletwo\fi{##1}{##2}}%
+ \fam=0 \do{255}{9}\fam=`\0\relax \do{`\9}{12}%
+ \global\read-1 to#1\endgroup
+ \ifx#1\@empty\gdef#1{#2}\fi
+}
+
+\def\thebibliography#1{%
+ \section*{References}%
+ \small
+ \list{\@biblabel{\arabic{enumiv}}}{%
+ \settowidth\labelwidth{\@biblabel{#1}}
+ \leftmargin2em
+ \usecounter{enumiv}\let\p@enumiv\@empty
+ \renewcommand\theenumiv{\arabic{enumiv}}}%
+ \sloppy
+ \clubpenalty4000\widowpenalty4000\sfcode`\.=\@m}
+
+% \writepage{Example} or \writepage{Table}
+\newcommand{\writepage}[1]{%
+ \edef\temp{\write16{#1 \@currentlabel: Page \noexpand\thepage}}%
+ \temp
+}
+
+% \reqspace{2in} means start a new page if the current page does not
+% have at least 2in of space available
+\newcommand{\reqspace}[1]{\vskip#1plus.2\textheight
+ \penalty0\vskip-#1plus-.2\textheight\penalty0 }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Use {example}'s instead of {figure}'s.
+\let\example\figure
+\let\endexample\endfigure
+\expandafter\let\csname example*\expandafter\endcsname
+ \csname figure*\endcsname
+\expandafter\let\csname endexample*\expandafter\endcsname
+ \csname endfigure*\endcsname
+\@namedef{fnum@figure}{Example \thefigure}
+
+\def\theexample{\thefigure}
+
+\newenvironment{examplebox}%
+{% Can't use LaTeX \framebox because of embedded verbatim; can't
+%% embed this inside definition of \example without too much work.
+ \vbox\bgroup\hrule
+ \hbox to\hsize\bgroup\vrule \hfil
+ \vbox\bgroup\advance\hsize-2em
+}{%
+ \endgraf
+ \kern3pt\egroup\hfil\vrule\egroup\hrule\egroup % finish off the frame
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Ordinary \DocInput doesn't handle standardized file headers
+% unless you enclose them in \iffalse ... \fi which I don't care to
+% do. So instead here's an alternate version of \DocInput, called
+% \hDocInput.
+
+\def\hDocInput#1{\MakePercentIgnore
+ \begingroup \begingroup \lccode`\~=`\@
+ \lowercase{\endgroup\long\def ~}##1##{%
+ \catcode`\==12 \skipfileheader{##1}}%
+ \catcode`\@=\active \catcode`\==14 % comment
+ \@@input#1 \MakePercentComment}
+
+\def\skipfileheader#1#2 {\endgroup
+ \begingroup\catcode`\==9 \catcode`\ =9 \futurelet\0\endgroup
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Loosen up the float placement restrictions.
+\def\textfraction{0.02}
+\def\bottomfraction{0.98}
+\def\topfraction{0.98}
+\let\dbltopfraction=\topfraction
+\def\floatpagefraction{0.8}
+\let\dblfloatpagefraction=\floatpagefraction
+\setcounter{bottomnumber}{3}
+\setcounter{topnumber}{3}
+\setcounter{dbltopnumber}{3}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\allowtthyphens{%
+ {\small\tt\hyphenchar\font=45 \normalsize\tt\hyphenchar\font=45
+ \footnotesize\tt\hyphenchar\font=45 }}
+
+%%\renewcommand{\cw}[1]{\protect\prebreak{\ntt\bslash#1}\protect\postx
+%% \sh{#1}}
+%%% Control symbol
+%%\renewcommand{\cs}[1]{\protect\prebreak{\ntt\string#1}\protect\postx
+%% \sh{#1}}
+%%\renewcommand{\fn}[1]{\leavevmode{\ntt#1}\protect\postx\sh{#1}}
+%%\def\sh{\protect\showhyphens}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Fix up catcodes of the upper 128 characters just in case someone
+% has an early release of LaTeX2e. (pre June 1994 patch-level 2)
+\def\do{\catcode\count@\@tempa \advance\count@\@ne
+ \ifnum\count@>\@cclv \expandafter\@gobble\fi \do}
+
+\count@=128 \chardef\@tempa=12 \do
+
+\def\mstrip#1->{}
+\def\jobswitch{%
+ \def\@tempa{dia-driv}%
+ \edef\@tempa{\expandafter\mstrip\meaning\@tempa}%
+ \edef\@tempb{\jobname}%
+ \ifx\@tempa\@tempb
+ \dialogtrue \menustrue \grabhedrtrue
+ \alltrue
+ \else
+ \csname\jobname true\endcsname
+ \title{The {\tt\jobname} package}%
+ \fi
+}
+
+\newif\ifdialog \newif\ifall \newif\ifmenus \newif\ifgrabhedr
+
+\endinput
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Some old stuff from codialog.tex
+\typeout{%
+This document offers three printing options:^^J%
+(1) A4 (297 x 210 mm), two columns, landscape orientation,^^J%
+(2) US letter (11 x 8.5 inches), two columns, landscape orientation.^^J%
+(3) US letter (8.5 x 11 inches), one column, portrait orientation.^^J%
+}
+
+% \readnumber is defined in dialogm.sty
+\message{Enter the number for your choice (default 2): }
+\readnumber{\answer}{2}
+
+% \adjustlayout is defined in dialogm.sty
+\ifcase \answer\relax
+ \typeout{Defaulting to US letter, landscape ...}% 0
+ \adjustlayout{11in}{8.5in}%
+ \or \typeout{OK, using A4 layout ...}% 1
+ \adjustlayout{297mm}{210mm}%
+ \or \typeout{OK, using 11x8.5 layout ...}% 2
+ \adjustlayout{11in}{8.5in}%
+ \or \typeout{OK, using 8.5x11 layout ...}% 3
+ \adjustlayout{8.5in}{11in}%
+ \else % 4,5,...
+ \typeout{Defaulting to US letter, landscape ...}%
+ \adjustlayout{11in}{8.5in}%
+\fi
+
+% Maybe better to offer the choices USL, USP, A4L, A4P?
diff --git a/Master/texmf-dist/doc/latex/dialogl/diatest.tex b/Master/texmf-dist/doc/latex/dialogl/diatest.tex
new file mode 100644
index 00000000000..a6eb0c2801d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dialogl/diatest.tex
@@ -0,0 +1,167 @@
+% Copyright 1994 Michael John Downes
+% Copyright 2013 TeX Users Group
+% This file is part of the dialogl package, released under the LPPL;
+% see dialogl.ins for details.
+
+% Test of the `menus' package. You can run this file with (at least)
+% plain TeX, LaTeX (2e), and old LaTeX (2.09).
+%
+% Some chicanery to make this file work in several different contexts.
+\ifx\undefined\documentclass
+ \def\NeedsTeXFormat#1{}\def\RequirePackage#1{\input #1.sty \relax}
+ \def\ProvidesPackage#1[#2]{}
+ \ifx\undefined\documentstyle
+ \def\startup{\input menus.sty \relax}
+ \else
+ \def\startup{\documentstyle[menus]{article}}
+ \fi
+\else
+ \def\startup{%
+ \documentclass{article}%
+ \usepackage{menus}%
+ }
+\fi
+
+\startup
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\mesj{
+The following series of tests is designed to cover most of the
+features that are provided by dialog.sty. If you compare what you
+see on screen with the contents of the file diatest.tex you will
+see how they correspond.
+
+Press the Return or Enter key to continue:}
+\readline{}\xyz
+
+\promptmesj{
+
+Testing \mesj:
+Press return to continue: }
+\readline{}\xyz\mesj{}
+\mesj{Give ~ me %^^L an &|
+ \newif #}
+
+\promptmesj{
+Testing \xmesj:
+Press return to continue: }
+\readline{}\xyz\mesj{}
+\xmesj{Do we have \{\}\\ characters?
+And \iftrue\.true\else\.false\fi.
+Not to mention ampersand \&, since \string\iftrue.}
+
+\promptmesj{
+Testing \xmesj inside of a \def:
+Press return to continue: }
+\readline{}\xyz\mesj{}
+\def\next{\xmesj{Abc space:\ , control-M: \^^M, and percent:\%\
+and another line break.}}
+\next
+
+\promptmesj{
+Testing \promptmesj:
+Press return to continue: }
+\readline{}\xyz\mesj{}
+\promptmesj{Enter this or that: }
+\readline{}\xyz
+
+\promptmesj{
+Testing \storemesj:
+Press return to continue: }
+\readline{}\xyz\mesj{}
+\storemesj\foo{This is a fine old message, isn't it?:
+\mesj{Give ~ me %^^L an &|
+ \newif }}
+\xmesj{\foo}
+
+\promptmesj{
+Testing \storexmesj now with an arg:
+Press return to continue: }
+\readline{}\xyz\mesj{}
+\storexmesj\foo#1{This is a fine old message, isn't it?:
+\\mesj{Give ~ me \%^^L an \&|#1
+ \\newif \#}}
+\xmesj{\foo{KABLOO}}
+
+\promptmesj{
+Testing \fmesj:
+Press return to continue: }
+\readline{}\xyz\mesj{}
+\fmesj\foo{This is a fine old message, isn't it?:
+\mesj{Give ~ me %^^L an &|
+ \newif}}
+\foo
+
+\promptmesj{
+Testing \fxmesj now with an arg:
+Press return to continue: }
+\readline{}\xyz\mesj{}
+\fxmesj\foo#1{This is a fine old message, isn't it?:
+\\mesj{Give ~ me \%^^L an \&|#1
+ \\newif \#}}
+\foo{KABLOO}
+
+\promptmesj{
+Would you like to try out \readline? [yes or no]: }
+\readline{}\answer
+\xmesj{Well, if I understood you correctly, you answered `\answer'}
+
+\promptmesj{
+OK, now try give me an executable answer, such as
+"\iftrue yes\else no\fi": }
+\xreadline{}\answer
+\xmesj{Well, and now if I try to execute that: "\answer"}
+
+\promptmesj{
+OK, now let's try \readchar. Give me an arbitrary answer of
+one or more characters: }
+\readchar{}\answer
+\xmesj{Taking the first character from your answer, I get: "\answer"}
+
+\promptmesj{
+OK, now let's try \readChar. Give me an arbitrary answer of
+one or more letters: }
+\readChar{}\answer
+\xmesj{Taking the first character from your answer, and
+uppercasing it, I get: "\answer"}
+
+\promptmesj{
+OK, give me a number then, so that I can
+check it with \checkinteger: }
+\readline{}\answer
+\checkinteger\answer\fam
+\xmesj{\ifnum\fam=-\maxdimen%
+Gee, I don't think that was\else\.Got\fi%
+ a valid number: "\answer"}
+
+\def\dimtest#1{\promptxmesj{#1}%
+ \readline{}\answer
+ \ifx\empty\answer
+ \else
+ \checkdimen\answer\vfuzz
+ \ifdim\vfuzz=-\maxdimen%
+ \xmesj{Sorry, that doesn't look like a TeX dimen to me: "\answer"}%
+ \else
+ \xmesj{Looks like a valid TeX dimen: "\answer" = \the\vfuzz}%
+ \fi
+ \expandafter\dimtestb
+ \fi
+}
+
+\def\dimtesta{\dimtest{\
+OK, give me a dimen then, so that I can\
+check it with \\checkdimen:\
+}}
+
+\def\dimtestb{\dimtest{\
+How about another dimen: }}
+
+\def\empty{}
+
+% Iterate once with one prompt, then several times with a shorter
+% prompt.
+\dimtesta
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\csname stop\endcsname
+\end
diff --git a/Master/texmf-dist/doc/latex/dialogl/fontmenu.lg b/Master/texmf-dist/doc/latex/dialogl/fontmenu.lg
new file mode 100644
index 00000000000..c15a6f3fb29
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dialogl/fontmenu.lg
@@ -0,0 +1,31 @@
+This is emTeX, Version 3.0 [3a] (preloaded format=plain 93.9.20)
+ 30 OCT 1993 23:41
+**&plain fontmenu
+(fontmenu.tex
+
+ .......................................
+ .......................................
+
+ Select the font base you wish to use:
+
+ [1] Computer Modern [4] Malibu
+ [2] Garamond [5] Times
+ [3] Helvetica
+
+ (Default: Times)
+
+ ........................................
+ ........................................
+
+l.56
+ % Enter a number (1...5) and press Return TWICE
+? 4
+l.60 \Malibu
+ % Press Return to continue
+?
+> \fontbase=macro:
+->Malibu.
+l.66 \show\fontbase
+
+? x
+No pages of output.
diff --git a/Master/texmf-dist/doc/latex/dialogl/fontmenu.tex b/Master/texmf-dist/doc/latex/dialogl/fontmenu.tex
new file mode 100644
index 00000000000..8812fab1fa1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dialogl/fontmenu.tex
@@ -0,0 +1,72 @@
+% Copyright 1994 Michael John Downes
+% Copyright 2013 TeX Users Group
+% This file is part of the dialogl package, released under the LPPL;
+% see dialogl.ins for details.
+
+\def\ComputerModern{\gdef\fontbase{Times}\gobble}
+\def\Garamond{\gdef\fontbase{Computer Modern}\gobble}
+\def\Helvetica{\gdef\fontbase{Garamond}\gobble}
+\def\Malibu{\gdef\fontbase{Helvetica}\gobble}
+\def\Times{\gdef\fontbase{Malibu}\gobble}
+
+\def\gobble#1\endgobble{}
+
+% Make sure we have a reasonable \newlinechar
+\newlinechar=`\^^J \catcode\newlinechar=12
+
+\begingroup
+\catcode`\<=1 \catcode`\ =2\relax
+\gdef\menustart{\errmessage<%
+....................................... }%
+\endlinechar\newlinechar\catcode`\ =12\relax
+\gdef\menutext{
+ .......................................
+ .......................................
+
+ Select the font base you wish to use:
+
+ [1] Computer Modern [4] Malibu
+ [2] Garamond [5] Times
+ [3] Helvetica
+
+ (Default: Times)}%
+\endgroup% percent here to avoid extra \newlinechar
+
+\begingroup
+\immediate\write16{\menutext}
+% If the user accidentally types 33 instead of 3 they will get past
+% all the legitimate menu choices. So to keep that from causing
+% trouble, we throw in a bunch of ~ characters below to perform
+% error recovery. The standard maximum number of tokens that TeX
+% will delete at one time is 99.
+\catcode`\~=\active % just to make sure
+\def~{\newlinechar`\^^J% restore normal value
+ \message{%
+Whoops! Well, you got Times as your font base, I think}%
+ \gobble}
+% Minimize unwanted error context (note: setting
+% this to -1 doesn't suppress any more information)
+\errorcontextlines 0
+\newlinechar=`\! % to hide the automatic ! from \errmessage
+\gdef\fontbase{Times}
+% Inside the next group we make the space character
+% active so that we can use it to call \menustart,
+% and then we use \expandafter so that the first
+% space on the next line gets that catcode before
+% the \endgroup makes it revert to normal. All this
+% so that the user does not see `\menustart' on
+% screen, only a space.
+\begingroup
+\catcode`\ =\active\let =\menustart\expandafter\endgroup%
+ % Enter a number (1...5) and press Return TWICE
+\ComputerModern% Press Return to continue
+\Garamond% Press Return to continue
+\Helvetica% Press Return to continue
+\Malibu% Press Return to continue
+\Times% Press Return to continue
+\gobble%
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%
+\endgobble\endgroup%
+\show\fontbase
+\end
diff --git a/Master/texmf-dist/doc/latex/dialogl/manifest.txt b/Master/texmf-dist/doc/latex/dialogl/manifest.txt
new file mode 100644
index 00000000000..f6ab4df8bf2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dialogl/manifest.txt
@@ -0,0 +1,14 @@
+manifest.txt
+Makefile
+README
+dialogl.ins
+dialogl.dtx
+grabhedr.dtx
+listout.dtx
+menus.dtx
+cnvunits.tex
+dia-driv.tex
+dialogl-doc.sty
+fontmenu.tex
+fontmenu.lg
+diatest.tex