summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/dialogl/fontmenu.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/dialogl/fontmenu.tex')
-rw-r--r--Master/texmf-dist/doc/latex/dialogl/fontmenu.tex67
1 files changed, 67 insertions, 0 deletions
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..575a8344f3e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dialogl/fontmenu.tex
@@ -0,0 +1,67 @@
+\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