diff options
author | Karl Berry <karl@freefriends.org> | 2013-01-25 23:16:00 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-01-25 23:16:00 +0000 |
commit | 220642dbc88e804b285b1d77b7785de73213236b (patch) | |
tree | 13fcfc4321774d63f2dc2dea4f623e4ce23ee3b1 /Master/texmf-dist/doc/latex/dialogl | |
parent | 6e7e69cd3889f06015e1d00cd9ef3a7e582f238a (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/Makefile | 52 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/dialogl/README | 158 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/dialogl/cnvunits.tex | 139 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/dialogl/codialog.pdf | bin | 0 -> 408508 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/dialogl/default.los | 82 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/dialogl/dia-driv.pdf | bin | 0 -> 297137 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/dialogl/dia-driv.tex | 236 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/dialogl/dialogl-doc.sty | 536 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/dialogl/diatest.tex | 167 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/dialogl/fontmenu.lg | 31 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/dialogl/fontmenu.tex | 72 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/dialogl/manifest.txt | 14 |
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 Binary files differnew file mode 100644 index 00000000000..b992e79cbb5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/dialogl/codialog.pdf 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 Binary files differnew file mode 100644 index 00000000000..ab82b9ce85c --- /dev/null +++ b/Master/texmf-dist/doc/latex/dialogl/dia-driv.pdf 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 |