diff options
author | Karl Berry <karl@freefriends.org> | 2006-12-08 00:25:19 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-12-08 00:25:19 +0000 |
commit | 7ff51640e2fd3e968488d312879dee70458f2926 (patch) | |
tree | 6b9ede61598bd09a713892640d2d41da6913e509 /Master/texmf-dist/source/eplain | |
parent | 8291b74ec6f858e3536a5919b74386a7df1dcc24 (diff) |
eplain 3.1 (5dec06)
git-svn-id: svn://tug.org/texlive/trunk@2630 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/eplain')
98 files changed, 0 insertions, 10190 deletions
diff --git a/Master/texmf-dist/source/eplain/base/add-date b/Master/texmf-dist/source/eplain/base/add-date deleted file mode 100644 index 8465939b5b8..00000000000 --- a/Master/texmf-dist/source/eplain/base/add-date +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -# This file is public domain. - -# Change placeholders to variations on the current date. Assumes -# various % constructs are recognized. - -if test $# -lt 1 -then - echo "Usage: $0 [<file> <file> ...]" - exit 1 -fi - -temp=${TMPDIR-/tmp}/adddate$$ - -for f in "$@"; do - sed -e s/REPLACE-WITH-MONTH-YEAR/"`date +'%B %Y'`"/ \ - -e s/REPLACE-WITH-DAY-MONTH-YEAR/"`date +'%e %B %Y'`"/ \ - -e s/REPLACE-WITH-DATE/"`date`"/ \ - <$f >$temp - if cmp -s $f $temp; then - echo "$f: No REPLACE-WITH-<date>." - exit 1 - fi - rm -f $f - mv $temp $f -done - -rm -f $temp diff --git a/Master/texmf-dist/source/eplain/base/add-version b/Master/texmf-dist/source/eplain/base/add-version deleted file mode 100644 index 1934c8957f6..00000000000 --- a/Master/texmf-dist/source/eplain/base/add-version +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# This file is public domain. - -if test $# -lt 2; then - echo "Usage: $0 <version> [<file> <file> ...]" - exit 1 -fi - -temp=${TMPDIR-/tmp}/version$$ - -version=$1 -shift - -for f in "$@"; do - sed "s/REPLACE-WITH-VERSION/$version/" <$f >$temp || exit 1 - if cmp -s $f $temp; then - echo "$f: No REPLACE-WITH-VERSION." - exit 1 - fi - rm -f $f - mv $temp $f -done - -rm -f $temp diff --git a/Master/texmf-dist/source/eplain/base/etex.tex b/Master/texmf-dist/source/eplain/base/etex.tex deleted file mode 100644 index 46fe32ee733..00000000000 --- a/Master/texmf-dist/source/eplain/base/etex.tex +++ /dev/null @@ -1,5 +0,0 @@ -% This file just makes a .fmt file, assuming plain is loaded. -% -\input eplain - -\dump diff --git a/Master/texmf-dist/source/eplain/base/fix-checksum b/Master/texmf-dist/source/eplain/base/fix-checksum deleted file mode 100644 index c2f830f10f3..00000000000 --- a/Master/texmf-dist/source/eplain/base/fix-checksum +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# This file is public domain. - -# Fix a checksum line in the files given as arguments. - -tmpfile=/tmp/checksum$$ - -for f in $* -do - checksum="" - newchecksum=`wc < $f | sed "s/^ *//"` - while test "$checksum" != "$newchecksum" - do - sed -e "1,50s/checksum = .*,/checksum = \"$newchecksum\",/" $f > $tmpfile - checksum="$newchecksum" - newchecksum=`wc < $tmpfile | sed "s/^ *//"` - done - mv -f $tmpfile $f -done - diff --git a/Master/texmf-dist/source/eplain/base/merge b/Master/texmf-dist/source/eplain/base/merge deleted file mode 100644 index b300b936bca..00000000000 --- a/Master/texmf-dist/source/eplain/base/merge +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/sh -# This file is public domain. - -# Merge the constituent files with xeplain.tex to produce eplain.tex. - -# Usually we are called from the Makefile, and the `version' variable is set. -if test -z "$version"; then - echo "No version number, using xx!" - version=xx -fi - -btxtmp=/tmp/mergebtx$$ -common1tmp=/tmp/mergec1$$ -common2tmp=/tmp/mergec2$$ -common3tmp=/tmp/mergec3$$ -eplaintmp=/tmp/mergepl$$ -arrow1tmp=/tmp/mergea1$$ -arrow2tmp=/tmp/mergea2$$ -pathtmp=/tmp/mergepa$$ -ifpdftmp=/tmp/mergeif$$ - -rm -f eplain.tex - -# Use this regexp to strip comments with egrep. -commentre='^ *%([^%]|$)' - -# Extract the relevant parts of btxmac.tex (without comments). -egrep -v "$commentre" btxmac.tex \ - | sed -n \ - -e "1,/^%% \[\[\[start .*\]\]\]/w $common1tmp" \ - -e "/^%% \[\[\[start .*\]\]\]/,/^%% \[\[\[end .*\]\]\]/w $btxtmp" \ - -e "/^%% \[\[\[end .*\]\]\]/,\$w $common2tmp" - -# Get texnames.sty and path.sty. Remove the announcement, as well as -# the comments. -egrep -v "$commentre|immediate" texnames.sty > $common3tmp -egrep -v "$commentre|immediate" path.sty > $pathtmp - -# Get arrow.tex. -egrep -v "$commentre" arrow.tex \ - | sed -n \ - -e '1,/catcode.*\&.*4/w '"$arrow1tmp" \ - -e '/catcode.*\&.*4/,$w '"$arrow2tmp" - -# Get ifpdf.sty -egrep -v "$commentre"'|^ {0,6}\\immediate' ifpdf.sty > $ifpdftmp - -# Merge the above into xeplain, calling the result eplain. Also change the -# `filename' in the comment.%% -egrep -v "$commentre" xeplain.tex \ - | sed -e 's/"xeplain.tex"/"eplain.tex"/' \ - -e "/^%% \[\[\[here is the first.*\]\]\]/r $common1tmp" \ - -e "/^ %% \[\[\[here are the BibTeX.*\]\]\]/r $btxtmp" \ - -e "/^%% \[\[\[here is the second.*\]\]\]/r $common2tmp" \ - -e "/^%% \[\[\[include texnames.*\]\]\]/r $common3tmp" \ - -e "/^%% \[\[\[include path.*\]\]\]/r $pathtmp" \ - -e "/^ %% \[\[\[include arrow1\]\]\]/r $arrow1tmp" \ - -e "/^ %% \[\[\[include arrow2\]\]\]/r $arrow2tmp" \ - -e "/^%% \[\[\[include ifpdf.*\]\]\]/r $ifpdftmp" \ - > $eplaintmp - -# Remove our [[[...]]] markers and \endinput's. -egrep -v '\[\[\[|^ *$|\\endinput' $eplaintmp > eplain.tex - -# Fix header fields. -./add-date eplain.tex -./add-version $version eplain.tex -./fix-checksum eplain.tex - -# Old checksum computation: -#checksum=`wc < $eplaintmp | sed -n "s/^ *//"` -# Replace the checksum in the old file. We really should loop here, -# since one iteration may not be enough. Only replace the first -# checksum, since the second is for btxmac. -#sed -e "1,50s/checksum = .*,/checksum = \"$checksum\",/" $eplaintmp \ -# > eplain.tex - -chmod a-w eplain.tex -#ls -lt btxmac.tex path.sty texnames.sty xeplain.tex eplain.tex arrow.tex -#wc eplain.tex -#grep 'checksum.*=' eplain.tex - -rm -f $btxtmp $eplaintmp $common1tmp $common2tmp $common3tmp -rm -f $arrow1tmp $arrow2tmp $pathtmp $ifpdftmp diff --git a/Master/texmf-dist/source/eplain/base/packages.zip b/Master/texmf-dist/source/eplain/base/packages.zip Binary files differdeleted file mode 100644 index 6bbf89e4203..00000000000 --- a/Master/texmf-dist/source/eplain/base/packages.zip +++ /dev/null diff --git a/Master/texmf-dist/source/eplain/base/test/allref.tex b/Master/texmf-dist/source/eplain/base/test/allref.tex deleted file mode 100644 index 8e4f51270b0..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/allref.tex +++ /dev/null @@ -1,15 +0,0 @@ -% This file is public domain. -% -% Test all kinds of references. -% -\ifx\undefined\eplain \input eplain \fi - -\let\primitiveend = \end -\let\end = \relax - -\input cite -\input xref -\primitiveend - -\input eqref - diff --git a/Master/texmf-dist/source/eplain/base/test/boxes.tex b/Master/texmf-dist/source/eplain/base/test/boxes.tex deleted file mode 100644 index b58e1ffef34..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/boxes.tex +++ /dev/null @@ -1,11 +0,0 @@ -% This file is public domain. -% -\input eplain - -A box: \blackbox - -A large rectangle: -\ht0=2pc \dp0=2pc \wd0=3pc -\makeblankbox{.8pt}{.8pt} - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/boxit.tex b/Master/texmf-dist/source/eplain/base/test/boxit.tex deleted file mode 100644 index 20da2e7c27d..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/boxit.tex +++ /dev/null @@ -1,24 +0,0 @@ -% This file is public domain. -% -% Test \boxit. -% -\ifx\undefined\eplain \input eplain \fi - -\boxit{\hbox{the basics, boxed}} - -\boxitspace = 24pt -\boxit{\hbox{should be spacier}} - -\boxitspace = 5pt - -\boxit{\vbox{Something that is more than one line long, no matter how verbose -I have to do make it so, so that we can see if the line breaks are -plausible.}} - - -\boxit{\vbox{\hsize = 4in Another one that is more than one line long, just -to see if resetting hsize inside the box will work.}} - -\boxit{\boxit{\hbox{double box}}} - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/catcode.tex b/Master/texmf-dist/source/eplain/base/test/catcode.tex deleted file mode 100644 index af71f740ea9..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/catcode.tex +++ /dev/null @@ -1,8 +0,0 @@ -% This file is public domain. -% -The catcode BEFORE loading eplain: \the\catcode`@ \showthe\catcode`@ -\input eplain - -The catcode AFTER loading eplain: \the\catcode`@ \showthe\catcode`@ - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/center.tex b/Master/texmf-dist/source/eplain/base/test/center.tex deleted file mode 100644 index 628155050a6..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/center.tex +++ /dev/null @@ -1,12 +0,0 @@ -% This file is public domain. -% -\input eplain - -\def\title{\begingroup \def\endcentermacro{\endtitle}\bf\center} -\def\endtitle{\endcenter\endgroup} - -\loggingall -\title hi -\endtitle - -\end diff --git a/Master/texmf-dist/source/eplain/base/test/cite.bib b/Master/texmf-dist/source/eplain/base/test/cite.bib deleted file mode 100644 index 7c082677b4f..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/cite.bib +++ /dev/null @@ -1,25 +0,0 @@ -% This file is public domain. - -@book{chicago, - title = "Chicago", -} - -@book{texbook, - title = "texbook" -} - -@book{prime-number-theorem, - title = "prime number theorem", -} - -@book{1234567890)(@!`['";:]|<>./?-=+_$^&, - title = "weird label" -} - -@book{others, - author = "Jill and Susan and others" -} - -@book{accented, - author = "{\'E}ric {\'E}ttelbaum" -} diff --git a/Master/texmf-dist/source/eplain/base/test/cite.tex b/Master/texmf-dist/source/eplain/base/test/cite.tex deleted file mode 100644 index 12b818995bb..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/cite.tex +++ /dev/null @@ -1,35 +0,0 @@ -% This file is public domain. -% -% Test file for citations (plain bibliography style). -% -\ifx\eplain\undefined \input eplain \fi -\loggingall - -Let's cite chicago: \cite{chicago}. - -Now let's have multiple citations: \cite{chicago,texbook}. - -Now let's have a non-alphabetic label: \cite{prime-number-theorem}. - -Here is an undefined citation: \cite{undefined}. - -Here is a citation with an optional note: \cite[note]{texbook}. - -Here is a citation with a weird label: -\cite{1234567890)(@!`['";:]|<>./?-=+_$^&}. - -Now let's cite an `and others': \cite{others}. - -And an accented one: \cite{accented}. - -Let's get up to ten refs: -\cite{article-minimal,article-full,article-crossref,whole-journal,% -inbook-minimal,inbook-full} - -\bigskip -\leftline{\bf References.} - -\bibliography{cite,xampl} -\bibliographystyle{plain} - -\end diff --git a/Master/texmf-dist/source/eplain/base/test/citeall.tex b/Master/texmf-dist/source/eplain/base/test/citeall.tex deleted file mode 100644 index 24929568abe..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/citeall.tex +++ /dev/null @@ -1,12 +0,0 @@ -% This file is public domain. -% -\input btxmac - -Cite all the entries in the bib database files {\tt knuth.bib} and {\tt -ep.bib}: - -\nocite{*} -\bibliography{knuth,ep} -\bibliographystyle{plain} - -\end diff --git a/Master/texmf-dist/source/eplain/base/test/citealph.tex b/Master/texmf-dist/source/eplain/base/test/citealph.tex deleted file mode 100644 index 5b83d26d2b6..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/citealph.tex +++ /dev/null @@ -1,26 +0,0 @@ -% This file is public domain. -% -% Test file for citations (alphabetic bibliography style). -% -\input eplain - -Let's cite chicago and van-leunen: \cite{chicago,van-leunen}. - -Now let's cite an `and others': \cite{others}. - -And an accented one: \cite{accented}. - -Here is a citation with an optional note: \cite[note]{texbook}. - -Here is a citation with a weird label: -\cite{1234567890)(@!`['";:]|<>./?-=+}. - -Here is an undefined citation: \cite{undefined}. - -\bigskip -\leftline{\bf References.} - -\bibliography{cite} -\bibliographystyle{alpha} - -\end diff --git a/Master/texmf-dist/source/eplain/base/test/citeapa.tex b/Master/texmf-dist/source/eplain/base/test/citeapa.tex deleted file mode 100644 index 3d59f70fa09..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/citeapa.tex +++ /dev/null @@ -1,26 +0,0 @@ -% This file is public domain. -% -% Test file for citations (alphabetic bibliography style). -% -\input btxmac - -Let's cite chicago and van-leunen: \cite{chicago,van-leunen}. - -Now let's cite an `and others': \cite{others}. - -And an accented one: \cite{accented}. - -Here is a citation with an optional note: \cite[note]{texbook}. - -Here is a citation with a weird label: -\cite{1234567890)(@!`['";:]|<>./?-=+}. - -Here is an undefined citation: \cite{undefined}. - -\bigskip -\leftline{\bf References.} - -\bibliography{cite} -\bibliographystyle{apalike} - -\end diff --git a/Master/texmf-dist/source/eplain/base/test/citebegin.tex b/Master/texmf-dist/source/eplain/base/test/citebegin.tex deleted file mode 100644 index 75b5c8d6de6..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/citebegin.tex +++ /dev/null @@ -1,20 +0,0 @@ -% This file is public domain. -% -\input eplain - -\let\primitiveend = \end -\def\bye{\vfill\eject\primitiveend} - -\def\begin#1#2{% - \message{widest label is #2} -} -\def\end#1{} - -Two citations to Knuthian works: \cite{surreal,concrete-math}. - -\beginsection{References.}\par % Title for the bibliography. - -\bibliography{knuth} % Use knuth.bib to resolve the labels. -\bibliographystyle{plain} % Number the references. - -\bye % End of the document. diff --git a/Master/texmf-dist/source/eplain/base/test/citecust.tex b/Master/texmf-dist/source/eplain/base/test/citecust.tex deleted file mode 100644 index 2b3266407ba..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/citecust.tex +++ /dev/null @@ -1,38 +0,0 @@ -% This file is public domain. -% -% File to test the various customizations btxmac.tex allows. -% -\input eplain - -% Have citations come out as superscripts, as in footnotes. -% -% Unfortunately, plain TeX doesn't define the \scriptfont for the \tt -% family. Since we use \tt to print unresolved bib-references, we define -% it ourselves, so we can use superscripts. -\font\eighttt = cmtt8 -\scriptfont\ttfam = \eighttt -\def\printcitestart{$^\bgroup} -\def\printbetweencitations{,\space} -\def\printcitefinish{\egroup$} -\def\printcitenote#1{\hbox{\sevenrm\space (#1)}} - -% Do angle brackets instead of brackets. (We don't redefine \biblabelprint.) -% -\def\biblabelcontents#1{\bblrm $\langle$#1$\rangle$} - -% Use sans serif instead of roman, and slanted instead of italic. -% -\font\bblrm = cmss10 -\font\bblem = cmsl10 - -% Put a rule before the bibliography. -% -\def\bblhook{\medskip\hrule\smallskip} - -Two citations to Knuthian works: \cite{surreal,concrete-math}. - -This one with a note: \cite[another one]{surreal}. - -\bibliography{knuth} % Use knuth.bib to resolve the labels. -\bibliographystyle{plain} % Number the references. -\end % End of the document. diff --git a/Master/texmf-dist/source/eplain/base/test/citenote.tex b/Master/texmf-dist/source/eplain/base/test/citenote.tex deleted file mode 100644 index 429b5cd456f..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/citenote.tex +++ /dev/null @@ -1,13 +0,0 @@ -% This file is public domain. -% -% Test file for citations (plain bibliography style). -% -\ifx\eplain\undefined \input eplain \fi -\loggingall - -Here is a citation with an optional note, first: \cite[note]{texbook}. - -\bibliography{cite} -\bibliographystyle{plain} - -\end diff --git a/Master/texmf-dist/source/eplain/base/test/citex.tex b/Master/texmf-dist/source/eplain/base/test/citex.tex deleted file mode 100644 index 69e880490a7..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/citex.tex +++ /dev/null @@ -1,8 +0,0 @@ -% This file is public domain. -% -\input eplain -Two citations to Knuthian works: \cite{surreal,concrete-math}. -\beginsection{References.}\par % Title for the bibliography. -\bibliography{knuth} % Use knuth.bib to resolve the labels. -\bibliographystyle{plain} % Number the references. -\end % End of the document. diff --git a/Master/texmf-dist/source/eplain/base/test/colfootn.tex b/Master/texmf-dist/source/eplain/base/test/colfootn.tex deleted file mode 100644 index 942f71f50b3..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/colfootn.tex +++ /dev/null @@ -1,18 +0,0 @@ -% This file is public domain. -% -\input eplain - -\loggingall - -\vsize = 6\baselineskip -\doublecolumns - -\leftline{1\footnote\dag{A footnote that is longer than the column -width. Much much longer longer.}} -\count255 = 2 -\loop - \leftline{\number\count255} - \advance\count255 by 1 -\ifnum\count255 < 14 \repeat - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/colrule.tex b/Master/texmf-dist/source/eplain/base/test/colrule.tex deleted file mode 100644 index 5213685e9a3..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/colrule.tex +++ /dev/null @@ -1,33 +0,0 @@ -% This file is public domain. -% -\input eplain - -% ashley suggested the length of the footnote rule changes where the -% second column starts. -\vsize = 3in -\footnoterulewidth = 6in -\doublecolumns -This is a footnote\footnote1{No, this is the footnote} in double column mode. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. -And now we have lots of text to fill up the column. - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/column.tex b/Master/texmf-dist/source/eplain/base/test/column.tex deleted file mode 100644 index be1d521fe08..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/column.tex +++ /dev/null @@ -1,228 +0,0 @@ -% This file is public domain. -% -% Test double columns with headlines, single-column material, and a -% \topinsert. -\ifx\undefined\eplain \input eplain \fi -%\catcode`@=11 -%\input gcol -%\catcode`@=12 - -\gutter = 1pc -\hyphenation{pour-ed} - -\headline = {This is the headline \hfil} - -{\center - A test file for eplain - Karl\footnote\dag{Credit in a footnote. Longer than one column. % - Longer longer longer.} -} - -\topinsert -This should appear at the top of the page, since it's a topinsert. It's -also longer than one column. -\endinsert - -Here is a six-and-a-half-inch long rule. - -\hrule width 6.5in - -\doublecolumns - -Here the main document starts. It should be in double columns until -further notice. It's all one paragraph. I am going to use Wuthering -Heights, as usual. With that concluding word, the whole assembly, -exalting their pilgrim's staves, rushed round me in a body; and I, -having no weapon to raise in self-defence, commenced grappling with -Joseph, my nearest and most ferocious assailant, for his. In the -confluence of the multitude several clubs crossed; blows aimed at me -fell on other sconces. Presently the whole chapel resounded with -rappings and counter-rappings. Every man's hand was against his -neighbour; and Branderham, unwilling to remain idle, pour\-ed forth his -zeal in a shower of loud taps on the boards of the pulpit, which -responded so smartly that at last, to my unspeakable relief, they woke -me. And what was it that had suggested the tremendous tumult? What had -played Jabes's part in the row? Merely the branch of a fir-tree that -touched my lattice, as the blast wailed by, and rattled its dry cones -against the panes! I listened doubtingly an instant, detected the -disturber, then turned and dozed, and dreamt again---if possible, still -more disagreeably than before. This time I remembered I was lying in -the oak closet, and I heard distinctly the gusty wind and the driving of -the snow. I heard also the fir-bough repeat its teasing sound, and -ascribed it to the right cause. But it annoyed me so much that I -resolved to silence it, if possible; and I thought I rose and -endeavoured to unhasp the casement. The hook was soldered into the -staple---a circumstance observed by me when awake, but forgotten. ``I -must stop it, nevertheless!'' I muttered, knocking my knuckles through -the glass, and stretching an arm out to seize the importunate branch; -instead of which, my fingers closed on the fingers of a little, icecold -hand! - -The intense horror of nightmare came over me. I tried to draw -back my arm, but the hand clung to it, and a most melancholy voice -sobbed, ``Let me in---let me in!'' ``Who are you?'' I asked, struggling, -meanwhile, to disengage myself. ``Catherine Linton,'' it replied -shiveringly. (Why did I think of Linton? I had read Earnshaw twenty -times for Linton.) ``I'm come home. I'd lost my way on the moor.'' As -it spoke, I discerned, obscurely, a child's face looking through the -window. Terror made me cruel; and finding it useless to attempt shaking -the creature off, I pulled its wrist on to the broken pane, and rubbed -it to and fro till the blood ran down and soaked the bedclothes. Still -it wailed, ``Let me in!'' and maintained its tenacious gripe, almost -maddening me with fear. ``How can I?'' I said at length. ``Let me go, -if you want me to let you in!'' - -With that concluding word, the whole assembly, -exalting their pilgrim's staves, rushed round me in a body; and I, -having no weapon to raise in self-defence, commenced grappling with -Joseph, my nearest and most ferocious assailant, for his. In the -confluence of the multitude several clubs crossed; blows aimed at me -fell on other sconces. Presently the whole chapel resounded with -rappings and counter-rappings. Every man's hand was against his -neighbour; and Branderham, unwilling to remain idle, pour\-ed forth his -zeal in a shower of loud taps on the boards of the pulpit, which -responded so smartly that at last, to my unspeakable relief, they woke -me. And what was it that had suggested the tremendous tumult? What had -played Jabes's part in the row? Merely the branch of a fir-tree that -touched my lattice, as the blast wailed by, and rattled its dry cones -against the panes! I listened doubtingly an instant, detected the -disturber, then turned and dozed, and dreamt again---if possible, still -more disagreeably than before. This time I remembered I was lying in -the oak closet, and I heard distinctly the gusty wind and the driving of -the snow. I heard also the fir-bough repeat its teasing sound, and -ascribed it to the right cause. But it annoyed me so much that I -resolved to silence it, if possible; and I thought I rose and -endeavoured to unhasp the casement. The hook was soldered into the -staple---a circumstance observed by me when awake, but forgotten. ``I -must stop it, nevertheless!'' I muttered, knocking my knuckles through -the glass, and stretching an arm out to seize the importunate branch; -instead of which, my fingers closed on the fingers of a little, icecold -hand! - -The intense horror of nightmare came over me. I tried to draw -back my arm, but the hand clung to it, and a most melancholy voice -sobbed, ``Let me in---let me in!'' ``Who are you?'' I asked, struggling, -meanwhile, to disengage myself. ``Catherine Linton,'' it replied -shiveringly. (Why did I think of Linton? I had read Earnshaw twenty -times for Linton.) ``I'm come home. I'd lost my way on the moor.'' As -it spoke, I discerned, obscurely, a child's face looking through the -window. Terror made me cruel; and finding it useless to attempt shaking -the creature off, I pulled its wrist on to the broken pane, and rubbed -it to and fro till the blood ran down and soaked the bedclothes. Still -it wailed, ``Let me in!'' and maintained its tenacious gripe, almost -maddening me with fear. ``How can I?'' I said at length. ``Let me go, -if you want me to let you in!'' - -With that concluding word, the whole assembly, -exalting their pilgrim's staves, rushed round me in a body; and I, -having no weapon to raise in self-defence, commenced grappling with -Joseph, my nearest and most ferocious assailant, for his. In the -confluence of the multitude several clubs crossed; blows aimed at me -fell on other sconces. Presently the whole chapel resounded with -rappings and counter-rappings. Every man's hand was against his -neighbour; and Branderham, unwilling to remain idle, re forth his -zeal in a shower of loud taps on the boards of the pulpit, which -responded so smartly that at last, to my unspeakable relief, they woke -me. And what was it that had suggested the tremendous tumult? What had -played Jabes's part in the row? Merely the branch of a fir-tree that -touched my lattice, as the blast wailed by, and rattled its dry cones -against the panes! I listened doubtingly an instant, detected the -disturber, then turned and dozed, and dreamt again---if possible, still -more disagreeably than before. This time I remembered I was lying in -the oak closet, and I heard distinctly the gusty wind and the driving of -the snow. I heard also the fir-bough repeat its teasing sound, and -ascribed it to the right cause. But it annoyed me so much that I -resolved to silence it, if possible; and I thought I rose and -endeavoured to unhasp the casement. The hook was soldered into the -staple---a circumstance observed by me when awake, but forgotten. ``I -must stop it, nevertheless!'' I muttered, knocking my knuckles through -the glass, and stretching an arm out to seize the importunate branch; -instead of which, my fingers closed on the fingers of a little, icecold -hand! - -The intense horror of nightmare came over me. I tried to draw -back my arm, but the hand clung to it, and a most melancholy voice -sobbed, ``Let me in---let me in!'' ``Who are you?'' I asked, struggling, -meanwhile, to disengage myself. ``Catherine Linton,'' it replied -shiveringly. (Why did I think of Linton? I had read Earnshaw twenty -times for Linton.) ``I'm come home. I'd lost my way on the moor.'' As -it spoke, I discerned, obscurely, a child's face looking through the -window. Terror made me cruel; and finding it useless to attempt shaking -the creature off, I pulled its wrist on to the broken pane, and rubbed -it to and fro till the blood ran down and soaked the bedclothes. Still -it wailed, ``Let me in!'' and maintained its tenacious gripe, almost -maddening me with fear. ``How can I?'' I said at length. ``Let me go, -if you want me to let you in!'' - -With that concluding word, the whole assembly, -exalting their pilgrim's staves, rushed round me in a body; and I, -having no weapon to raise in self-defence, commenced grappling with -Joseph, my nearest and most ferocious assailant, for his. In the -confluence of the multitude several clubs crossed; blows aimed at me -fell on other sconces. Presently the whole chapel resounded with -rappings and counter-rappings. Every man's hand was against his -neighbour; and Branderham, unwilling to remain idle, re forth his -zeal in a shower of loud taps on the boards of the pulpit, which -responded so smartly that at last, to my unspeakable relief, they woke -me. And what was it that had suggested the tremendous tumult? What had -played Jabes's part in the row? Merely the branch of a fir-tree that -touched my lattice, as the blast wailed by, and rattled its dry cones -against the panes! I listened doubtingly an instant, detected the -disturber, then turned and dozed, and dreamt again---if possible, still -more disagreeably than before. This time I remembered I was lying in -the oak closet, and I heard distinctly the gusty wind and the driving of -the snow. I heard also the fir-bough repeat its teasing sound, and -ascribed it to the right cause. But it annoyed me so much that I -resolved to silence it, if possible; and I thought I rose and -endeavoured to unhasp the casement. The hook was soldered into the -staple---a circumstance observed by me when awake, but forgotten. ``I -must stop it, nevertheless!'' I muttered, knocking my knuckles through -the glass, and stretching an arm out to seize the importunate branch; -instead of which, my fingers closed on the fingers of a little, icecold -hand! - -The intense horror of nightmare came over me. I tried to draw -back my arm, but the hand clung to it, and a most melancholy voice -sobbed, ``Let me in---let me in!'' ``Who are you?'' I asked, struggling, -meanwhile, to disengage myself. ``Catherine Linton,'' it replied -shiveringly. (Why did I think of Linton? I had read Earnshaw twenty -times for Linton.) ``I'm come home. I'd lost my way on the moor.'' As -it spoke, I discerned, obscurely, a child's face looking through the -window. Terror made me cruel; and finding it useless to attempt shaking -the creature off, I pulled its wrist on to the broken pane, and rubbed -it to and fro till the blood ran down and soaked the bedclothes. Still -it wailed, ``Let me in!'' and maintained its tenacious gripe, almost -maddening me with fear. ``How can I?'' I said at length. ``Let me go, -if you want me to let you in!'' - -\singlecolumn -Now we should be typesetting in a single column, i.e., normally. The -fingers relaxed; I snatched mine through the hole, hurriedly piled the -books up in a pyramid against it, and stopped my ears to exclude the -lamentable prayer. I seemed to keep them closed above a quarter of an -hour; yet the instant I listened again, there was the doleful cry -moaning on! ``Begone!'' I shouted; ``I'll never let you in---not if you -beg for twenty years.'' ``It is twenty years,'' mourned the -voice---``twenty years. I've been a waif for twenty years!'' Thereat -began a feeble scratching outside, and the pile of books moved as if -thrust forward. I tried to jump up, but could not stir a limb, and so -yelled aloud in a frenzy of fright. To my confusion, I discovered the -yell was not ideal. Hasty footsteps approached my chamber door; somebody -pushed it open with a vigorous hand, and a light glimmered through the -squares at the top of the bed. I sat shuddering yet, and wiping the -perspiration from my forehead. The intruder appeared to hesitate, and -muttered to himself. At last he said in a half-whisper, plainly not -expecting an answer, ``Is any one here?'' I considered it best to -confess my presence, for I knew Heathcliff's accents, and feared he -might search further if I kept quiet. With this intention I turned and -opened the panels. I shall not soon forget the effect my action -produced. Heathcliff stood near the entrance, in his shirt and -trousers, with a candle dripping over his fingers, and his face as white -as the wall behind him. The first creak of the oak startled him like an -electric shock. The light leaped from his hold to a distance of some -feet, and his agitation was so extreme that he could hardly pick it up. -``It is only your guest, sir,'' I called out, desirous to spare him the -humiliation of exposing his cowardice further. ``I had the misfortune -to scream in my sleep, owing to a frightful nightmare. I'm sorry I -disturbed you.'' -\end diff --git a/Master/texmf-dist/source/eplain/base/test/column2.tex b/Master/texmf-dist/source/eplain/base/test/column2.tex deleted file mode 100644 index 90a736e4333..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/column2.tex +++ /dev/null @@ -1,51 +0,0 @@ -% This file is public domain. -% -\input eplain - -\headline = {headline\hfil} -\topinsert -topinsert -\endinsert - -\parskip = 0pt - -\centerline{Xiaogen Yang and Max L. Deinzer} -\smallskip -\centerline{Department of Agricultural Chemistry} -\centerline{Oregon State University, Corvallis, Oregon 97331} - -\doublecolumns -Humulene monoepoxides exist in hop essential oil and were suggested -as one of the important contributors of hop flavor to fermented -malt beverages [1-3]. However, it is more possible that the ``noble -hop'' aroma compounds are produced from certain hop components -during the brewing process, because the ``noble hop'' aroma is -distinct from ``dry hop'' aroma. The aging of hops, during which the -amount of oxidation products of humulene increases [4], is also -necessary to develop the ``noble hop'' aroma. One approach to find -out the flavor compounds and their origin is to examine the brewing -products of the oxygenated sesquiterpenes. The reactions of the -brewing process can be simplified to hydrolyzation and fermentation -as the first step. We have been investigated the hydrolysis of -humulene monoepoxides. -\singlecolumn -To simulate the hydrolyzation effect in the ``late hop'' brewing -process, humulene monoepoxides were boiled in water at -pH\thinspace 4 for 10 minutes. After boiling, a large amount of -the epoxides remain unreacted. When the solution was kept at -ambient temperature for several weeks, humulene epoxides were -then almost completely hydrolyzed. To accelerate the hydrolysis -process, humulene epoxides were suspended in a aqueous solution -buffered at pH\thinspace 4 and boiled for three hours under -reflux. All three humulene monoepoxides produced a complex -mixture after the reaction (Figure 1). The hydrolysis products -can be easily separated into two groups by extraction with -pentane and dichloro\-me\-thane subsequently. The pentane -extracts are less polar, more volatile and smell stron\-ger than -the dichloro\-methane extracts. Sensory evaluation of the -hydrolysis products of humulene epoxide II and III by sniffing -gas chromatography effluent indicates that some of the compounds -have the flavor notes which are close to the ``noble hop'' aroma -character described as ``spicy, citrus, floral'' (Table 1). - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/column3.tex b/Master/texmf-dist/source/eplain/base/test/column3.tex deleted file mode 100644 index 01788bd3064..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/column3.tex +++ /dev/null @@ -1,23 +0,0 @@ -% This file is public domain. -% -\ifx\undefined\eplain \input eplain \fi - -Here is a single-column line of text. -%\vskip 6in -%And another one. - -\doublecolumns -\newcount \xxx -\xxx=0 -\par -\baselineskip = 2.5\baselineskip -\loop - \hbox{Line \the\xxx.} - \ifnum \xxx < 3 - \advance \xxx by 1 -\repeat - -\singlecolumn -Another single-column line of text. - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/commdiags.tex b/Master/texmf-dist/source/eplain/base/test/commdiags.tex deleted file mode 100644 index ae5ca6221d4..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/commdiags.tex +++ /dev/null @@ -1,111 +0,0 @@ -% This file is public domain. -% -% Examples of commutative diagrams from Brockett, {\it Finite -% Dimensional Linear Systems}. - -\input arrow - -\def\Real{\mathord{R}} -\def\Rn{\Real^n} -\def\A{{\bf A}} -\def\B{{\bf B}} -\def\C{{\bf C}} -\def\F{{\bf F}} -\def\G{{\bf G}} -\def\H{{\bf H}} -\def\I{{\bf I}} -\def\K{{\bf K}} -\def\L{{\bf L}} -\def\M{{\bf M}} -\def\N{{\bf N}} -\def\P{{\bf P}} -\def\Q{{\bf Q}} -\def\R{{\bf R}} -\def\S{{\bf S}} -\def\W{{\bf W}} -\def\bp{{\bf\Phi}} - - -Page 29, Fig.~3 -$$\commdiag{\Rn&\mapright^{\bp(t_1,t_0)}&\Rn\cr -&\arrow(3,-2)\lft{\bp(t,t_0)}&\mapdown\rt{\bp(t,t_1)}\cr &&\Rn\cr}$$ - -Page 48, Fig.~1: -$$\commdiag{\Rn&\mapright^{\bp(t,t_0)}&\Rn\cr -\mapdown\lft{\P(t_0)}&&\mapup\rt{\P^{-1}(t)}\cr -\Rn&\mapright^{e^{\R(t-t_0)}}&\Rn\cr}$$ - -Page 69, Fig.~1: -$$\commdiag{\Rn&\mapright^{\M_1}&\Real^m\cr -\mapdown\lft\Q&&\mapup\rt\P\cr -\Rn&\mapright^{\M_2}&\Real^m\cr}$$ - -Page 69, Fig.~2: -$$\commdiag{\Rn&\mapright^\A&\Rn\cr -\mapdown\lft\P&&\mapup\rt{\P'}\cr -\Rn&\mapright^\S&\Rn\cr}$$ - -Page 71, Fig.~3: -$$\commdiag{\Rn&\mapright^\A&\Rn\cr -\mapdown\lft\P&&\mapup\rt{\P^{-1}}\cr -\Rn&\mapright^\B&\Rn\cr}$$ - -Page 92, Fig.~1: -$$\harrowlength=40pt \varrowlength=24.7pt \sarrowlength=\harrowlength -\commdiag{C^m&\mapright^{\B(\sigma)}&\Rn&\mapright^{\bp_\A(t_0,\sigma)}& -\Rn&\mapright^{\int_{t_0}^t-d\sigma}&\Rn&\mapright^{\bp_\A(t,t_0)}& -\Rn&\mapright^{\C(t)}&C^q\cr -&\arrow(3,-2)\lft{\P(\sigma)\B(\sigma)}&\mapdown\rt{\P(\sigma)}&& -\mapdown\rt{\P^{-1}(t_0)}&&\mapdown\rt{\P(t_0)}&&\mapdown\lft{\P^{-1}(t)}& -\arrow(3,2)\rt{\C(t)\P^{-1}(t)}\cr -&&\Rn&\mapright_{\bp_{\A_1}(t_0,\sigma)}&\Rn&\mapright_{\int_{t_0}^t-d\sigma}& -\Rn&\mapright_{\bp_{\A_1}(t,t_0)}&\Rn}$$ - -Page 96, Fig.~2: -$$\harrowlength=32pt \varrowlength=\harrowlength \sarrowlength=\harrowlength -\def\olap#1{\harrowlength=118pt\hbox to0pt{\hss$#1$\hss}} -\commdiag{C^m&&&&&&&&&&C^q\cr \mapup\lft{\G(\sigma)} -&\hmorphposn=2pt\arrow(1,-1)\rt{\int_{t_0}^{t_1}-\G(\sigma)\,d\sigma} -&&&&&&&&\arrow(1,1)\lft{\H(\ )}&\mapdown\rt -{\int_{t_0}^{t_1}-\H(\sigma)\,d\sigma}\cr -\Rn&\mapleft_{\W(t_0,t_1)}&\Rn&&&\olap{\mapright^{\I}}&&& -\Rn&\mapleft_{\M(t_0,t_1)}&\Rn\cr -\mapdown\lft{\P'}&&\mapup\lft\P&\arrow(-1,1)\rt\P&&&&\arrow(-1,-1)\lft\Q& -\mapdown\rt\Q&&\mapup\rt{\Q'}\cr -\Rn&\mapright^{\S_1}&\Rn&\mapright^{\S_1}&\Rn&\harrowlength=20pt -\mapright^{\Q\P}&\Rn&\mapright^{\S_2}&\Rn&\mapright^{\S_2}&\Rn\cr -&&\mapdown\lft{\N_1}&&&&&&\mapup\rt{\N_2}\cr -&&\Rn&&&\olap{\mapright^{\I}}&&&\Rn\cr}$$ - -Page 114, Fig.~1: -$$\sarrowlength=.42\harrowlength -\commdiag{&\Real^m\cr &\arrow(-1,-1)\lft\B\quad \arrow(1,-1)\rt\G\cr -\Rn&\mapright^\P&\Rn\cr \mapdown\lft{e^{\A t}}&&\mapdown\rt{e^{\F t}}\cr -\Rn&\mapright^\P&\Rn\cr &\arrow(1,-1)\lft\C\quad \arrow(-1,-1)\rt\H\cr -&\Real^q\cr}$$ - -Page 127, Fig.~2: -$$\commdiag{Y&\mapright^{L^*}&X\cr &\adjarrow(3,-2)\lft{LL^*}\rt{(LL^*)^{-1}}& -\mapdown\rt{L}\cr &&Y\cr}$$ - -Page 135, Fig.~2: -$$\harrowlength=80pt \varrowlength=40pt \sarrowlength=50pt -\def\olap#1{\harrowlength=214pt\hbox to0pt{\hss$#1$\hss}} -\def\vlap#1{\varrowlength=93pt\setbox0=\hbox{$#1$}\ht0=0pt\dp0=0pt\box0} -\commdiag{\Rn&&&\olap{\mapright^{\dot\K+\A'\K+\K\A+\L}}&&&\Rn\cr -&\arrow(3,-1)\rt\K&&&&\arrow(-3,-1)\lft\K\cr \noalign{\vskip-3pt} -&&\Rn&\mapright^{\B\B'}&\Rn\cr -\vlap{\mapdown\lft\P}&&\mapup\lft{\P'}&&\mapdown\rt\P&&\vlap{\mapup\rt{\P'}}\cr -&&\Rn&\mapleft^{\P\B\B'\P'}&\Rn\cr \noalign{\vskip-3pt} -&\arrow(3,1)\lft{\K_1}&&&&\arrow(-3,1)\rt{\K_1}\cr -\Rn&&&\olap{\mapright_{\dot\K_1+(\P\A\P^{-1}+\dot\P\P^{-1})\K_1 -+\K_1(\P\A\P^{-1}+\dot\P\P^{-1})+\P'^{-1}\L\P^{-1}}}&&&\Rn\cr -\noalign{\medskip}}$$ - -Page 139, Fig.~2: -$$\harrowlength=80pt \varrowlength=.618\harrowlength -\sarrowlength=\harrowlength -\commdiag{\Rn&\mapright^{\B'(\sigma)\bp'(t_0,\sigma)}&C^m\cr -&\adjarrow(3,-2)\lft{\W(t_0,t_1)}\rt{\W^{-1}(t_0,t_1)}& -\mapdown\rt{\int_{t_0}^{t_1}\bp(t_0,\sigma)\B(\sigma)\,d\sigma}\cr -&&\Rn\cr}$$ diff --git a/Master/texmf-dist/source/eplain/base/test/contents.tex b/Master/texmf-dist/source/eplain/base/test/contents.tex deleted file mode 100644 index 6c3159da810..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/contents.tex +++ /dev/null @@ -1,30 +0,0 @@ -% This file is public domain. -% -\input eplain - -\newcount\subsectionno - -\def\tocsubsectionentry#1#2#3{\leftline{Subsection #2.~#1\dotfill#3}} -\let\tocentry = \tocsubsectionentry - -\readtocfile - -\subsectionno = 13 - -\writetocentry{chapter}{beginning} -\writetocentry{section}{subbeginning $\sin$} - -\advance\subsectionno by 1 -\writenumberedtocentry{subsection}{Subsection $\cos$ \#14} - {\the\subsectionno} - -\advance\subsectionno by 1 -\writenumberedtocentry{subsection}{Subsection \#15}{\the\subsectionno} - -% This doesn't expand \the\subsectionno -- only the first token gets -% expanded. Its output line starts with \tocentry. -\writenumberedtocentry{}{A toc entry}{1{\the\subsectionno}} - -%\loggingall - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/displine.tex b/Master/texmf-dist/source/eplain/base/test/displine.tex deleted file mode 100644 index 97730ede242..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/displine.tex +++ /dev/null @@ -1,36 +0,0 @@ -% This file is public domain. -% -\ifx\undefined\eplain \input eplain \fi - -\loggingall - -\leftdisplays -\parindent=31pt - -A displaylines with an eqdef: text mre more more more more more more -more more more more more more more more more more text. -$$\displaylines{x=1 \eqdef{eqdef-displ}\cr}$$ - -{\leftskip = 14pt -\noindent -And a indented normal equation: -$$y=2\eqdef{foo} -$$ -An indented displaylines with an eqdef: -$$\displaylines{x=1 \eqdef{eqdef-displ}\cr} -$$ - -Now the same two with hangindent nonzero. -\hangindent=17pt -And a indented normal equation: -$$y=2\eqdef{foo} -$$ -An indented displaylines with an eqdef: -$$\displaylines{x=1 \eqdef{eqdef-displ}\cr} -$$ -\par} - -Well? - -\bye - diff --git a/Master/texmf-dist/source/eplain/base/test/double.tex b/Master/texmf-dist/source/eplain/base/test/double.tex deleted file mode 100644 index aca6d6bb3e4..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/double.tex +++ /dev/null @@ -1,24 +0,0 @@ -% This file is public domain. -% -\ifx\undefined\eplain \input eplain \fi - -%\catcode`@ = 11 -%\input gcol -%\catcode`@ = 12 - -Here is a single-column line of text. -%\vskip 6in -%And another one. - -\doublecolumns -\newcount \xxx -\xxx=0 -\par -\baselineskip = 2.5\baselineskip -\loop - \hbox{Line \the\xxx.} - \ifnum \xxx < 3 - \advance \xxx by 1 -\repeat - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/double2.tex b/Master/texmf-dist/source/eplain/base/test/double2.tex deleted file mode 100644 index d1b794cad18..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/double2.tex +++ /dev/null @@ -1,163 +0,0 @@ -% This file is public domain. -% -\input eplain - -\tolerance=2000 - -\def\SP{\ } -\def\throwaway#1{} -\def\checkspace{\ifx \next\ -\let\result=\throwaway - \else \let\result=\ignorespaces \fi \result } -\font\bigfont=cmr10 scaled \magstep5 -\def\bfl#1{\setbox0=\hbox {{\bigfont #1}\thinspace} - \noindent \hangindent \wd0 \hangafter -2 - \llap {\vbox to \ht0{\kern\baselineskip \box0 \kern-\baselineskip}}% - \futurelet \next \checkspace} - -\parskip=10pt -\hbadness = 1500 -\parindent=0pt - -\font\cmbig=cmr17 -\font\cmrbv=cmb10 scaled \magstep5 -\font\iti=cmbxti10 scaled \magstep2 -\font\erm=cmr8 - -\doublecolumns - -%************************************************************************** -% Generate a dummy first page for the twocol macro -% The first page is to have the left column blank. - -\phantom{dummy first line} \vskip5truein - {\font\iti=cmti10 scaled \magstep1 - \iti - \rightline{An abstract} - \rightline{goes} - \rightline{in here.} - } - -%karl \vfill -%karl \eject - -%************************************************************************** - -\phantom{dummy first line} \vskip0.75truein - -\rightline{\cmrbv Title} -\bigskip\bigskip -\rightline{\iti Author} - -\bigskip\bigskip\bigskip -%\rightline{\hrulefill}% width6.5truein} - -\nointerlineskip -\moveleft 3.31truein -\vbox{\hrule width6.5truein} -\nointerlineskip - -\vskip0.75truein - -%************************************************************************** - -\bfl -Xxxxxxx xxxxxx xxxxxx xxxxxxx xxxx xxx xxx\numberedfootnote{\erm Xxxxx xxxxx -xxx xxxx Xxxxx xxxxx, Xxxxx xxxx Xxxxxx xxxxxx, xxxxxx xxxxx xx Xxxxxx Xxxxxx, -Xxx., X.~X. Xxx~xxx, Xxxx Xxxxx, XX~xxxxx.} Xxxx Xxxxxxxxxx xxxxxxxx xxxx, Xxx -xxxxx xxxxxx xx xxxxxxxx xx xxxxx xxxxxxx xxxxxxx xxxx xx xxxx xx xxxxxxx xx -xxx xxxxx xx x xxx xxxxxxx xx xxxxx. Xx x/xxx xx x xxx xxxx xxxxxxx xxxxx -xxxxxxx, Xxxxxx xxxxxxxxx xxxxx xxxxx x/xxx,xxx,xxx xx x xxxxxx. Xxxx xxxxx - xxxx xx xxxx xxxx Xxxxxx'x xxxxxxxx xx xxx xxxxxxx xxxxxxxx xxxxxx xx xxxxx - xx xxxx xxxxxxx xxx xxxxxx xxxx xx xxxxxxx xx xxxxxx x.xx xx x xxx, xxx x.xx -xxx xxxxxx xxxxx xx~xxxxxxx. Xxxx xx x xxxxx xxxxxx xxx xxxxxxxxx xxxxxxxx xxx -xxxxxxxx xxxx xxxxxxxx xxxxxxxxx xxx xxxxxx xxxxxx xxxx, xxx xxx xxxxxxxx -xxxxxxxxx xx xxx xxxx xx xxxxxxxxxx xx x xxxx xxxxx xxxxxxxxxx. - -Xxxxx xxx xxxxxx xxx xxxxxx xx xxx xxxxx xx xxx xxx xxxxxxxxx (xxx XX-xxx -xxxxx xxxxxx xxxxxxxx xx xxx Xxx Xxxxxxxxxx Xxxxxxxxxx), xx xxx xxxxxxx xxxx -xx xxxxx xx xxxxxxxxxxx xx xxxxxxx x xxxxx xxxxxxx xxx xxxx xx xxxxx xxxx -xxxxxx xx xxxx x xxxxxxxxxxx xxxxxx xxxx xxx xxxxxxx. - -Xxxxx x xxxxx xx xxx xxxx xx xxxxxxxxxx xxx xxxxxxxx xx xxx xxxxxxxxxx xxx -xxxxxx xxxxxxxx xxx xxxx xxxxxx xxx xxxxx xxxx. Xxxx xxx xxxx xxxx xxxx xx -xxxxx xxx xxxxxx'x xxxx xxxx xxxxxxxx, xxxx {xxx xxxxxxx} xx xxx xxxxxxx -xxxxxxxxx, xxxxxxxx, xx x, xxx xxxxxxxx. Xxxxx xxxx xxxxxxxxx xxx xxxx (xxxx -xxx Xxxx) xxx xxxxx xx Xxxxx~x. - -Xx xxxxxxxxxxx xx Xxxxx~x xxxxxxx xxxx xxx xxxxxxxx xx xxxxxxx xx xxxx xxxxxxx -xxxxxxxx xxx xxx xx xxxxxxxxxx xx xxxxx xx xxxxxxxx. Xx xxxx, xx xxxxxxx xx -xxxxxx xxx xxxxx xx xx xxxxx xxx xxx xxxxxxxxx xxx xxxxxxxx xxxxx xx Xxxxxx'x -xxxxx xx Xxxxxx' xxxxxx xxxxxxx. Xxxx xxx xxxxxxxx xxxxx xxx xx xx xxxx, xxx -xxxxxxxxx. Xxxxx~x xxxxxxxx xxx xxxxxxxxx xx xxxxxxx xx xxx xxxxxx xxxxxx xx -xxxx xxxxxx xxxxxxxx xx xxxxxxxxx xx xxxxxxxxx. - - -\singlecolumn -\centerline{Table 1---Xxxxxxxxx Xxxx Xxxxxxxx xx Xxxxxxxx} -\smallbreak -\line \bgroup \hss - \vbox to 11\baselineskip{} -\hss \egroup -\doublecolumns - - -Xxxx xxxxxx x xxxxxx xxxxxxx Xxxxxx'x xxxxxx xxxxxx xx xxx xxxxxx xxxxx xxxxxx -xxx xxxx xxxxx xx Xxxxx~x, xxxx xxxx xxxxxx xx xxxxx xxxxxxx. Xx, xxx xxxxxxx, -xx xxxxxxxxxx xxx xxxxxxxx xxxx xxxxxx xxxxxx, xx xxxxx xxxxx xx xxxxxxxxxxx, -xxxxxxxxxx, xxx xxxxxxxxx, xxxxxxx xx xxx xxxxxxxx xx xxxx xxxxxx xxxx xxxxx -xxxxxxx, xx xxxxx xxxxx xx xxx xxxxxxxx, xxxxx xxxxx, xxx xxxxxxxxx. Xxxx xxx -xxxx xx xxxxxxxxx. - -\medskip\bigskip -\centerline{Table 2---Xxxxxxx xx Xxxxxx'x Xxxxxx Xxxxxxx} -\nobreak -\centerline{(Xxxxxxx Xxxxxxxx)} -\smallbreak -\line \bgroup \hss - \vbox to 9\baselineskip{} -\hss \egroup - -Xxxxxxxx xxx xxxx xxxx xxxxx xxxxx xx Xxxxx~x xxx xxx xxxx, xxxx xxx xxx xxxx -xx xxx xxxxxxxx xxxxxxxx xxxxxxxxx xxxxx. Xx xxx x xxxxx xxxxxxx xx xxx xxxx -xx xxxxxxx, xx xxx xxxxxxx xx xx x xxxxxx xxxxxx xx xxxxx xxxxxxx xx xxxxxx xx -xxxx xxxxx xxxxxx x ``xxxxx xxxx'' xxxxxxxx. Xxxxx x xxxxx xx xxxx xxxxx xx -xxx xxxx xx xxxxxxx xxx xxxxxxxx. Xxxx xxx xxxx xxxxxxxx xx xxxxx xxx xxxxxx'x -xxxxxxxx xxxxxx xx xxxxx xxxxx, xxxxxxx xxx, xxx xxxxxx xxxx xxxx xxx xxxxx -xxxxx xxxxxxxx xxx xxxxxxxx. Xxx xxxxxxx, xx xxx xxxxx xxxxx xxxxxx xxxx xxxx -xxxxxx, xx xxx xxxx xxxxxx xxxxxxxx xxx xxx xxxxx. Xxx xxxxxxx xxx xxxxx xx -Table~3. - - -\font\eri=cmti8 - -Xx xxxxxx xx xxxxxxxxxx xxxx xxxxx xxxxxx xxxx xxxxxxxx xxxx xxx xxx xxxxxxx -xxxxx xx xxx xxxx xxxxx xxx xx xxx xx xxx xxx xxxxxxxxx xx xxxxxxx xxxx xx xxx -xxx xxxxx xxxxx xxxxxx. Xxxxx~x xxxxxxx xxxx xxx xxxxx xxxxxxx, xx xx -xxxxxxxxx xxxxxxxxx xx xxxxxxxx xx xxxx xxxx xxxxxxx xxxx xxx xxxx xxx xxxx -xxxxxxxx xxxxxxxxxxx xxx xxx xxxxxx xx xx xxxxxxx. Xxxxxxxxx xxxxxxx xxxxx xxx -xx xxxxxxxx xxxxxx xxxx xxx xxxx xxxxxxx xx x xxxxx xxxxxxxxx, xxx xxx -xxxxxxxx xx xxx xxxxxxxxx? Xxx xxxx xxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx xx -XX-xxx, xxx xxxxxxxxx xx xxx {xxx Xxxxxx xxxxxx Xxxx -xxx},\numberedfootnote{\erm Xxxx Xx xx xxx xxxx Xxxxxx Xxxxxxx xxxx xxxxx -xxxx.} ``X xxxxxxx xxxxx xxxxxxxxx xxx Xxxxxx xxx xxx xxxx'x xxxxx xx xxxxxxxx -xxxx xx xxxxxxxxx xxxxxx xxxxxx xxxx xxxxxx xxxx.'' Xxxx xxxxxx xxxxx xx x -xxxxxxxx xxxx xxxxxxxx xxxxx xxxxxx xxx xxxxxxxx xxx xxx xxxxxxx xxx xx xxxx -xxxxxxx xxx xxxxxx xxxxxx xxxxxxxx xxx xxxx xxxxxxxxxxx xxxx xxx xxx xxxxxxx -xxx xxxxxx xxxxxx xx Xxxxxx xxxxx xx xxxx, xxx xxxxx xxx xxx xxxxxxxx xx x -Xxxxxx xxxxxxx xxxx xxx xxxx? Xxx xxxxxx xxxxx xx xx xxxxxxxxx xxx xxxxxxx -xxxx xxx xxxx xxxx xx Xxxxx~x xxx xxxxxx xxxx xxx xxxxxxx xxxx xxxxx xx -xxxxxxx xx xxxxxx xxx xx xxxxx. - -\singlecolumn - -\medskip\bigbreak -\midinsert -\centerline{Table 3---Xxxxxxxxx Xxxx Xxxxxxxx xx Xxxxxxxx} -\smallbreak -\line \bgroup \hss - \vbox to11\baselineskip{} -\hss \egroup -\endinsert - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/dvipdfm.tex b/Master/texmf-dist/source/eplain/base/test/dvipdfm.tex deleted file mode 100644 index 0760afbe50b..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/dvipdfm.tex +++ /dev/null @@ -1,111 +0,0 @@ -\input ../eplain -%\enablehyperlinks[nolinks] -%\enablehyperlinks[dvipdfm] -\enablehyperlinks - -\beginpackages -\usepackage[dvipsnames]{color} -\endpackages - -% Execute #1 then print it verbatim and indented. -\def\c{\cf\indent\relax} -% Same as \c, but do not indent and at the end say \hlend. -\def\f{\cf\noindent\hlend} -% -\def\cf#1#2#3{% - \def\temp{#3}% - \edef\cftemp{\sanitize\temp}% - #1#3\expandafter\verbatim\cftemp\endverbatim#2\par -} -% -\newcount\destcount -% Execute `#1{d\the\destcount}' then print it (`#1', `{d', and `}' are printed -% verbatim; `\the\destcount' is expanded). -\def\d{\dl\relax} -% Same as \d, but at the end also say \hlend. -\def\l{\dl\hlend} -% -\def\dl#1#2{% - \global\advance\destcount by1 - \toks0={#2}% - \edef\temp{\the\toks0{d\the\destcount}}% - \edef\dltemp{\sanitize\temp}% - \noindent#2{d\the\destcount}\expandafter\verbatim\dltemp\endverbatim#1\par -} - - - -\leftline{\bf Destinations} -\medskip - -{\tt\global\parindent=4em} - -\d{\hldest{}{}} -\c{\hldestopts{zoom=2345}} -\d{\hldest{}{}} -\medskip -\c{\hldesttype{fitr}} -\c{\hldestopts{left=36,bottom=420,right=360,top=720}} -\d{\hldest{}{}} -\c{\def\mydesttype{xyz}} -\c{\def\myopts{left=72,top=648}} -\d{\hldest{\mydesttype}{\myopts}} -\medskip -\c{\let\myopts\empty} -\c{\hldestopts{raise=2\normalbaselineskip}} -\d{\hldest{xyz}{\myopts,zoom=2500}} -\c{\hldestopts{left=,bottom=,right=,top=}} -\d{\hldest{xyz}{raise=\ht\strutbox,zoom=3000}} -\medskip -\makeatletter -\c{\def\mydest{\special{pdf: dest (\@hllabel) [@thispage /FitBH @ypos]}}} -\d{\hldest{raw}{cmd=mydest}} -\resetatcatcode -\medskip -\d{\hldest{fit}{}} -\d{\hldest{fith}{}} -\d{\hldest{fitv}{}} -\d{\hldest{fitb}{}} -\d{\hldest{fitbh}{}} -\d{\hldest{fitbv}{}} -\vfil\eject - - - -\leftline{\bf Links} -\medskip - -{\tt\global\parindent=4.5em} - -\destcount=0 % Reset destination count. -\l{\hlstart{name}{}} -\c{\hlopts{bstyle=U}} -\l{\hlstart{name}{}} -\l{\hlstart{}{bstyle=D,bdash=2 4,bcolor=1 0 0,hlight=I}} -\l{\hlstart{}{bstyle=B,bwidth=3}} -\c{\hlopts{bcolor=0 0 1}} -\l{\hlstart{}{bstyle=I,bwidth=4}} -\l{\hlstart{}{bstyle=U,bwidth=1}} -\c{\hlopts{bstyle=S}} -\l{\hlstart{}{hlight=I,bcolor=1 .2 .2,bwidth=2}} -\l{\hlstart{}{hlight=N,bstyle=D,bwidth=3}} -\l{\hlstart{}{hlight=O}} -\l{\hlstart{}{hlight=P,bcolor=.3 .6 .7}} -\l{\hlstart{}{bstyle=D,bdash=2 4 6}} -\l{\hlstart{}{bwidth=0}} -\l{\hlstart{}{bstyle=D,bdash=2 4 6 8}} -\f{\hlstart{page}{pagefit=/FitH 600}{1}} -\f{\hlstart{filename}{file=hlink.pdf,newwin=1}{eq1}} -\f{\hlstart{filepage}{file=hlink.pdf,pagefit=/FitR 50 100 300 500}{1}} -\f{\hlstart{filepage}{file=hlink.pdf,pagefit=/FitB}{2}} -\f{\hlstart{url}{}{http://tug.org/eplain/}} -\c{\def\c{\special{pdf:beginann<</Type/Annot/Subtype/Link/Dest[0/FitH @ypos]>>}}} -\f{\hlstart{raw}{cmd=c}{}} - - - -\bye - -% Local variables: -% compile-command: "(cd .. && make eplain.tex) && tex --interact=nonstopmode dvipdfm.tex && dvipdfm -p letter dvipdfm.dvi" -% End: diff --git a/Master/texmf-dist/source/eplain/base/test/ecommdiag.tex b/Master/texmf-dist/source/eplain/base/test/ecommdiag.tex deleted file mode 100644 index 562ad84ce00..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/ecommdiag.tex +++ /dev/null @@ -1,15 +0,0 @@ -% This file is public domain. -% -\input ../eplain - -\fmtversion - -$$\commdiag{Y&\mapright^f&E\cr \mapdown&\arrow(3,2)\lft{f_t}&\mapdown\cr -Y\times I&\mapright^{\bar f_t}&X}$$ - -\end - -From DYMACEK@fs.sciences.WLU.EDU Fri Apr 15 09:21:12 1994 -To: kb@cs.umb.edu -From: "Wayne M. Dymacek" <DYMACEK@fs.sciences.WLU.EDU> -Date: Fri, 15 Apr 1994 9:19:15 EDT diff --git a/Master/texmf-dist/source/eplain/base/test/emergncy.tex b/Master/texmf-dist/source/eplain/base/test/emergncy.tex deleted file mode 100644 index de1eeaefe6f..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/emergncy.tex +++ /dev/null @@ -1,19 +0,0 @@ -% This file is public domain. -% -%\ifx\undefined\eplain \input eplain \fi - -\hsize = 32pc -\emergencystretch = 8pc -%\tolerance = 10000 - -\def\code#1{{\tt #1}} -\def\\{{\tt \char92}} - -You can make a new numbered theorem-like environment with -\code{\\definenumberedtheorem}. This macro takes one argument, the name -of the environment. The first letter of the name will be capitalized -when it is typeset. Analogously, you can use -\code{\\defineunnumberedtheorem} to make a new unnumbered theorem-like -environment. These commands can only be used before \code{\\body}. - -\end diff --git a/Master/texmf-dist/source/eplain/base/test/env.tex b/Master/texmf-dist/source/eplain/base/test/env.tex deleted file mode 100644 index 3b4cf56be66..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/env.tex +++ /dev/null @@ -1,42 +0,0 @@ -% This file is public domain. -% -\input eplain - -First, let's make sure they work. - -\loggingall - -\environment{outer} - \environment{inner} - This is in the first inner. - \endenvironment{inner} - - This is between inners. - - \environment{inner} - This is in the second inner. - - \environment{even-more-inner} - This is even more inner. - \endenvironment{even-more-inner} - \endenvironment{inner} -\endenvironment{outer} - -This is after the outer. - -Now let's make some mistakes. - -%\environment{start-1} -%\endenvironment{end-2} - -\endenvironment{where-is-the-start?} - -\begingroup -\endenvironment{begingroup-started} - -\environment{endgroup-ended} -\endgroup - -\environment{noend} - -\end diff --git a/Master/texmf-dist/source/eplain/base/test/eqdef.tex b/Master/texmf-dist/source/eplain/base/test/eqdef.tex deleted file mode 100644 index 8a72b874333..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/eqdef.tex +++ /dev/null @@ -1,15 +0,0 @@ -% This file is public domain. -% -% Test empty eqdef's. -\ifx\undefined\eplain \input eplain \fi - -\loggingall - -$$a = 1 -\eqdef{} -$$ - -$$b = 2 -\eqdef{} -$$ -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/eqref.tex b/Master/texmf-dist/source/eplain/base/test/eqref.tex deleted file mode 100644 index 8f0d4f8bb59..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/eqref.tex +++ /dev/null @@ -1,141 +0,0 @@ -% This file is public domain. -% -% Test symbolic equation references. -% -\ifx\eplain\undefined \input eplain \fi - -\loggingall -\leftdisplays - -An equation with a number in its name: -$$ a+b=1\eqdef{line1}$$ -\line{did we mess up plain's line in equation \eqref{line1}?\hfil} - -\bye - -The first equation: -$$x + y = 1 \eqdef{first}$$ - -In equation \eqref{first}, we said that $x+y=1$. -Now, in equation \eqref{second}, we say that $a+b=2$. - -$$a + b = 2 \eqdef{second}$$ - -The next equation is unlabeled in the output, but we can still refer to -it. -$$c + d = 3 \eqdefn{*}$$ - -And here's an equation whose text references another equation, namely, -\eqref{first}: -$$c=3\eqdef[\eqrefn{first}*]{first-star}$$ -And a reference to it: \eqref{first-star}. - -Here is the first of a group of equations: \eqdefn{group} -$$a = 1\eqsubdef{group-1}$$ -and the invisible second, then the third of the group \eqsubdefn{group-invis}: -$$b = 2\eqsubdef{group-2}$$ -We refer to the group as \eqref{group}, to the first as -\eqref{group-1}, the third as \eqref{group-2}, and the invisible second -as \eqref{group-invis}. - -Here's an equation labeled strangely: -$$a=1\eqdef[\rm strange*]{foo}$$ -And let's refer to \eqref{foo}. - -Let's do subequations off that: -$$b=2\eqsubdef{foo-1}$$ -And refer to it: \eqref{foo-1}. - -% We can't use \count255, since #1 might involve contortions which -% trample it. -\newcount\subrefcount -\def\eqsubreftext#1#2{% - \subrefcount = #2 - \advance\subrefcount by 96 - #1\char\subrefcount -} - -Let's try another group, with a different labelling scheme. Here is the -first of this group2: \eqdefn{group2} -$$a = 1\eqsubdef{group2-1}$$ -and the second of the group2 \eqsubdefn{group2-invis}: -$$b = 2\eqsubdef{group2-2}$$ -We refer to the group2 as \eqref{group2}, to the first as -\eqref{group2-1}, the third as \eqref{group2-2}, and the invisible second -as \eqref{group2-invis}. - -Here is one done with displaylines: -% The \hfill's and \llap make the equation numbers come out in the right -% place if we are not doing \leftdisplays. (See the TeXbook, p.194.) -%$$\displaylines{ -% \hfill x=1\hfill\llap{\eqdef{displayline-1}}\cr -% \hfill y=2\hfill\llap{\eqdef{displayline-2}}\cr -%}$$ -$$\displaylines{ - x=1\eqdef{displayline-1}\cr - y=2\eqdef{displayline-2}\cr -}$$ - -Let's refer to each of the equations in the displaylines: -\eqref{displayline-1}, \eqref{displayline-2}. - -And one with eqalignno: -$$ -\eqalignno{ - a+b&=c&\eqdef{eqalign-1}\cr - d+e&=f&\eqdef{eqalign-2}\cr -} -$$ - -And one with leqalignno, and indented more: -{\leftdisplayindent = 1in -$$\leqalignno{ - a+b &=c&\eqdef{leqalign-1}\cr - dt+eg&=f&\eqdef{leqalign-2}\cr -}$$ -} - -And now let's refer to those: \eqref{eqalign-1}, \eqref{eqalign-2}, -\eqref{leqalign-1}, \eqref{leqalign-2}. - - - -\def\eqprint#1{[\rm A.#1]} - -From now on, all equation labels should be in brackets and preceded -by `A.'. In \eqref{*}, we said that $c+d=3$. And in equation -\eqref{undefined}, we say that $1+1=2$. - -\eqdefn{*x} -\eqdefn{*y} - -We defined equation \eqref{*y}, although we didn't give an equation for -it. -This is a forward reference to equation \eqref{forward}. - -$$e + f = 4 \eqdef{forward}$$ - -That equation above defines \eqref{forward}. - - -\newcount\sectionnum \sectionnum = 1 -\def\eqconstruct#1{\the\sectionnum.#1} - -And now equation numbers should have a section number (which we start at -one) preceding them. - -$$a+b=1 \eqdef{s-ab}$$ - -That equation is \eqref{s-ab}. The one we'll define in the next section -is \eqref{s-cd}. - - -\advance\sectionnum by 1 -The equation in the previous section was \eqref{s-ab}. Let's define one -in this section: - -$$c+d=3 \eqdef{s-cd}$$ - -And refer to it: \eqref{s-cd}. - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/example.eps b/Master/texmf-dist/source/eplain/base/test/example.eps deleted file mode 100644 index 4074a32b458..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/example.eps +++ /dev/null @@ -1,389 +0,0 @@ -%!PS-Adobe-2.0 EPSF-1.2 -%%Creator: MATLAB, The Mathworks, Inc. -%%Title: example.eps -%%CreationDate: 11/05/96 21:16:44 -%%DocumentNeededFonts: Helvetica -%%DocumentProcessColors: Cyan Magenta Yellow Black -%%Pages: 1 -%%BoundingBox: 97 197 502 604 -%%EndComments - -%%BeginProlog - -% MathWorks dictionary -/MathWorks 150 dict begin - -% definition operators -/bdef {bind def} bind def -/ldef {load def} bind def -/xdef {exch def} bdef -/xstore {exch store} bdef - -% operator abbreviations -/c /clip ldef -/cc /concat ldef -/cp /closepath ldef -/gr /grestore ldef -/gs /gsave ldef -/mt /moveto ldef -/np /newpath ldef -/cm /currentmatrix ldef -/sm /setmatrix ldef -/rc {rectclip} bdef -/rf {rectfill} bdef -/rm /rmoveto ldef -/rl /rlineto ldef -/s /show ldef -/sc {setcmykcolor} bdef -/sr /setrgbcolor ldef -/w /setlinewidth ldef -/j /setlinejoin ldef -/cap /setlinecap ldef - -% page state control -/pgsv () def -/bpage {/pgsv save def} bdef -/epage {pgsv restore} bdef -/bplot /gsave ldef -/eplot {stroke grestore} bdef - -% orientation switch -/portraitMode 0 def -/landscapeMode 1 def - -% coordinate system mappings -/dpi2point 0 def - -% font control -/FontSize 0 def -/FMS { - /FontSize xstore %save size off stack - findfont - [FontSize 0 0 FontSize neg 0 0] - makefont - setfont - }bdef - -/reencode { -exch dup where -{pop load} {pop StandardEncoding} ifelse -exch -dup 3 1 roll -findfont dup length dict begin - { 1 index /FID ne {def}{pop pop} ifelse } forall - /Encoding exch def - currentdict -end -definefont pop -} bdef - -/isroman { -findfont /CharStrings get -/Agrave known -} bdef - -/FMSR { -3 1 roll 1 index -dup isroman -{reencode} {pop pop} ifelse -exch FMS -} bdef - -/csm { - 1 dpi2point div -1 dpi2point div scale - neg translate - landscapeMode eq {90 rotate} if - } bdef - -% line types: solid, dotted, dashed, dotdash -/SO { [] 0 setdash } bdef -/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef -/DA { [6 dpi2point mul] 0 setdash } bdef -/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 dpi2point mul] 0 setdash } bdef - -% macros for lines and objects -/L { - lineto - stroke - } bdef -/MP { - 3 1 roll moveto - 1 sub {rlineto} repeat - } bdef -/AP { - {rlineto} repeat - } bdef -/PP { - closepath fill - } bdef -/DP { - closepath stroke - } bdef -/MR { - 4 -2 roll moveto - dup 0 exch rlineto - exch 0 rlineto - neg 0 exch rlineto - closepath - } bdef -/FR { - MR stroke - } bdef -/PR { - MR fill - } bdef -/L1i { - { currentfile picstr readhexstring pop } image - } bdef - -/tMatrix matrix def -/MakeOval { - newpath - tMatrix currentmatrix pop - translate scale - 0 0 1 0 360 arc - tMatrix setmatrix - } bdef -/FO { - MakeOval - stroke - } bdef -/PO { - MakeOval - fill - } bdef - -/PD { - 2 copy moveto lineto stroke - } bdef - - -currentdict end def -%%EndProlog - -%%BeginSetup -MathWorks begin - -0 cap - -end -%%EndSetup - -%%Page: 1 1 -%%BeginPageSetup -%%PageBoundingBox: 97 197 502 604 -MathWorks begin -bpage -%%EndPageSetup - -%%BeginObject: graph1 1 -bplot - -/dpi2point 12 def -portraitMode 0216 7344 csm - - 956 91 4862 4883 MR c np -76 dict begin %Colortable dictionary -/c0 { 0 0 0 sr} bdef -/c1 { 1 1 1 sr} bdef -/c2 { 1 0 0 sr} bdef -/c3 { 0 1 0 sr} bdef -/c4 { 0 0 1 sr} bdef -/c5 { 1 1 0 sr} bdef -/c6 { 1 0 1 sr} bdef -/c7 { 0 1 1 sr} bdef -%%IncludeResource: font Helvetica -/Helvetica /ISOLatin1Encoding 144 FMSR - -1 j -c1 - 0 0 6912 5185 PR -6 w -DO -4 w -c0 -1463 4613 mt 1463 388 L -1463 388 mt 1463 388 L -2308 4613 mt 2308 388 L -2308 388 mt 2308 388 L -3153 4613 mt 3153 388 L -3153 388 mt 3153 388 L -3999 4613 mt 3999 388 L -3999 388 mt 3999 388 L -4844 4613 mt 4844 388 L -4844 388 mt 4844 388 L -5689 4613 mt 5689 388 L -5689 388 mt 5689 388 L -1463 4613 mt 5689 4613 L -5689 4613 mt 5689 4613 L -1463 4191 mt 5689 4191 L -5689 4191 mt 5689 4191 L -1463 3768 mt 5689 3768 L -5689 3768 mt 5689 3768 L -1463 3346 mt 5689 3346 L -5689 3346 mt 5689 3346 L -1463 2923 mt 5689 2923 L -5689 2923 mt 5689 2923 L -1463 2501 mt 5689 2501 L -5689 2501 mt 5689 2501 L -1463 2078 mt 5689 2078 L -5689 2078 mt 5689 2078 L -1463 1655 mt 5689 1655 L -5689 1655 mt 5689 1655 L -1463 1233 mt 5689 1233 L -5689 1233 mt 5689 1233 L -1463 811 mt 5689 811 L -5689 811 mt 5689 811 L -1463 388 mt 5689 388 L -5689 388 mt 5689 388 L -1463 4613 mt 1463 388 L -1463 388 mt 5689 388 L -1463 4613 mt 1463 388 L -1463 388 mt 5689 388 L -1463 4613 mt 1463 388 L -1463 388 mt 5689 388 L -SO -6 w -1463 4613 mt 5689 4613 L -1463 388 mt 5689 388 L -5689 4613 mt 5689 388 L -1463 4613 mt 1463 388 L -5689 4613 mt 5689 4613 L -1463 4613 mt 1463 4613 L -1463 4613 mt 5689 4613 L -1463 4613 mt 1463 388 L -1463 4613 mt 1463 4613 L -1463 4613 mt 1463 4571 L -1463 388 mt 1463 430 L -1423 4782 mt -(0) s -2308 4613 mt 2308 4571 L -2308 388 mt 2308 430 L -2268 4782 mt -(2) s -3153 4613 mt 3153 4571 L -3153 388 mt 3153 430 L -3113 4782 mt -(4) s -3999 4613 mt 3999 4571 L -3999 388 mt 3999 430 L -3959 4782 mt -(6) s -4844 4613 mt 4844 4571 L -4844 388 mt 4844 430 L -4804 4782 mt -(8) s -5689 4613 mt 5689 4571 L -5689 388 mt 5689 430 L -5609 4782 mt -(10) s -1463 4613 mt 1505 4613 L -5689 4613 mt 5647 4613 L -1264 4666 mt -(-1) s -1463 4191 mt 1505 4191 L -5689 4191 mt 5647 4191 L -1144 4244 mt -(-0.8) s -1463 3768 mt 1505 3768 L -5689 3768 mt 5647 3768 L -1144 3821 mt -(-0.6) s -1463 3346 mt 1505 3346 L -5689 3346 mt 5647 3346 L -1144 3399 mt -(-0.4) s -1463 2923 mt 1505 2923 L -5689 2923 mt 5647 2923 L -1144 2976 mt -(-0.2) s -1463 2501 mt 1505 2501 L -5689 2501 mt 5647 2501 L -1348 2554 mt -(0) s -1463 2078 mt 1505 2078 L -5689 2078 mt 5647 2078 L -1228 2131 mt -(0.2) s -1463 1655 mt 1505 1655 L -5689 1655 mt 5647 1655 L -1228 1708 mt -(0.4) s -1463 1233 mt 1505 1233 L -5689 1233 mt 5647 1233 L -1228 1286 mt -(0.6) s -1463 811 mt 1505 811 L -5689 811 mt 5647 811 L -1228 864 mt -(0.8) s -1463 388 mt 1505 388 L -5689 388 mt 5647 388 L -1348 441 mt -(1) s -1463 388 mt 5689 388 L -1463 4613 mt 5689 4613 L -1463 4613 mt 1463 388 L -5689 4613 mt 5689 388 L -1463 388 mt 1463 388 L -5689 388 mt 5689 388 L -gs 1463 388 4227 4226 MR c np -42 183 43 192 42 200 42 206 42 210 43 211 42 210 42 208 -42 204 43 196 42 188 42 177 42 165 43 151 42 135 42 119 -42 100 43 82 42 61 42 42 42 20 43 -1 42 -22 42 -43 -42 -63 43 -83 42 -102 42 -120 43 -137 42 -152 42 -166 42 -178 -43 -188 42 -197 42 -204 42 -208 43 -211 42 -211 42 -209 42 -206 -43 -199 42 -192 42 -182 42 -170 43 -157 42 -142 42 -126 42 -108 -43 -89 42 -70 42 -50 43 -29 42 -8 42 13 42 34 43 55 -42 75 42 94 42 113 43 130 42 146 42 160 42 173 43 185 -42 193 42 202 42 206 43 210 42 211 42 211 42 207 43 202 -42 195 42 186 42 176 43 162 42 149 42 132 43 116 42 97 -42 79 42 58 43 37 42 17 42 -4 42 -26 43 -46 42 -67 -42 -86 42 -105 43 -123 42 -139 42 -155 42 -168 43 -180 42 -190 -42 -198 42 -205 43 -209 1505 2290 100 MP stroke -42 -211 1463 2501 2 MP stroke -42 -106 43 -87 42 -67 42 -48 42 -26 43 -5 42 15 42 37 -42 57 43 78 42 96 42 115 42 132 43 148 42 162 42 175 -42 185 43 195 42 202 42 207 42 210 43 211 42 211 42 206 -42 202 43 194 42 185 42 174 43 161 42 146 42 131 42 113 -43 95 42 76 42 56 42 35 43 14 42 -7 42 -28 42 -49 -43 -69 42 -89 42 -107 42 -125 43 -141 42 -157 42 -169 42 -182 -43 -191 42 -199 42 -205 43 -210 42 -211 42 -210 42 -209 43 -204 -42 -197 42 -189 42 -179 43 -166 42 -153 42 -137 42 -121 43 -103 -42 -84 42 -64 42 -44 43 -22 42 -2 42 19 42 40 43 61 -42 81 42 99 42 118 43 135 42 150 42 164 43 177 42 187 -42 197 42 203 43 207 42 211 42 211 42 210 43 206 42 200 -42 193 42 183 43 172 42 158 42 144 42 128 43 110 42 92 -42 73 42 52 43 31 1505 399 100 MP stroke -42 11 1463 388 2 MP stroke - -gr -3194 4942 mt -(\\tex[t][t]{$t$}) s -1090 3419 mt -90 rotate -(\\tex[B][B]{$\\sin\(t\)$, $\\cos\(t\)$}) s -90 rotate -2314 273 mt -(\\tex[B][B]{Plot of $\\sin\(t\)$ and $\\cos\(t\)$}) s -2689 2048 mt -(p1) s -3956 3343 mt -(p2) s -5224 1495 mt -(p2) s -3486 2178 mt -78 rotate -(p3) s -78 rotate - -end - -eplot -%%EndObject graph 1 - -epage -end - -showpage - -%%Trailer -%%EOF diff --git a/Master/texmf-dist/source/eplain/base/test/filexist.tex b/Master/texmf-dist/source/eplain/base/test/filexist.tex deleted file mode 100644 index e80485577a5..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/filexist.tex +++ /dev/null @@ -1,22 +0,0 @@ -% This file is public domain. -% -% Test \testfileexistence. -% -\ifx\undefined\eplain \input eplain\fi - -\testfileexistence{tex} -\iffileexists \else - \message{\jobname.tex does not exist, but it should.} -\fi - -\testfileexistence[README]{} -\iffileexists \else - \message{README does not exist, but it should.} -\fi - -\testfileexistence[foo]{bar} -\iffileexists - \message{foo.bar exists, but it shouldn't.} -\fi - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/flynn.tex b/Master/texmf-dist/source/eplain/base/test/flynn.tex deleted file mode 100644 index d5efea792cd..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/flynn.tex +++ /dev/null @@ -1,7 +0,0 @@ -% This file is public domain. -% -\input eplain -\loggingall -\xrdef{foo} -\xrdef{bar} -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/footnote.tex b/Master/texmf-dist/source/eplain/base/test/footnote.tex deleted file mode 100644 index de30cc89de4..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/footnote.tex +++ /dev/null @@ -1,88 +0,0 @@ -% This file is public domain. -% -\input eplain - -This is some text\numberedfootnote{And this is the first footnote.} and -now some more text\numberedfootnote{The second.} and -finally\numberedfootnote{the third} some -more.\numberedfootnote{The fourth.} And again. - -\footnotenumber = 0 - -\leftskip = 1in -Let's do another, this one should be numbered one -again\numberedfootnote{OK, here it is, numbered one}. This paragraph -ends up being indented by one inch. But this time the -footnote\numberedfootnote{This one should be like the others.} shouldn't be -indented. - -\footnotemarkseparation = .16666em - -\numberedlist -\li This is the first item in a list, and it has a -footnote\numberedfootnote{See? With a separation less than the others, too}. - -This is the second paragraph of the first item, and it has -one\numberedfootnote{This is in the second paragraph.} too. -\endnumberedlist - -\leftskip = 0pt -Now let's redefine the footnote command. -\let\footnote = \numberedfootnote - -\everyfootnote = {\it\leftskip=1in}% - -And do one\footnote{This is it, should be indented by one inch and in -italics.} footnote with that, which should also end up indented. - -\font\small = cmr7 -\everyfootnote = {\small \baselineskip = 7pt } -Another paragraph\footnote{With a footnote in a smaller font, but make -it more than one line long so we can see if the baselineskip change -worked or not. Because it's a small font, it has to go on for ages, -simply ages.\par}. - -\vfill\eject - -% Test the \footnoterule parameters. -% -\footnoterulewidth = 6in -\footnoteruleheight = 4pt -\belowfootnoterulespace = 6pt - -New page\footnote{This footnote should have a 4pt rule above it which 6 inches -wide and has 6 points of space below it.} to test the footnote rule -parameters. - -\vfill\eject - -\everyfootnote = {\bf} -\interfootnoteskip = 8pt -\footnoteruleheight = 0pt -\belowfootnoterulespace = 0pt -\skip\footins = 12pt - -Some more\footnote{In bold, indented by the usual parindent, with no -extra space between it and the rule; in fact, no rule.} footnotes so we can -test\footnote{In bold, with 8pt extra space above it.} -interfootnoteskip. - -The big blank space following this will force a long footnote to be -broken across pages. - -\vglue 41pc plus 1filll - -This is the last line on the page\footnote{And this is the last -footnote; it should be like the last one. We are making this -footnote pretty long, so that it won't all fit on one page. I hope that -\TeX\ will break it across pages, so we see if the new footnote -formatting parameters still work in that case. Oh, boy, I can see we -should make this footnote really long; much longer than I can make up -garbage sentences like this for. Well, maybe not. I can be pretty -verbose when I have to be. I suppose anyone can. Did you notice I'm -inconsistent about leaving one space or two after sentence-ending -periods? Punctuation, really.}, and it should have 12pt -(which is the footins skip) between it and the rule\footnote{I lied; -{\it this} is the last footnote}. - -\end diff --git a/Master/texmf-dist/source/eplain/base/test/frac.tex b/Master/texmf-dist/source/eplain/base/test/frac.tex deleted file mode 100644 index f4f4cd565ab..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/frac.tex +++ /dev/null @@ -1,24 +0,0 @@ -% This file is public domain. -% -\input eplain - -\obeylines % -This is \frac 1/2 cup. -This is \frac 2/3 cup. -This is \frac 3/4 cup. -This is \frac 5/6 cup. -This is \frac 6/7 cup. -This is \frac 7/8 cup. -This is \frac 8/9 cup. -This is \frac 9/{10} cup. -This is \frac 10/{11} cup. - -\end - - - - - - - - diff --git a/Master/texmf-dist/source/eplain/base/test/gcol.tex b/Master/texmf-dist/source/eplain/base/test/gcol.tex deleted file mode 100644 index e44455ce0e7..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/gcol.tex +++ /dev/null @@ -1,218 +0,0 @@ -% This file is public domain. -% -%Date: Thu, 16 May 91 14:59 PDT -%From: David Guichard <GUICHARD%WHITMAN.BITNET@CORNELLC.cit.cornell.edu> -%Subject: Re: eplain -%To: karl@cs -% -%Karl-- -% -%Here are my multi-column macros and a rewrite of the double columns section -%of eplain.texinfo. I included a \quadcolumns because this seems potentially -%useful on landscape pages. -% -%I ran into a couple of problems/bugs/features of the original macros that I -%think I've fixed. -% -%First, if I started double columns and then returned to single column before -%the output routine was invoked, but there was too much text in the columns to -%fit on the current page, then all of the text was put on the next page, leaving -%lots of blank space on the first page. I think I've fixed this by changing how -%\vsize is defined. -% -%Next, unless I'm doing something screwy, it looks to me like eplain goofs up on -%footnotes and topinserts issued in multicolumn mode. I think I've got things -%changed around so they work. -% -%I also discovered that the "\vskip\interfootnoteskip" in the vfootnote macro -%will produce a parskip even if the interfootnoteskip is 0---was this -%intentional? If not, perhaps you'd like to add \parskip=0pt to vfootnote. -%(I have already added it to the modified vfootnote in the columns macro). - -\newskip\abovecolumnskip \abovecolumnskip = \bigskipamount -\newskip\belowcolumnskip \belowcolumnskip = \bigskipamount -\newdimen\gutter \gutter = 2pc -\newdimen\c@lumnhsize -\newtoks\previousoutput -\newcount\number@fcolumns -\newbox\@partialpage -\newdimen\singlec@lumnhsize -\newdimen\singlec@lumnvsize -\newtoks\previousoutput -\let\@ndcolumns=\relax -% -% We have a few synonymous ways to refer to multiple column modes. -% -\def\doublecolumns{\@columns2} -\def\triplecolumns{\@columns3} -\def\quadcolumns{\@columns4} -\def\begincolumns#1{\ifcase#1\relax \or \singlecolumn \or \@columns2 \or% - \@columns3 \or \@columns4 \else \relax \fi} -\def\singlecolumn{\@ndcolumns\vskip\belowcolumnskip\nointerlineskip} -\let\endcolumns=\singlecolumn -% -\def\@columns#1{% - \@ndcolumns% - \begingroup -% -% We redefine the main footnote macro so footnotes will extend across -% the whole page, not just the width of a column. Likewise for @ins, -% the insertion macro. -% - \def\vfootnote##1{\insert\footins\bgroup\hsize=\singlec@lumnhsize - \interlinepenalty\interfootnotelinepenalty - \splittopskip\ht\strutbox % top baseline for broken footnotes - \advance\splittopskip by \interfootnoteskip - \splitmaxdepth\dp\strutbox - \floatingpenalty\@MM - \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip - \everypar = {}% - \parskip0pt - \the\everyfootnote - \vskip\interfootnoteskip - \indent\llap{##1\kern\footnotemarkseparation}\footstrut\futurelet\next\fo@t} - % - \def\@ins{\par\begingroup\setbox\z@\vbox\bgroup\hsize=\singlec@lumnhsize} - \global\let\@ndcolumns=\@@endcolumns - \global\number@fcolumns=#1 - \global\c@lumnhsize = \hsize % If \hsize changed, get the new value. - \par % Shouldn't start in horizontal mode. - \global\previousoutput = \expandafter{\the\output}% - \global\advance\c@lumnhsize by -#1\gutter - \global\divide\c@lumnhsize by #1 - \global\output = {% - \global\setbox\@partialpage = - \vbox{\unvbox255\vskip\abovecolumnskip}% - }% - \pagegoal = \pagetotal - \eject % Now expand the \output just above. - \global\output = {\c@lumnoutput}% - \global\singlec@lumnhsize = \hsize - \global\singlec@lumnvsize = \vsize - \hsize = \c@lumnhsize -% -% Compute the proper vsize based on what's already on the page -% and the number of columns. Also change the mag factor for insertions. -% - \global\advance\vsize by -\ht\@partialpage - \global\advance\vsize by -\ht\footins - \ifvoid\footins\else \global\advance\vsize by -\skip\footins \fi - \global\advance\vsize by -\ht\topins - \ifvoid\topins\else \global\advance\vsize by -\skip\topins \fi - \global\vsize = #1\vsize - \multiply\count\footins by #1 \multiply\count\topins by #1 -}% -% -% When this is invoked box 255 should contain just the right amount of -% material, whether triggered by an output routine or a change in the -% number of columns. Because columns have to contain a whole number of -% lines of type, we take a bit of care with balancing the heights of the -% columns to prevent either losing material or having a very short last -% column. -% -% Note: when a page ends due to \bye or \eject, box 255 will contain lotsa -% white space, so the columns will not look balanced. To fix this use -% \singlecolumn before ending the page. -% -\def\@columnsplit{% - \splittopskip = \topskip - \splitmaxdepth = \baselineskip - \dimen0 = \ht255 - \divide\dimen0 by \number@fcolumns - \begingroup % the balancing act - \vbadness = 10000 \loop \setbox8=\copy255 - \global\setbox1 = \vsplit8 to \dimen0 \global\wd1 = \hsize - \global\setbox3 = \vsplit8 to \dimen0 \global\wd3 = \hsize - \ifnum\number@fcolumns>2% - \global\setbox5 = \vsplit8 to \dimen0 - \global\wd5 = \hsize \fi - \ifnum\number@fcolumns>3% - \global\setbox7 = \vsplit8 to \dimen0 - \global\wd7 = \hsize \fi - \ifdim\ht8>0pt \advance\dimen0 by 1pt \repeat - \endgroup - \global\setbox255 = \vbox{% - \unvbox\@partialpage - \ifcase\number@fcolumns \relax\or\relax\or% - \hbox to \singlec@lumnhsize{\box1\hfil\box3}\or% - \hbox to\singlec@lumnhsize{\box1\hfil\box3\hfil\box5}\or% - \hbox to\singlec@lumnhsize{\box1\hfil\box3\hfil\box5\hfil\box7}\or% - \else\relax\fi% - }% -}% -\def\c@lumnoutput{% - \@columnsplit - \hsize = \singlec@lumnhsize % Local to the \output group. - \vsize = \singlec@lumnvsize - \the\previousoutput -% -% Now the correct vsize is the original vsize times the -% number of columns. -% - \global\vsize=\number@fcolumns\singlec@lumnvsize -}% -\def\@@endcolumns{% - \global\let\@ndcolumns=\relax% - \par % Shouldn't start in horizontal mode. - \global\output = {\global\setbox1 = \box255}% - \pagegoal = \pagetotal - \eject - \global\setbox255 = \box1 - \@columnsplit - \global\vsize = \singlec@lumnvsize - \global\output = \expandafter{\the\previousoutput}% - \endgroup - \ifvoid\topins\else\topinsert\unvbox\topins\endinsert\fi - \unvbox255 -}% - -\endinput - -@node Multiple columns, Footnotes, Margins, User definitions -@section Multiple columns - -@cindex double column output -@cindex triple column output -@cindex quadruple column output -@cindex multiple column output - Eplain provides for double, triple and quadruple -column output: you just say -@code{\doublecolumns}, -@findex doublecolumns -@code{\triplecolumns} -@findex triplecolumns -or @code{\quadcolumns} -@findex quadcolumns -and from that point on, the manuscript will be -set in columns. If you want to go back to one column, say -@code{\singlecolumn}. -@findex singlecolumn - - The columns macros insert the value of the glue parameter -@code{\abovecolumnskip} -@findex abovecolumnskip -before the multi-column text, and the value of the glue parameter -@code{\belowcolumnskip} -@findex belowcolumnskip -after it. The default value for both of these parameters is -@code{\bigskipamount}, i.e., one linespace. - - The columns are separated by the value of the dimen parameter -@code{\gutter}. -@findex gutter -The default value for @code{\gutter} is two picas. - - The macros take into account only the insertion classes -@cindex insertion classes -defined by plain @TeX{}, namely, footnotes and @code{\topinsert}s. If -you have defined additional insertion classes, you will need to change -the macros which implement multi-column mode. Furthermore, the insertions -do not respect the column widths; if you want them to, you have to -change the way your output routine works. (Eplain uses whatever the -current output routine is; it is not tied to @code{\plainoutput}.) -@findex plainoutput - -@xx: \columnfill -@xx: \singlecolumn to balance columns -@xx: footnote/topinsert width of whole page -@xx: \vfootnote resets \parskip diff --git a/Master/texmf-dist/source/eplain/base/test/hlcite.tex b/Master/texmf-dist/source/eplain/base/test/hlcite.tex deleted file mode 100644 index ec27c4e8fbe..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/hlcite.tex +++ /dev/null @@ -1,55 +0,0 @@ -\input ../eplain -%\enablehyperlinks[nolinks] -%\enablehyperlinks[pdftex] -%\enablehyperlinks[dvipdfm] -\enablehyperlinks - -\ifpdf - \pdfpagewidth=8.5in - \pdfpageheight=11in -\fi - -\beginpackages - \usepackage{color} -\endpackages - -\hldestopts[bib]{raise=\ht\strutbox} -\hlopts![cite]{bstyle=U} - - -% Bibliography in front of the text. - -%\beginsection{References.}\par % Title for the bibliography. -%\bibliography{knuth,xampl} % Use knuth.bib (from Eplain) and xampl.bib - % (from BibTeX) for the labels. -%\bibliographystyle{plain} -%\vfil\eject - - -Two citations to Knuthian works: - \cite[note]{surreal,concrete-math}. - - -\vfil\eject -Three citations: - \cite[note]{surreal,article-crossref,whole-journal}. - -One citation: - \cite{article-crossref}. - - -% Bibliography after the text. - -\vfil\eject -\beginsection{References.}\par % Title for the bibliography. -\bibliography{knuth,xampl} % Use knuth.bib (from Eplain) and xampl.bib - % (from BibTeX) for the labels. -\bibliographystyle{plain} - - -\bye - -% Local variables: -% compile-command: "rm -f hlcite.aux hlcite.bbl && tex --interact=nonstopmode hlcite && bibtex hlcite && tex --interact=nonstopmode hlcite && tex --interact=nonstopmode hlcite && dvipdfm -p letter hlcite" -% compile-command: "rm -f hlcite.aux hlcite.bbl && pdftex --interact=nonstopmode hlcite && bibtex hlcite && pdftex --interact=nonstopmode hlcite && pdftex --interact=nonstopmode hlcite" -% End: diff --git a/Master/texmf-dist/source/eplain/base/test/hlfoot.tex b/Master/texmf-dist/source/eplain/base/test/hlfoot.tex deleted file mode 100644 index 01fae52386b..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/hlfoot.tex +++ /dev/null @@ -1,47 +0,0 @@ -\input ../eplain -%\enablehyperlinks[nolinks] -%\enablehyperlinks[pdftex] -%\enablehyperlinks[dvipdfm] -\enablehyperlinks - -\ifpdf - \pdfpagewidth=8.5in - \pdfpageheight=11in -\fi - -\beginpackages - \usepackage{color} -\endpackages - -% Set \normalbaselineskip for the sake of \hldestfootraise -\everyfootnote = {\sevenrm \normalbaselineskip=9pt \normalbaselines} - -\hlopts![foot]{bstyle=U} -\hldesttype[foot]{fitbh} -\hlopts![footback]{bstyle=D,bdash=1 4} -\hldesttype[footback]{fith} - - -This\numberedfootnote{Footnote to `This'.} is a -sentence\footnote*{Footnote to `sentence'.} with -footnotes\footnote{**}{Footnote to `footnotes'.}. - -\medskip -Now we say -\verbatim\let\footnote=\numberedfootnote|endverbatim -\let\footnote=\numberedfootnote\ and look what we get: - -This\footnote{Another footnote to `This'.} is another -sentence\footnote{Another footnote to `sentence'.} with -footnotes\footnote{Another footnote to `footnotes'.}. - -\vfil\eject -Second page. - - -\bye - -% Local variables: -% compile-command: "tex --interact=nonstopmode hlfoot.tex && dvipdfm -p letter hlfoot.dvi" -% compile-command: "pdftex --interact=nonstopmode hlfoot.tex" -% End: diff --git a/Master/texmf-dist/source/eplain/base/test/hlidx.mst b/Master/texmf-dist/source/eplain/base/test/hlidx.mst deleted file mode 100644 index 1f0813b806b..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/hlidx.mst +++ /dev/null @@ -1,2 +0,0 @@ -delim_n "; " -delim_r "\\thinspace--\\allowbreak\\thinspace " diff --git a/Master/texmf-dist/source/eplain/base/test/hlidx.tex b/Master/texmf-dist/source/eplain/base/test/hlidx.tex deleted file mode 100644 index 2d177a9c6d2..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/hlidx.tex +++ /dev/null @@ -1,138 +0,0 @@ -\input ../eplain - -% If you uncomment the optional arg, index hyperlinks will point to exact -% locations of terms, but MakeIndex will regard _all_ index entries as distinct. -% This can be partially cured by piping hlidx.idx through `util/idxuniq' script -% before feeding it to MakeIndex (see the first compile-command at the end of -% this file). -\enablehyperlinks%[idxexact] -%\enablehyperlinks[nolinks] -%\enablehyperlinks[pdftex] -%\enablehyperlinks[dvipdfm] - -\ifpdf - \pdfpagewidth=8.5in - \pdfpageheight=11in -\fi - -\beginpackages - \usepackage{color} -\endpackages - -\headline={\hrulefill} - -% Try to redefine the delimiters. -\setidxpagelistdelimiter{; } -\setidxpagerangedelimiter{\thinspace--\allowbreak\thinspace} - -% Underline and italisize a page number / page range, taking care not to -% underline `--' in page range like `1--3'. -% -% Note that this definition is not enough if you don't use hyperlinks in index -% (i.e., if you pass `idxnone' to \enablehyperlinks). Then page lists -% like `1, 2' are not broken up by \hlidxpage, and the entire list may -% be passed, which will be be italicized and underlined without being -% split up. You can see the effect by commenting out -% \enablehyperlinks above. In that case, you will have to do a more -% sophisticated parsing using both \idxparserange and \idxparselist -% (like in \@hlidxgetpages). -\def\ituline#1{% - {\it - \idxparserange{#1}% - \ifx\idxpagei\empty - \underbar{#1}% - \else - \underbar{\idxpagei}\idxpagerangedelimiter\underbar{\idxpageii}% - \fi}% -} - - -\count0=-1 - -% i -\topglue12pt -% \indent is needed to place hyperlink destination at the beginning of the first -% line of the paragraph instead of vertical mode above the paragraph. -\indent -\sidx[pagemarkup=ituline]{truth}[definition of] -Definition of truth, page~i. - -Another -\sidx[pagemarkup=ituline]{truth}[definition of] -definition of truth on page~i. -\vfil\eject - -% ii -\topglue24pt -\indent -\sidx[pagemarkup=ituline]{truth}[definition of] -Definition of truth, page~ii. -\vfil\eject - -% iii -No index entries, page~iii. -\vfil\eject - -\count0=1 - -% 1 -\topglue36pt -\indent -\sidx[pagemarkup=ituline]{truth}[definition of] -Definition of truth, page~1. -\vfil\eject - -% 2 -\topglue24pt -Beginning of -\sidx[begin,pagemarkup=ituline]{truth}[definition of] -definition of truth, page~2. -\vfil\eject - -% 3 -\indent -\sidx[pagemarkup=ituline]{truth}[definition of] -Definition of truth that comes whithin an explicit range, page~3. -\vfil\eject - -% 4 -End of -\sidx[end]{truth}[definition of] -definition of truth, page~4. -\vfil\eject - -% 5 -\indent\idxname{Adrien-Marie}{Legendre} (September~18, 1752~-- January~10, 1833) -was a French mathematician. - -Legendre integrals -\sidx{Legendre\idxnameseparator Adrien-Marie!functions!F(k, phi), E(k, -phi)@$F(k,\varphi)$, $E(k,\varphi)$} -$F(k,\varphi)$ and $E(k,\varphi)$ are called {\it complete\/} when -$\varphi=\pi/2$, in which case they are denoted by -\sidx[pagemarkup=ituline]{Legendre\idxnameseparator Adrien-Marie!functions!K(k), -E(k)@${\bf K}(k)$, ${\bf E}(k)$} -${\bf K}(k)$ and ${\bf E}(k)$. - -\indent -\sidx{semantic theory of truth@\leavevmode\hldest{}{}{idx:TSTT}semantic theory of truth} -Semantic theory of truth was developed by Polish logician Alfred Tarski in the -1930s. - - -\sidx[seealso]{truth}[definition of]{\hlstart{}{}{idx:TSTT}semantic theory of -truth\hlend} - - -{\baselineskip=36pt -\noindent\bf Index\par} - -\hookaction{beginindex}{\singlecolumn} -\readindexfile{i} - -\bye - -% Local variables: -% compile-command: "(cd .. && make eplain.tex) && rm -f hlidx.aux hlidx.ind hlidx.idx && tex --interact=nonstopmode hlidx && cat hlidx.idx | ../util/idxuniq | makeindex -s hlidx.mst > hlidx.ind && tex --interact=nonstopmode hlidx && dvipdfm -p letter hlidx.dvi" -% compile-command: "(cd .. && make eplain.tex) && rm -f hlidx.aux hlidx.ind hlidx.idx && pdftex --interact=nonstopmode hlidx && makeindex -s hlidx.mst hlidx && pdftex --interact=nonstopmode hlidx" -% End: diff --git a/Master/texmf-dist/source/eplain/base/test/hlink.tex b/Master/texmf-dist/source/eplain/base/test/hlink.tex deleted file mode 100644 index 939a552ad3c..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/hlink.tex +++ /dev/null @@ -1,144 +0,0 @@ -\input ../eplain -%\enablehyperlinks[nolinks] -%\enablehyperlinks[pdftex] -%\enablehyperlinks[dvipdfm] -\enablehyperlinks - -\beginpackages -\usepackage[dvipsnames]{color} -\endpackages - -\ifpdf - \pdfpagewidth=8.5in - \pdfpageheight=11in -\fi - -\def\sectionword{Section}% -\newcount\sectioncount -\def\beginsection#1\par{% - \par - \advance\sectioncount by1 - {\normalbaselineskip=3pc \normalbaselines - \noindent\definexref{sec\the\sectioncount}{\the\sectioncount}{section}% - {\bf Section~\the\sectioncount} #1\par} -}% - -\def\deriv#1/#2{{{d#1}\over d#2}}% -\def\vec#1#2{#1_1,#1_2,\ldots,#1_{#2}}% -\def\cdotfill{\cleaders\hbox to 1em{\hss$\cdot$\hss}\hfill}% - -% Set defaults for hyperlink options. -\hlopts{bstyle=U}% underlined border -\hlopts{bwidth=2}% -% Make \xrdef destinations make pages fit in the screen. -\hldesttype[xrdef]{fit}% fit page -% Set hyperlink options for various kinds of hyperlinks. -\hlopts![ref]{bstyle=D,bdash=3,hlight=I}% dash border, invert box hlight -\hlopts[ref]{bcolor=1 0 0,bwidth=1}% add options to the current list -\hlopts![eq]{bcolor=0 1 0,hlight=O}% invert border hlight -\hlopts![xref]{bstyle=I,bcolor=0 0 1,hlight=P,bwidth=4}% inset border, inset hlight - - -Ordered list: -\numberedlist -\li[li1] Item 1 -\li[li2] \xrdef{li2:pg}Item 2 - \numberedlist - \li[li2.a] subitem 2.a - \li[li2.b] subitem 2.b - \endnumberedlist -\li Item 3 -\endnumberedlist - -Reference to \ref{li1}. Reference to {\let\reftie.\refn[item~\refn{li2}]{li2.b}}. - -\vskip\abovelistskipamount -Unordered list: -\unorderedlist -\li[uli1] Item 1 -\li Item 2 - \unorderedlist - \li[uli2.a] subitem 2.a - \li subitem 2.b - \endunorderedlist -\endunorderedlist - -Refereneces to \ref[\sevenrm\lbrack dvipdfm will not make the \blackbox\ part of -the link\rbrack]{uli1} and~\refn{uli2.a}. - - -\beginsection \xrdef{sec1:pg} - -Reference to \ref{sec1} and forward reference to \ref{sec2}. - - - -\beginsection - -References to \refs{sec1} and~\refn{sec2}. - -\indent\ref{sec3} will start on \xref{sec3:pg}. -$$\|A\| = \sup_{x\ne0} { \|Ax\| \over \|x\| }. \eqdef{eq1}$$ -Reference to \eqref{eq1}. -$$\|A\| \ge {\|Ax\| \over \|x\|}. \eqsubdef{}$$ -Reference to \eqref[subequation]{}. -$$\|Ax\| \le \|A\| \cdot \|x\|. \eqsubdef{subeq1.2}$$ -Reference to \eqref[subequation]{subeq1.2}. One more reference to -\eqref[subequation]{}. - -\vfil\eject - - - -Forward reference to \eqref[equation]{subeq2.1}. -$$\openup\jot -\eqalignno{\eqdefn{eq2}% fake definition for \eqsubdef's to work - \deriv x/t &= 3x-2y,&\eqsubdef{subeq2.1}\cr - \deriv y/t &= 2x-y.&\eqsubdef{subeq2.2}\cr -}$$ -References to equations \eqref{eq2}, \eqref{subeq2.1} and~\eqref{subeq2.2}. - -$$\hldestopts[eq]{raise=4.5\normalbaselineskip} -\openup\jot -\left.\,\eqalign{ - \deriv x_1/t &= f_1(t,\vec xn),\cr - \deriv x_2/t &= f_2(t,\vec xn),\cr - \omit\span\omit\strut\cdotfill\cr - \deriv x_n/t &= f_n(t,\vec xn).\cr -}\,\right\}\eqdef{eq3}$$ -Another notation for the \eqref[system]{eq3}: -$$\deriv x_i/t=f_i(t,\vec xn)\quad -(i=1,2,\ldots,n).\eqdef[\hbox{$\eqrefn{eq3}^*$}]{}$$ -Reference to \eqref[system]{}. - -Subequations in \verbatim\displaylines|endverbatim: -$$\openup\jot -\displaylines{ - \eqsubdefn{eq3*.1} - \hfill\deriv x_2/t=f_2(t,\vec xn),\hfill\llap{\eqsubdef{eq3*.2}}\cr - \hfill\deriv x_3/t=f_3(t,\vec xn).\hfill\llap{\eqsubdef{eq3*.3}}\cr -}$$ -References to \eqref{eq3*.1}, \eqref{eq3*.2} and~\eqref{eq3*.3}. - -\hloff[eq,] -One more reference to \eqref[system]{}. -\hlon -And one more reference to \eqref[system]{}. - -\beginsection \xrdef{sec3:pg} - -\definecolor{mycolor}{rgb}{0,0,1} -\hlopts{colormodel=,color=mycolor} - -Reference to \ref[item]{li2} on {\hloff\xref{li2:pg}}. - -\indent\ref{sec1} started on {\def\xrefpageword{page~}\xref[title]{sec1:pg}}. - - - -\bye - -% Local variables: -% compile-command: "(cd .. && make eplain.tex) && rm -f hlink.aux && tex --interact=nonstopmode hlink.tex && tex --interact=nonstopmode hlink.tex && dvipdfm -p letter hlink.dvi" -% compile-command: "(cd .. && make eplain.tex) && rm -f hlink.aux && pdftex --interact=nonstopmode hlink.tex && pdftex --interact=nonstopmode hlink.tex" -% End: diff --git a/Master/texmf-dist/source/eplain/base/test/ian.tex b/Master/texmf-dist/source/eplain/base/test/ian.tex deleted file mode 100644 index 95c254c6546..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/ian.tex +++ /dev/null @@ -1,28 +0,0 @@ -% This file is public domain. -% -\input eplain - -\vsize 10cm \hsize 7cm - -Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah -blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah -blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah -blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. - -\doublecolumns - -Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah -blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah -blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah -blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah -blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah -blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah -blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah -blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah -blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. - -\singlecolumn - -Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. - -\end diff --git a/Master/texmf-dist/source/eplain/base/test/index.tex b/Master/texmf-dist/source/eplain/base/test/index.tex deleted file mode 100644 index 0a039dec9c2..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/index.tex +++ /dev/null @@ -1,36 +0,0 @@ -% This file is public domain. -% -\input eplain - -\indexproofingtrue -\hsize = 5in - -\def\defn#1{{\sl #1\/}} -\def\title#1{{\it #1\/}} - -\idx{term} -\idxname{K. Elizabeth}{Tachikawa} -\idxmarked\title{Strange Angels} -\idxsubmarked{Anderson, Laurie}\defn{Strange Angels} -\idx[begin]{range} starts. -\sidx[begin]{home} - -\vfill\eject - -\sidx[pagemarkup=defn]{truth} -\sidxname{Megan Anne}{Haney} - -\sidx[end]{home} -\idx[end]{range} ends. - -\sidx[see]{beauty}[truthful]{Anderson, Laurie} -\sidxmarked[seealso]\defn{Strange Angels}{\defn{Home of the Brave}} - - -\leftline{\bf Index} - -\def\idxpreface{These words precede the index.} - -\readindexfile{i} - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/jan.tex b/Master/texmf-dist/source/eplain/base/test/jan.tex deleted file mode 100644 index b94ab34556f..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/jan.tex +++ /dev/null @@ -1,15 +0,0 @@ -% This file is public domain. -% -\input eplain - -This gives \eqdefn{aa} -$$1+2,\eqsubdef{op}$$ -and -$$1+3.\eqsubdef{pp}$$ -And \eqref{aa} and \eqref{op} and \eqref{pp}. -\bye - -From: deleeuw@laplace.sscnet.ucla.edu (Jan Deleeuw) -Subject: batch mode -To: karl@cs.umb.edu -Date: Mon, 7 Jun 1993 20:26:22 -0700 (PDT) diff --git a/Master/texmf-dist/source/eplain/base/test/justify.tex b/Master/texmf-dist/source/eplain/base/test/justify.tex deleted file mode 100644 index 232a6915064..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/justify.tex +++ /dev/null @@ -1,106 +0,0 @@ -% This file is public domain. -% -\input eplain - -{\center foo -bar -} - -% Changing \parfillskip is OK, since the macros reset it. -%\parfillskip = .75\hsize plus .06\hsize minus .75\hsize -\loggingall - -Pre-text. These should be flush left: -{\flushleft -Here are a few -lines that we are -\vadjust{\bigskip}going to take {\it literally}. (with vadjusted space now) -And a couple more -of them.} - -Now we're back to normal. -Now we're back to normal. -Now we're back to normal. -Pre-text. These should be flush right: - -{\it \flushright -Here are a few italic -lines that we are -\vadjust{\bigskip}going to take literally. -And a couple more -of {\bf them.} - -In fact, let's do two paragraphs, -this is so much fun. No, let's make it three. - - For Dan - ---{\bf k.b.} -} - -Now we're back to normal. -Now we're back to normal. -Now we're back to normal. -These should be centered. - -{\center -Here are a few -lines that we are -\vadjust{\bigskip}going to take literally. -And a couple more -of them.} - -Some centered paragraphs: -{\center - Here is the first paragraph. - - Here is the second. - - Here is the third. -} - -Now we're back to normal. -Now we're back to normal. -Now we're back to normal. -These should be flush left again (two groups): - -{\flushleft - Here is the first paragraph. - - Here is the second. -} - -\blanklineskipamount = -.8\baselineskip -{\flushleft - Here is the first paragraph. - - Here is the second. - - Here is the third -} - -We changed the amount of space between the paragraphs in the second -group so it was less than a full blank line. Did you notice? - -\scrollmode - -{\message{Now comes a mysterious error.} \center on first line---what happens? -centered -} - -\def\title{\begingroup\center} -\def\endtitle{\endgroup} - -\title -this should be centered -by virtue of a macro -\endtitle - -Back to normal. - -{\center -centered -\message{Now there should be an error:}% -\flushleft % error -} - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/knuth.bib b/Master/texmf-dist/source/eplain/base/test/knuth.bib deleted file mode 100644 index abdf6ddecfa..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/knuth.bib +++ /dev/null @@ -1,17 +0,0 @@ -% This file is public domain. - -@book{surreal, - author = "Donald E. Knuth", - title = "Surreal Numbers", - year = 1974, - publisher = "Addison-Wesley", - address = "Reading, Massachusetts" -} - -@book{concrete-math, - author = "Ronald L. Graham and Donald E. Knuth and Oren Patashnik", - title = "Concrete Mathematics", - year = 1989, - publisher = "Addison-Wesley", - address = "Reading, Massachusetts" -} diff --git a/Master/texmf-dist/source/eplain/base/test/label.tex b/Master/texmf-dist/source/eplain/base/test/label.tex deleted file mode 100644 index 348a7541711..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/label.tex +++ /dev/null @@ -1,8 +0,0 @@ -% This file is public domain. -% -\ifx\undefined \eplain \input eplain \fi - -\xrdef{a1@$^ ~&_} -\xref{a1@$^ ~&_} - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/latexcite.tex b/Master/texmf-dist/source/eplain/base/test/latexcite.tex deleted file mode 100644 index 5ad031aa1a6..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/latexcite.tex +++ /dev/null @@ -1,9 +0,0 @@ -% This file is public domain. -% -\documentstyle{article} -\begin{document} -\cite{chicago,texbook,prime-number-theorem,1234567890)(@!`['";:]|<>./?-=+_$^&} -\cite{others,accented} -\bibliographystyle{plain} -\bibliography{cite} -\end{document} diff --git a/Master/texmf-dist/source/eplain/base/test/liang.tex b/Master/texmf-dist/source/eplain/base/test/liang.tex deleted file mode 100644 index 975fa83d020..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/liang.tex +++ /dev/null @@ -1,300 +0,0 @@ -% This file is public domain. -% -% Test double columns with headlines, single-column material, and a -% \topinsert. -\ifx\undefined\eplain \input eplain \fi -%\catcode`@=11 -%\input gcol -%\catcode`@=12 -\magnification=\magstep1 -\parskip=10pt -\gutter = 1pc -\hyphenation{pour-ed} - -\headline = {This is the headline \hfil} - -{\center - A test file for eplain - Karl\footnote\dag{Credit in a footnote.} -} - -\topinsert -This should appear at the top of the page, since it's a topinsert. -\endinsert - -Here the main document starts. It should be in double columns until -further notice. It's all one paragraph. I am going to use Wuthering -Heights, as usual. - -With that concluding word, the whole assembly, -exalting their pilgrim's staves, rushed round me in a body; and I, -having no weapon to raise in self-defence, commenced grappling with -Joseph, my nearest and most ferocious assailant, for his. In the -confluence of the multitude several clubs crossed; blows aimed at me -fell on other sconces. Presently the whole chapel resounded with -rappings and counter-rappings. - -Every man's hand was against his -neighbour; and Branderham, unwilling to remain idle, pour\-ed forth his -zeal in a shower of loud taps on the boards of the pulpit, which -responded so smartly that at last, to my unspeakable relief, they woke -me. And what was it that had suggested the tremendous tumult? What had -played Jabes's part in the row? Merely the branch of a fir-tree that -touched my lattice, as the blast wailed by, and rattled its dry cones -against the panes! - - -\doublecolumns -Here the main document starts. It should be in double columns until -further notice. It's all one paragraph. I am going to use Wuthering -Heights, as usual. - -With that concluding word, the whole assembly, -exalting their pilgrim's staves, rushed round me in a body; and I, -having no weapon to raise in self-defence, commenced grappling with -Joseph, my nearest and most ferocious assailant, for his. In the -confluence of the multitude several clubs crossed; blows aimed at me -fell on other sconces. - -Presently the whole chapel resounded with -rappings and counter-rappings. Every man's hand was against his -neighbour; and Branderham, unwilling to remain idle, pour\-ed forth his -zeal in a shower of loud taps on the boards of the pulpit, which -responded so smartly that at last, to my unspeakable relief, they woke -me. And what was it that had suggested the tremendous tumult? - -What had played Jabes's part in the row? Merely the branch of a fir-tree that -touched my lattice, as the blast wailed by, and rattled its dry cones -against the panes! Here the main document starts. It should be in double columns - until -further notice. It's all one paragraph. I am going to use Wuthering -Heights, as usual. With that concluding word, the whole assembly, -exalting their pilgrim's staves, rushed round me in a body; and I, -having no weapon to raise in self-defence, commenced grappling with -Joseph, my nearest and most ferocious assailant, for his. In the -confluence of the multitude several clubs crossed; blows aimed at me -fell on other sconces. Presently the whole chapel resounded with -rappings and counter-rappings. Every man's hand was against his -neighbour; and Branderham, unwilling to remain idle, pour\-ed forth his -zeal in a shower of loud taps on the boards of the pulpit, which -responded so smartly that at last, to my unspeakable relief, they woke -me. And what was it that had suggested the tremendous tumult? -What had played Jabes's part in the row? Merely the branch of a fir-tree that -touched my lattice, as the blast wailed by, and rattled its dry cones -against the panes! - -\singlecolumn % an extra insert of singlecolumn -I listened doubtingly an instant, detected the -disturber, then turned and dozed, and dreamt again---if possible, still -more disagreeably than before. This time I remembered I was lying in -the oak closet, and I heard distinctly the gusty wind and the driving of -the snow. I heard also the fir-bough repeat its teasing sound, and -ascribed it to the right cause. But it annoyed me so much that I -resolved to silence it, if possible; and I thought I rose and -endeavoured to unhasp the casement. The hook was soldered into the -staple---a circumstance observed by me when awake, but forgotten. ``I -must stop it, nevertheless!'' I muttered, knocking my knuckles through -the glass, and stretching an arm out to seize the importunate branch; -instead of which, my fingers closed on the fingers of a little, icecold -hand! - -\doublecolumns % an extra insert of doublecolumns -The intense horror of nightmare came over me. I tried to draw -back my arm, but the hand clung to it, and a most melancholy voice -sobbed, ``Let me in---let me in!'' ``Who are you?'' I asked, struggling, -meanwhile, to disengage myself. ``Catherine Linton,'' it replied -shiveringly. (Why did I think of Linton? I had read Earnshaw twenty -times for Linton.) ``I'm come home. I'd lost my way on the moor.'' As -it spoke, I discerned, obscurely, a child's face looking through the -window. Terror made me cruel; and finding it useless to attempt shaking -the creature off, I pulled its wrist on to the broken pane, and rubbed -it to and fro till the blood ran down and soaked the bedclothes. Still -it wailed, ``Let me in!'' and maintained its tenacious gripe, almost -maddening me with fear. ``How can I?'' I said at length. ``Let me go, -if you want me to let you in!'' - -With that concluding word, the whole assembly, -exalting their pilgrim's staves, rushed round me in a body; and I, -having no weapon to raise in self-defence, commenced grappling with -Joseph, my nearest and most ferocious assailant, for his. In the -confluence of the multitude several clubs crossed; blows aimed at me -fell on other sconces. Presently the whole chapel resounded with -rappings and counter-rappings. Every man's hand was against his -neighbour; and Branderham, unwilling to remain idle, pour\-ed forth his -zeal in a shower of loud taps on the boards of the pulpit, which -responded so smartly that at last, to my unspeakable relief, they woke -me. And what was it that had suggested the tremendous tumult? What had -played Jabes's part in the row? Merely the branch of a fir-tree that -touched my lattice, as the blast wailed by, and rattled its dry cones -against the panes! I listened doubtingly an instant, detected the -disturber, then turned and dozed, and dreamt again---if possible, still -more disagreeably than before. This time I remembered I was lying in -the oak closet, and I heard distinctly the gusty wind and the driving of -the snow. I heard also the fir-bough repeat its teasing sound, and -ascribed it to the right cause. But it annoyed me so much that I -resolved to silence it, if possible; and I thought I rose and -endeavoured to unhasp the casement. The hook was soldered into the -staple---a circumstance observed by me when awake, but forgotten. ``I -must stop it, nevertheless!'' I muttered, knocking my knuckles through -the glass, and stretching an arm out to seize the importunate branch; -instead of which, my fingers closed on the fingers of a little, icecold -hand! - -The intense horror of nightmare came over me. I tried to draw -back my arm, but the hand clung to it, and a most melancholy voice -sobbed, ``Let me in---let me in!'' ``Who are you?'' I asked, struggling, -meanwhile, to disengage myself. ``Catherine Linton,'' it replied -shiveringly. (Why did I think of Linton? I had read Earnshaw twenty -times for Linton.) ``I'm come home. I'd lost my way on the moor.'' As -it spoke, I discerned, obscurely, a child's face looking through the -window. Terror made me cruel; and finding it useless to attempt shaking -the creature off, I pulled its wrist on to the broken pane, and rubbed -it to and fro till the blood ran down and soaked the bedclothes. Still -it wailed, ``Let me in!'' and maintained its tenacious gripe, almost -maddening me with fear. ``How can I?'' I said at length. ``Let me go, -if you want me to let you in!'' - -With that concluding word, the whole assembly, -exalting their pilgrim's staves, rushed round me in a body; and I, -having no weapon to raise in self-defence, commenced grappling with -Joseph, my nearest and most ferocious assailant, for his. In the -confluence of the multitude several clubs crossed; blows aimed at me -fell on other sconces. Presently the whole chapel resounded with -rappings and counter-rappings. Every man's hand was against his -neighbour; and Branderham, unwilling to remain idle, repoured forth his -zeal in a shower of loud taps on the boards of the pulpit, which -responded so smartly that at last, to my unspeakable relief, they woke -me. And what was it that had suggested the tremendous tumult? What had -played Jabes's part in the row? Merely the branch of a fir-tree that -touched my lattice, as the blast wailed by, and rattled its dry cones -against the panes! I listened doubtingly an instant, detected the -disturber, then turned and dozed, and dreamt again---if possible, still -more disagreeably than before. This time I remembered I was lying in -the oak closet, and I heard distinctly the gusty wind and the driving of -the snow. I heard also the fir-bough repeat its teasing sound, and -ascribed it to the right cause. But it annoyed me so much that I -resolved to silence it, if possible; and I thought I rose and -endeavoured to unhasp the casement. The hook was soldered into the -staple---a circumstance observed by me when awake, but forgotten. ``I -must stop it, nevertheless!'' I muttered, knocking my knuckles through -the glass, and stretching an arm out to seize the importunate branch; -instead of which, my fingers closed on the fingers of a little, icecold -hand! - -The intense horror of nightmare came over me. I tried to draw -back my arm, but the hand clung to it, and a most melancholy voice -sobbed, ``Let me in---let me in!'' ``Who are you?'' I asked, struggling, -meanwhile, to disengage myself. ``Catherine Linton,'' it replied -shiveringly. (Why did I think of Linton? I had read Earnshaw twenty -times for Linton.) ``I'm come home. I'd lost my way on the moor.'' As -it spoke, I discerned, obscurely, a child's face looking through the -window. Terror made me cruel; and finding it useless to attempt shaking -the creature off, I pulled its wrist on to the broken pane, and rubbed -it to and fro till the blood ran down and soaked the bedclothes. Still -it wailed, ``Let me in!'' and maintained its tenacious gripe, almost -maddening me with fear. ``How can I?'' I said at length. ``Let me go, -if you want me to let you in!'' - -With that concluding word, the whole assembly, -exalting their pilgrim's staves, rushed round me in a body; and I, -having no weapon to raise in self-defence, commenced grappling with -Joseph, my nearest and most ferocious assailant, for his. In the -confluence of the multitude several clubs crossed; blows aimed at me -fell on other sconces. Presently the whole chapel resounded with -rappings and counter-rappings. Every man's hand was against his -neighbour; and Branderham, unwilling to remain idle, repoured forth his -zeal in a shower of loud taps on the boards of the pulpit, which -responded so smartly that at last, to my unspeakable relief, they woke -me. And what was it that had suggested the tremendous tumult? What had -played Jabes's part in the row? Merely the branch of a fir-tree that -touched my lattice, as the blast wailed by, and rattled its dry cones -against the panes! I listened doubtingly an instant, detected the -disturber, then turned and dozed, and dreamt again---if possible, still -more disagreeably than before. This time I remembered I was lying in -the oak closet, and I heard distinctly the gusty wind and the driving of -the snow. I heard also the fir-bough repeat its teasing sound, and -ascribed it to the right cause. But it annoyed me so much that I -resolved to silence it, if possible; and I thought I rose and -endeavoured to unhasp the casement. The hook was soldered into the -staple---a circumstance observed by me when awake, but forgotten. ``I -must stop it, nevertheless!'' I muttered, knocking my knuckles through -the glass, and stretching an arm out to seize the importunate branch; -instead of which, my fingers closed on the fingers of a little, icecold -hand! - -The intense horror of nightmare came over me. I tried to draw -back my arm, but the hand clung to it, and a most melancholy voice -sobbed, ``Let me in---let me in!'' ``Who are you?'' I asked, struggling, -meanwhile, to disengage myself. ``Catherine Linton,'' it replied -shiveringly. (Why did I think of Linton? I had read Earnshaw twenty -times for Linton.) ``I'm come home. I'd lost my way on the moor.'' As -it spoke, I discerned, obscurely, a child's face looking through the -window. Terror made me cruel; and finding it useless to attempt shaking -the creature off, I pulled its wrist on to the broken pane, and rubbed -it to and fro till the blood ran down and soaked the bedclothes. Still -it wailed, ``Let me in!'' and maintained its tenacious gripe, almost -maddening me with fear. ``How can I?'' I said at length. ``Let me go, -if you want me to let you in!'' - -\singlecolumn -Now we should be typesetting in a single column, i.e., normally. The -fingers relaxed; I snatched mine through the hole, hurriedly piled the -books up in a pyramid against it, and stopped my ears to exclude the -lamentable prayer. I seemed to keep them closed above a quarter of an -hour; yet the instant I listened again, there was the doleful cry -moaning on! ``Begone!'' I shouted; ``I'll never let you in---not if you -beg for twenty years.'' ``It is twenty years,'' mourned the -voice---``twenty years. I've been a waif for twenty years!'' Thereat -began a feeble scratching outside, and the pile of books moved as if -thrust forward. I tried to jump up, but could not stir a limb, and so -yelled aloud in a frenzy of fright. To my confusion, I discovered the -yell was not ideal. Hasty footsteps approached my chamber door; somebody -pushed it open with a vigorous hand, and a light glimmered through the -squares at the top of the bed. I sat shuddering yet, and wiping the -perspiration from my forehead. The intruder appeared to hesitate, and -muttered to himself. At last he said in a half-whisper, plainly not -expecting an answer, ``Is any one here?'' I considered it best to -confess my presence, for I knew Heathcliff's accents, and feared he -might search further if I kept quiet. With this intention I turned and -opened the panels. I shall not soon forget the effect my action -produced. Heathcliff stood near the entrance, in his shirt and -trousers, with a candle dripping over his fingers, and his face as white -as the wall behind him. The first creak of the oak startled him like an -electric shock. The light leaped from his hold to a distance of some -feet, and his agitation was so extreme that he could hardly pick it up. -``It is only your guest, sir,'' I called out, desirous to spare him the -humiliation of exposing his cowardice further. ``I had the misfortune -to scream in my sleep, owing to a frightful nightmare. I'm sorry I -disturbed you.'' -\end -From: Jun-Jih Liang <cip224@wpax01.physik.uni-wuerzburg.de> -Subject: A vbox underfull while using eplain.tex -To: karl@cs.umb.edu -Date: Wed, 10 Nov 93 11:47:39 MEZ - -Dear Karl: - - I'd like to appreciate your kindness to put the "eplain.tex" in the public -domain so that I can switch \doublecolumns and \singlecolumn in an article. -After a little change in the file "column.tex" which is located at the -subdirectory "/eplain-2.3/test" I have got an unexpected output. There is a -"verticle underfull (Underfull \vbox ...)" at the first page. What I've done at -the file are: - -1) magnify the text font at 1 step (\magnification=\magstep1) -2) add an extra "\singlecolumn" and "\doublecolumns" after the first - "doublecolumn". - - Would you please tell me how can I get rid of the verticle underfull and -get the normal single- and doublecolumns output at the same page? Thank you for -your helpness in advance! - - Sincerely, - Jun-Jih Liang - -P.S. In the following two mails I attach the file "column.tex" which has -changed by me in the first and a Postcript formated "column.ps" which is -transformed from "column.dvi" in the second. - - - diff --git a/Master/texmf-dist/source/eplain/base/test/list.tex b/Master/texmf-dist/source/eplain/base/test/list.tex deleted file mode 100644 index 68775b3d822..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/list.tex +++ /dev/null @@ -1,90 +0,0 @@ -% This file is public domain. -% -% Test file for lists. -% -\ifx\undefined\eplain \input eplain \fi - -{\parindent = 0pt - \parskip = .5\baselineskip -\unorderedlist - \li hello there - - This item has two paragraphs since we want to see if it - works anywhere, and of course we want the paragraphs to be long. - - \li We did this list with zero parindent and nonzero parskip. -\endunorderedlist -} - -\unorderedlist - \li hello there - - This item has two paragraphs since we want to see if it - works anywhere, and of course we want the paragraphs to be long. - - \li second item - \numberedlist - \li nested - \li and again. - - This item has two paragraphs, also, since we want to see if it - works anywhere, and of course we want the paragraphs to be long. - - \li and again - \numberedlist - \li I am going three-level with you. - \endnumberedlist - \unorderedlist - \li I'm not. - - This item has two paragraphs, also, since we want to see if - it works anywhere, and of course we want the paragraphs to - be long. - - In fact, maybe we better make it three paragraphs. What - will happen then? This should tell us. - - \endunorderedlist - \endnumberedlist -\endunorderedlist - -This is a paragraph between the lists. It should be indented. But we'll -make it go on for more than one line, so we'll be able to see where the -left margin is. - -\numberedlist - \li hello there - - This item has two paragraphs. Isn't that annoying? - In fact, the second paragraph has more than one line, at least - I'm going to make it long enough so that that is true---I hope. - - \li second item - \numberedlist - \li nested - \li and again - \li and again - \numberedlist - \li I am going three-level with you. - \endnumberedlist - \unorderedlist - \li I'm not. - \endunorderedlist - \endnumberedlist -\endnumberedlist - -\listleftindent = 4pc -\unorderedlist -\li A shorter list, but with a bigger indent. -\numberedlist \li A nested list. -\endnumberedlist -\li The second item. -\endunorderedlist - -A list with an xref label: -\numberedlist -\li[listitem] This is the first. -\endnumberedlist - -And now we can refer to that item: \xrefn{listitem}. -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/listing.tex b/Master/texmf-dist/source/eplain/base/test/listing.tex deleted file mode 100644 index 60ae74c9ef3..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/listing.tex +++ /dev/null @@ -1,10 +0,0 @@ -% This file is public domain. -% -\input eplain - -\listing{verbatim.tex} - -\let\setuplistinghook = \linenumberedlisting -\listing{verbatim.tex} - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/logo.tex b/Master/texmf-dist/source/eplain/base/test/logo.tex deleted file mode 100644 index 5b137a56c46..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/logo.tex +++ /dev/null @@ -1,20 +0,0 @@ -% This file is public domain. -% -\input eplain - -\xspaceskip = 2em -Sentence-ending \TeX. And sentence \TeX\ middle. Sentence. - -\LaTeX - -\AMSTeX - -\LAMSTeX - -\BibTeX - -\MF - -\SLITEX - -\end diff --git a/Master/texmf-dist/source/eplain/base/test/loop.tex b/Master/texmf-dist/source/eplain/base/test/loop.tex deleted file mode 100644 index 7f6b7bd4e89..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/loop.tex +++ /dev/null @@ -1,20 +0,0 @@ -% This file is public domain. -% -\input eplain - -\def\iterate{% - \let\next\relax - \body - \let\next\iterate - \fi - \next -} - -\count255 = 5 -\loop - loop iteration \number\count255 %\par - \ifnum\count255<3 \else - \advance\count255 by -1 -\repeat - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/loopnext.tex b/Master/texmf-dist/source/eplain/base/test/loopnext.tex deleted file mode 100644 index 8d77b8622bf..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/loopnext.tex +++ /dev/null @@ -1,21 +0,0 @@ -% This file is public domain. -% -% Date: Tue, 2 May 2000 17:27:38 -0400 -% From: "Peter Kabal" <kabal@ece.mcgill.ca> -% To: <karl@cs.umb.edu> -% Subject: eplain interaction with TeXdraw -% -% A TeXdraw user alerted me to the fact that the TeXdraw routines gave a -% warning message when used together with eplain. It seems that eplain -% defines \iterate -% differently than plain tex. Using plain TeX, there is no problem, but using -% eplain one there is. - -\input eplain - -\input texdraw -\btexdraw - \lpatt(0.1 0.1) -\etexdraw - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/mag.tex b/Master/texmf-dist/source/eplain/base/test/mag.tex deleted file mode 100644 index 8704c008996..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/mag.tex +++ /dev/null @@ -1,14 +0,0 @@ -% This file is public domain. -% -% \magnification=1200 -\input eplain.tex -\paperheight=11truein -\paperwidth=8.5truein -\leftmargin=2.5truecm -\rightmargin=2.5truecm -\topmargin=2.5truecm -\bottommargin=2.5truecm - -This is a test - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/makecol.tex b/Master/texmf-dist/source/eplain/base/test/makecol.tex deleted file mode 100644 index 4c0379a703d..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/makecol.tex +++ /dev/null @@ -1,17 +0,0 @@ -% This file is public domain. -% -\input eplain - -Should have two columns with 1--3 in the first, and 4--6 in the second. - -\loggingall - -\makecolumns 6/2: -one -two -three -four -five -six -I should be after the table. -\end diff --git a/Master/texmf-dist/source/eplain/base/test/margin.tex b/Master/texmf-dist/source/eplain/base/test/margin.tex deleted file mode 100644 index 8275e543326..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/margin.tex +++ /dev/null @@ -1,68 +0,0 @@ -% This file is public domain. -% -\input marg - -\headline = {headline with descender: p\hfil} -\parindent = 0pt - -% Assigning to \topskip increases the space at the top of the page, -% between the headline and the text. -% -%\topskip = .5in - - -\topmargin = 3in \leftmargin = 3in -\bottommargin = 3in \rightmargin = 3in - -This is the first line of text. The top of it should be 3in from the -top of the paper. -\vfill -This is in the middle. The left margin should be three inches, and so -should the right margin (on the whole page, not just here, of course). -\vfill -The last line's baseline should be 3in from the bottom. -(This page tested assignments that increase the margins.) -\eject - - -\advancetopmargin by -1in \advanceleftmargin by -1in -\advancebottommargin by -1in \advancerightmargin by -1in - -This is the first line of text. The top of it should be 2in from the -top of the paper. -\vfill -This is in the middle. The left and right margins should be two inches -each. -\vfill -The last line's baseline should be 2in from the bottom. -(This page tested advances that decreased the margins.) -\eject - - -\topmargin = .5in \leftmargin = .5in -\bottommargin = .5in \rightmargin = .5in - -This is the first line of text. The top of it should be .5in from the -top of the paper. -\vfill -This is in the middle. The left and right margins should be .5in each, -just as you might expect by now, if you've been reading. -\vfill -The last line's baseline should be .5in from the bottom. -(This page tested assignments that decreased the margins.) -\eject - - -\advancetopmargin by 1in \advanceleftmargin by 1in -\advancebottommargin by 1in \advancerightmargin by 1in - -This is the first line of text. The top of it should be 1.5in from the -top of the paper. -\vskip0pt plus1filll -I bet you can guess what the left and right margins should be: yup, -1.5in. Let's make this line a little longer, so it will actually hit -the margin. -\vskip0pt plus1filll -The last line's baseline should be 1.5in from the bottom. -(This page tested assignments that increased the margins.) -\end diff --git a/Master/texmf-dist/source/eplain/base/test/matrix.tex b/Master/texmf-dist/source/eplain/base/test/matrix.tex deleted file mode 100644 index 4c966c312b4..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/matrix.tex +++ /dev/null @@ -1,18 +0,0 @@ -% This file is public domain. -% -\ifx\undefined\eplain \input eplain \fi - -This tests matrix inside eqalignno with leftdisplays. - -% $$\eqalignno{ -% \matrix{a \cr b\cr c} & = 1 & 1 \cr -% }$$ - -\loggingall - -\leftdisplays -$$\eqalignno{ - \matrix{a \cr b\cr c} & = 1 & 1 \cr -}$$ - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/mdisplay.tex b/Master/texmf-dist/source/eplain/base/test/mdisplay.tex deleted file mode 100644 index 96ed8543b9c..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/mdisplay.tex +++ /dev/null @@ -1,215 +0,0 @@ -% This file is public domain. -% -% Test math displays. -% -\ifx\undefined\eplain \input eplain \fi - -%\loggingall - -A simple one, done with plain, for comparison (it should come out -centered). Because of the way that \TeX's modes work, you should never -leave a blank line (i.e., cause a par command) before a display. When -\TeX\ sees a \$ in vertical mode, it switches to horizontal mode; but -then when the display starts, it goes back to vertical mode, thus -causing an extraneous blank line before the display. (Plain \TeX\ sets -abovedisplayskip to about a baselineskip, so you are going to get one -blank line from that (unless the line above the display is short, in -which case aboveshortdisplayskip is used, which is 3pt or some such); -but if a par intervenes between the end of the paragraph and the -beginning of the display, you get a second one.) -$$x = y + z$$ - -After a centereddisplays: -\centereddisplays -$$d+e+f$$ - -Now starting leftdisplays. -\leftdisplays - -No equation number: -$$A = B + C$$ - -Do another leftdisplays. -\leftdisplays -$$a+n=m$$ - -Equation number on right: -$$D = E + F\eqno (r)$$ - -Equation number on left: -$$G = H + I\leqno (l)$$ - -Using eqdef: -$$J = K + L\eqdef{hello}$$ - -Here is one done with displaylines: -$$\displaylines{x=1\cr}$$ - -Let's do those again, indented by one inch plus the paragraph indentation: -{\leftdisplayindent = 1in - No equation number: - $$A = B + C$$ - - Equation number on right: - $$D = E + F\eqno (r)$$ - - Equation number on left: - $$G = H + I\leqno (l)$$ - - Using eqdef: - $$J = K + L\eqdef{hello}$$ - - Here is one done with displaylines: - $$\displaylines{x=1\cr}$$ -} - -\hrule -\smallskip -The rule above just makes it easier to see the margins. - -Another displaylines, this one should end up on the right. -$$\displaylines{\hfill y=2\cr}$$ - -A displaylines with an eqno: -$$\displaylines{x=1 \eqno{d}\cr}$$ - -A displaylines with an eqdef: -$$\displaylines{x=1 \eqdef{eqdef-displ}\cr}$$ - -{\leftskip = 14pt -An indented displaylines with an eqdef: -$$\displaylines{x=1 \eqdef{eqdef-displ}\cr}$$ - -} - -Here is one with done with eqalign (the ='s should line up): -$$\eqalign{ - a+b&=c\cr - dq+er&=f\cr -}$$ - -An eqalign with a noalign inside: -$$\eqalign{ - a+b&=c\cr - g+h&=i\cr -}$$ - -And one with eqalignno: -$$\eqalignno{ - a+b&=c&(1)\cr - d+e&=f&(1*)\cr - g+h&=i&\eqdef{eqdef-2}\cr -}$$ - -An eqalignno with a noalign inside: -$$\eqalignno{ - a+b&=c&(1)\cr -\noalign{and} - g+h&=i&\eqdef{eqdef-2}\cr -}$$ - -And one (indented more) with leqalignno: -{\leftdisplayindent = 1in -$$\leqalignno{ - a+b&=c&(1)\cr - dt+eg&=f&(1*)\cr - g+h&=i&\eqdef{eqdef-3}\cr -}$$ -} - -A cases, from p.175 of the TeXbook. -$$ - |x| = \cases{x, &if $x\ge0$;\cr - -x, &otherwise.\cr -}$$ - -A pmatrix, from p.176. -$$\pmatrix{ - x-\lambda&1&0\cr - 0&x-\lambda&1\cr - 0&0&x-\lambda\cr -}$$ - - -The rule below just makes it easier to see the margins. -\smallskip -\hrule -\bigskip - -Back to centered displays now. -\centereddisplays - -No equation number: -$$A = B + C$$ - -Equation number on right: -$$D = E + F\eqno (r)$$ - -Equation number on left: -$$G = H + I\leqno (l)$$ - -Using eqdef: -$$J = K + L\eqdef{hello}$$ - -Here is one done with displaylines: -$$\displaylines{x=1\cr}$$ - -\hrule -\smallskip -The rule above just makes it easier to see the margins. - -Another displaylines, this one should end up on the right. -$$\displaylines{\hfill y=2\cr}$$ - -Here is one with done with eqalign (the ='s should line up): -$$\eqalign{ - a+b&=c\cr - dq+er&=f\cr -}$$ - -And one with eqalignno: -$$\eqalignno{ - a+b&=c&(1)\cr - d+e&=f&(1*)\cr - g+h&=i&\eqdef{eqdef-2}\cr -}$$ - -An eqalignno with a noalign inside: -$$\eqalignno{ - a+b&=c&(1)\cr -\noalign{and} - g+h&=i&\eqdef{eqdef-2}\cr -}$$ - -And one (indented more) with leqalignno: -{\leftdisplayindent = 1in -$$\leqalignno{ - a+b&=c&(1)\cr - dt+eg&=f&(1*)\cr - g+h&=i&\eqdef{eqdef-3}\cr -}$$ -} - -The rule below just makes it easier to see the margins. -\smallskip -\hrule -\bigskip - - -A cases, from p.175 of the TeXbook. -$$ - |x| = \cases{x, &if $x\ge0$;\cr - -x, &otherwise.\cr -}$$ - -A pmatrix, from p.176. -$$\pmatrix{ - x-\lambda&1&0\cr - 0&x-\lambda&1\cr - 0&0&x-\lambda\cr -}$$ - -Now after a second centereddisplays: -\centereddisplays -$$a + b = c$$ -\end diff --git a/Master/texmf-dist/source/eplain/base/test/names.tex b/Master/texmf-dist/source/eplain/base/test/names.tex deleted file mode 100644 index b996738a63a..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/names.tex +++ /dev/null @@ -1,21 +0,0 @@ -% This file is public domain. -% -\input texnames.sty - -\parskip = \baselineskip -\nopagenumbers - -\def\test{% - \AMSTeX\par - \BibTeX\par - \LAMSTeX\par - \LaTeX\par - \MF\par - \SLiTeX\par -} - -\rm \test -\it \test -\bf \test -\sl \test -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/noarrow.tex b/Master/texmf-dist/source/eplain/base/test/noarrow.tex deleted file mode 100644 index f0379f7f813..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/noarrow.tex +++ /dev/null @@ -1,8 +0,0 @@ -% This file is public domain. -% -\let\noarrow = t -\input eplain - -\show\commdiag - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/nobib.tex b/Master/texmf-dist/source/eplain/base/test/nobib.tex deleted file mode 100644 index e2586ecd8c2..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/nobib.tex +++ /dev/null @@ -1,10 +0,0 @@ -% This file is public domain. -% -\let\nobibtex = t -\ifx\eplain\undefined\input eplain \fi - -\tokstostring{abc} -\xrdef{label} -\xref{label} - -\end diff --git a/Master/texmf-dist/source/eplain/base/test/nonouter.tex b/Master/texmf-dist/source/eplain/base/test/nonouter.tex deleted file mode 100644 index 32aa5c9fee1..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/nonouter.tex +++ /dev/null @@ -1,11 +0,0 @@ -% This file is public domain. -% -\outer\def\nonouterdef#1#2{\begingroup - \def\startdef{\def #1\bgroup}% -% \expandafter\defstart \csname #2\endcsname\egroup - \def\outername{\csname #2\endcsname}% - \expandafter\startdef \outername \egroup -\endgroup} - -\tracingall -\nonouterdef\innernewwrite{newwrite} diff --git a/Master/texmf-dist/source/eplain/base/test/optional.tex b/Master/texmf-dist/source/eplain/base/test/optional.tex deleted file mode 100644 index f7cc917000e..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/optional.tex +++ /dev/null @@ -1,30 +0,0 @@ -% This file is public domain. -% -% Test optional arguments. - -\ifx\undefined\eplain \input eplain \fi - -\catcode`@ = \letter -\def\foo{\@getoptionalarg\finfoo} -\def\finfoo#1{% - \edef\firstarg{\@optionalarg} - \edef\mandatoryarg{#1}% - \@getoptionalarg\finfinfoo -} -\def\finfinfoo{% - The first optional argument is `\firstarg', the mandatory argument - is `\mandatoryarg', and the second optional argument is `\@optionalarg'. - \par -} - -\loggingall -\foo[a {\cite[p.10]{xyz}} b]{mand2} - -\foo{mand} -\foo[opt1]{mand} -\foo{mand}[opt2] -\foo[opt1]{mand}[opt2] -\foo[opt1]{mand} - [opt2 on a separate line] - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/outer.tex b/Master/texmf-dist/source/eplain/base/test/outer.tex deleted file mode 100644 index e424bebed12..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/outer.tex +++ /dev/null @@ -1,26 +0,0 @@ -% This file is public domain. -% -% Test file to make sure all the inner allocation routines really are -% inner. -% -\input eplain - -\def\foo{% - \innernewcount\a - \innernewdimen\b - \innernewskip\c - \innernewmuskip\d - \innernewbox\e - \innernewhelp\f{Help.}% - \innernewtoks\g - \innernewread\h - \innernewwrite\i - \innernewfam\j - \innernewlanguage\k - \innernewinsert\l - \innernewif\ifm -} - -\foo - -\end diff --git a/Master/texmf-dist/source/eplain/base/test/page.tex b/Master/texmf-dist/source/eplain/base/test/page.tex deleted file mode 100644 index 5112d5d9ed4..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/page.tex +++ /dev/null @@ -1,8 +0,0 @@ -% This file is public domain. -% -\hrule -top of page -\vskip 0pt plus1filll -bottom of page -\hrule -\end diff --git a/Master/texmf-dist/source/eplain/base/test/path.tex b/Master/texmf-dist/source/eplain/base/test/path.tex deleted file mode 100644 index 8a891bd3623..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/path.tex +++ /dev/null @@ -1,25 +0,0 @@ -% This file is public domain. -% -% Test the \path macro. - -\input eplain -%\input path.sty - -This is a normal path: \path|karl@cs.umb.edu|. This is a somewhat -longer path: \path|letters@kropotkin.gnu.ai.mit.edu|. This is a still -longer path: -\path|megan@agroecology.university-of-california-at-santa-cruz.edu|. I'm -making this all one paragraph so the path macro will have a chance to -show its stuff. This path has dollar signs and other strange characters -(but no vertical bars) in it: \path|#$%^_<>|. Now I'm going to change -the discretionaries to only be at !'s. \discretionaries|!| Now this path -should break only at !'s: \path|-hello!..from!@@bang!land|. Now I'm -going to change things so backslash is the delimiter. -\specialpathdelimiterstrue -\path\##hello!there!@.@again!...we!**still!_have!-bangs!\. That last -was delimited by backslashes, now let's do one that isn't delimited by -backslashes: \path@hi, there!this is fun!@. I'll go on for a little -while not doing anything in particular, so \TeX\ will have a chance to -break the paragraph nicely. That's all, folks! - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/pcol.tex b/Master/texmf-dist/source/eplain/base/test/pcol.tex deleted file mode 100644 index 52bfc2cc77d..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/pcol.tex +++ /dev/null @@ -1,183 +0,0 @@ -% This file is public domain. -% -% These are the double-column macros from Paul Abrahams, Dec 1991 -% They add the following features: -% \ifbalance (by default true, causes last page to be balanced) -% \everycolumn (a token list, useful for marks) -% \pageeject -% \eject does a column eject - -\newtoks\mainoutput -\newbox\partialpage -\newdimen\fullvsize \newdimen \fullhsize -\newbox\leftcolumn \newbox \rightcolumn -\newbox\savefootins \newskip\footskip -\newbox\savetopins \newskip\topinsskip -\newif\ifbalance \balancetrue -\newtoks\everycolumn - - -\def\pageeject{\penalty -10005 }% - -\def\doublecolumns{% - \mainoutput = \output % Save the previous \output. - % - % This grabs any single-column material. - \output = {\global\setbox\partialpage = \vbox{\unvbox255}}% - \vskip\abovedoublecolumnskip - \par % \par updates \pagetotal - \pagegoal = \pagetotal - \break % Now expand the \output we assigned just above. - \output = {\doublecolumnoutput}% - % - % Set up \hsize and \vsize for double columns. - \fullvsize = \vsize - \fullhsize = \hsize - \advance\hsize by -\gutter - \divide \hsize by 2 - \advance\vsize by -\ht\partialpage - % - % Take account of existing insertions. - \ifvoid\footins\else - \advance\vsize by -\ht\footins - \advance\vsize by -\skip\footins - \fi - \setbox\savefootins = \box\footins - \footskip = \skip\footins - % - \ifvoid\topins\else - \advance\vsize by -\ht\topins - \advance\vsize by -\skip\topins - \fi - \setbox\savetopins = \box\topins - \topinsskip = \skip\topins - % - % Start at the left, clear the existing columns. - \let\lr = L% - \setbox0 = \box\leftcolumn \setbox0 = \box\rightcolumn -}% -% -% This routine actually does the outputting. -\def\doublecolumnoutput{% - \ifbalance\else \ifnum \outputpenalty < -10000 - \setbox255 = \vbox{\unvbox255 \vfil}% - \fi\fi - % - \the\everycolumn - \if \lr L% - \buildcolumn\leftcolumn - \global\let\lr = R% - \else - \buildcolumn\rightcolumn - \global\let\lr = L% - \fi - % - \ifnum \outputpenalty < -10000 - \ifbalance - \ifdim \ht\leftcolumn > 8\baselineskip - \balancecolumns - \global \let \lr = L% - \fi\fi\fi - % - \if \lr L% - \setbox255 = \vbox{% - \unvbox\partialpage - \dimen0 = \ht\leftcolumn \dimen1 = \dp\leftcolumn - \joincolumns - \ifnum \outputpenalty = -10005 \vfil \fi - }% - % The restoration of the insertion boxes happens only once, since - % they are empty thereafter. - \setbox\footins = \box\savefootins - \setbox\topins = \box\savetopins - \vsize = \fullvsize % Because we've taken care of \partialoutput - \ifnum \outputpenalty = -10006 - \unvbox255 - \else - \the\mainoutput - \global\vsize = \fullvsize - \fi - \fi -}% -% -% -% \joincolumns joins \leftcolumn and \rightcolumn into a vbox that aligns -% the tops of the two columns and has the depth of the deeper column. -% It adds the resulting box to the main vertical list. -% -\def\joincolumns{% - \dimen0 = \dp\leftcolumn \dimen1 = \dp \rightcolumn - \setbox0 = \hbox to \fullhsize{% - \vtop to \ht\leftcolumn{\unvbox\leftcolumn}% - \hfil - \vtop to \ht\rightcolumn{\unvbox\rightcolumn}% - }% - \dimen2 = \boxmaxdepth % For restoring it later - \ifdim \dimen0 < \dimen1 - \boxmaxdepth = \dimen1 - \else - \boxmaxdepth = \dimen0 - \fi - \setbox0 = \vbox{\box0}% - \boxmaxdepth = \dimen2 - \box0 % Produce for the calling context -}% - -\def\buildcolumn #1{% - \ifnum \outputpenalty < -9999 - \global \setbox #1 = \vbox{\pagecontents}% - \else - \global \setbox #1 = \vbox to \vsize{\pagecontents}% - \fi -}% -% -% -% Go back to single-column typesetting. Unfortunately, we cannot start -% a group in \doublecolumns and end it here, because some documents -% might want double-column mode to continue to the end. So we have to -% restore the things we've changed manually. -% -\def\singlecolumn{% - \penalty -10006 - \output = \mainoutput - \hsize = \fullhsize - \vsize = \fullvsize - % - % Add \belowdoublecolumnskip if there's enough room, otherwise a \vfil - % to fill out the page. - \dimen0 = \pagetotal \advance \dimen0 by \belowdoublecolumnskip - \ifdim \dimen0 < \pagegoal - \vskip\belowdoublecolumnskip - \else - \vfil - \fi - \allowbreak -}% -% -\def \balancecolumns{% - \setbox\leftcolumn = \vbox{\unvbox\leftcolumn \unskip}% - \setbox\rightcolumn = \vbox{\unvbox\rightcolumn \unskip}% - \setbox0 = \vbox{% - \dimen0 = \dp\leftcolumn - \unvbox \leftcolumn - \if \lr L - \kern -\dimen0 - \vskip -\topskip - \vskip \baselineskip - \unvbox \rightcolumn - \fi - }% - \dimen0 = \ht0 - \advance \dimen0 by \topskip \advance \dimen0 by -\baselineskip - \divide \dimen0 by 2 \splittopskip = \topskip - \count@ = \vbadness \vbadness = 10000 - \loop - \setbox2 = \copy0 - \setbox1 = \vsplit2 to \dimen0 - \ifdim \ht2 > \dimen0 - \advance \dimen0 by 1pt - \repeat - \vbadness = \count@ - \setbox \leftcolumn = \vbox to \dimen0{\unvbox1}% - \setbox \rightcolumn = \vbox to \dimen0{\unvbox2}% -}% diff --git a/Master/texmf-dist/source/eplain/base/test/pdftex.tex b/Master/texmf-dist/source/eplain/base/test/pdftex.tex deleted file mode 100644 index 7aa765d2c89..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/pdftex.tex +++ /dev/null @@ -1,112 +0,0 @@ -\input ../eplain -%\enablehyperlinks[nolinks] -%\enablehyperlinks[pdftex] -\enablehyperlinks - -\beginpackages -\usepackage[dvipsnames]{color} -\endpackages - -% Execute #1 then print it verbatim and indented. -\def\c{\cf\indent\relax} -% Same as \c, but do not indent and at the end say \hlend. -\def\f{\cf\noindent\hlend} -% -\def\cf#1#2#3{% - \def\temp{#3}% - \edef\cftemp{\sanitize\temp}% - #1#3\expandafter\verbatim\cftemp\endverbatim#2\par -} -% -\newcount\destcount -% Execute `#1{d\the\destcount}' then print it (`#1', `{d', and `}' are printed -% verbatim; `\the\destcount' is expanded). -\def\d{\dl\relax} -% Same as \d, but at the end also say \hlend. -\def\l{\dl\hlend} -% -\def\dl#1#2{% - \global\advance\destcount by1 - \toks0={#2}% - \edef\temp{\the\toks0{d\the\destcount}}% - \edef\dltemp{\sanitize\temp}% - \noindent#2{d\the\destcount}\expandafter\verbatim\dltemp\endverbatim#1\par -} - -\pdfpagewidth=8.5in -\pdfpageheight=11in - - - -\leftline{\bf Destinations} -\medskip - -{\tt\global\parindent=4em} - -\d{\hldest{}{}} -\c{\hldestopts{zoom=2345}} -\d{\hldest{}{}} -\medskip -\c{\hldesttype{fitr}} -\c{\hldestopts{width=\hsize}} -\d{\hldest{}{}} -\c{\def\myopts{width=.5\hsize,depth=.25\hsize}} -\d{\hldest{}{\myopts,height=.25\hsize}} -\medskip -\c{\let\myopts\empty} -\c{\hldestopts{raise=2\normalbaselineskip}} -\d{\hldest{xyz}{\myopts,zoom=2500}} -\d{\hldest{xyz}{raise=\ht\strutbox,zoom=3000}} -\medskip -\makeatletter -\c{\def\mydest{\pdfdest name{\@hllabel} xyz}} -\d{\hldest{raw}{cmd=mydest}} -\resetatcatcode -\medskip -\d{\hldest{fit}{}} -\d{\hldest{fith}{}} -\d{\hldest{fitv}{}} -\d{\hldest{fitb}{}} -\d{\hldest{fitbh}{}} -\d{\hldest{fitbv}{}} -\vfil\eject - - - -\leftline{\bf Links} -\medskip - -{\tt\global\parindent=4.5em} - -\destcount=0 % Reset destination count. -\l{\hlstart{name}{}} -\c{\hlopts{bstyle=U}} -\l{\hlstart{name}{}} -\l{\hlstart{}{bstyle=D,bdash=2 4,bcolor=1 0 0,hlight=I}} -\l{\hlstart{}{bstyle=B,bwidth=3}} -\c{\hlopts{bcolor=0 0 1}} -\l{\hlstart{}{bstyle=I,bwidth=4}} -\l{\hlstart{}{bstyle=U,bwidth=1}} -\c{\hlopts{bstyle=S}} -\l{\hlstart{}{hlight=I,bcolor=1 .2 .2,bwidth=2}} -\l{\hlstart{}{hlight=N,bstyle=D,bwidth=3}} -\l{\hlstart{}{hlight=O}} -\l{\hlstart{}{hlight=P,bcolor=.3 .6 .7}} -\l{\hlstart{}{bstyle=D,bdash=2 4 6}} -\l{\hlstart{}{bwidth=0}} -\l{\hlstart{}{bstyle=D,bdash=2 4 6 8}} -\f{\hlstart{page}{pagefit=/FitH 600}{1}} -\f{\hlstart{filename}{file=hlink.pdf,newwin=1}{eq1}} -\f{\hlstart{filepage}{file=hlink.pdf,pagefit=/FitR 50 100 300 500}{1}} -\f{\hlstart{filepage}{file=hlink.pdf,pagefit=/FitB}{2}} -\f{\hlstart{url}{}{http://tug.org/eplain/}} -\c{\def\mycmd{\pdfstartlink goto page 1 {/Fit}}} -\f{\hlstart{raw}{cmd=mycmd}{}} - - - -\bye - -% Local variables: -% compile-command: "(cd .. && make eplain.tex) && pdftex --interact=nonstopmode pdftex.tex" -% End: diff --git a/Master/texmf-dist/source/eplain/base/test/psfont.map b/Master/texmf-dist/source/eplain/base/test/psfont.map deleted file mode 100644 index 6b25d458abb..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/psfont.map +++ /dev/null @@ -1,78 +0,0 @@ -% This file is public domain. -% -% +--------------------------------------------------------------------+ -% | | -% | Font mapping for Turing | -% | ----------------------- | -% | | -% | Letter Font Letter Qualifier | -% | ------ ------------ ------ ------------ | -% | A Avant-Garde B Bold | -% | B Bookman D Demi | -% | C Courier I Italic | -% | H Helvetica L Light | -% | N New-Century M Medium | -% | Schoolbook O Oblique | -% | P Palatino R Roman | -% | S Symbol S Small Caps | -% | T Times | -% | ZC Zapf Chancery | -% | ZD Zapf Dingbats | -% | | -% +--------------------------------------------------------------------+ - - \def\SYSTEM{Turing} - - \def\AB@#1pt{pagk at #1pt} - \def\ABO@#1pt{pagko at #1pt} - \def\AD@#1pt{pagd at #1pt} - \def\ADO@#1pt{pagdo at #1pt} - - \def\BD@#1pt{pbkd at #1pt} - \def\BDI@#1pt{pbkdi at #1pt} - \def\BL@#1pt{pbkl at #1pt} - \def\BLI@#1pt{pbkli at #1pt} - \def\BO@#1pt{pbkro at #1pt} - - \def\CB@#1pt{pcrb at #1pt} - \def\CBO@#1pt{pcrbo at #1pt} - \def\CM@#1pt{pccr at #1pt} - \def\CO@#1pt{pccro at #1pt} - - \def\HB@#1pt{phvb at #1pt} - \def\HBO@#1pt{phvbo at #1pt} - \def\HM@#1pt{phvr at #1pt} - \def\HO@#1pt{phvro at #1pt} - - \def\NB@#1pt{pncb at #1pt} - \def\NBI@#1pt{pncbi at #1pt} - \def\NI@#1pt{pncri at #1pt} - \def\NR@#1pt{pncr at #1pt} - \def\NO@#1pt{pncro at #1pt} - - \def\PB@#1pt{pplb at #1pt} - \def\PBI@#1pt{pplbi at #1pt} - \def\PBO@#1pt{pplbo at #1pt} - \def\PI@#1pt{pplri at #1pt} - \def\PO@#1pt{pplro at #1pt} - \def\PR@#1pt{pplr at #1pt} - - \def\TB@#1pt{ptmb at #1pt} - \def\TBI@#1pt{ptmbi at #1pt} - \def\TBO@#1pt{ptmbo at #1pt} - \def\TI@#1pt{ptmri at #1pt} - \def\TIU@#1pt{ptmru at #1pt} - \def\TO@#1pt{ptmro at #1pt} - \def\TR@#1pt{ptmr at #1pt} - - \def\ZCMI@#1pt{pzcmi at #1pt} - \def\ZD@#1pt{pzdr at #1pt} - - \def\S@#1pt{psyr at #1pt} - \def\SO@#1pt{psyro at #1pt} - \def\SX@#1pt{psyrx at #1pt} - - \def\TRS@#1pt{ptmrc at #1pt} - \def\PRS@#1pt{pplrc at #1pt} - \def\NRS@#1pt{pncrc at #1pt} - \def\BS@#1pt{pblrc at #1pt} diff --git a/Master/texmf-dist/source/eplain/base/test/rex.tex b/Master/texmf-dist/source/eplain/base/test/rex.tex deleted file mode 100644 index 7fc90ba9367..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/rex.tex +++ /dev/null @@ -1,277 +0,0 @@ -% This file is public domain. -% -%Date: Fri, 08 May 92 12:28:17 PDT -%From: Rex Shudde <0024P%NAVPGS.BITNET@CORNELLC.cit.cornell.edu> -%Subject: Eplain document -%To: karl berry <karl@cs.umb.edu> -% -%Karl, -% -%Attached is an emulation of my document. Re-iterating, (1) the title should be -%on the first page with the abstract, and a horizontal rule should span the -%entire first page, and (2) the second footnote is referenced in the second -%column on third page. -% -%Undoubtedly I've violated some of the rules of either TeX or eplain, but I -%don't know what. -% -%Again, many thanks. -% -%Rex -% -%Bitnet: 0024p@navpgs -%Internet: 0024p@cc.nps.navy.mil -%............................................................................. -%\magnification=\magstep0 -\input eplain -\input tables %This is Ferguson's INRSTeX Tables (a very old version). - -\hbadness = 100000 \vbadness = 10000 \hfuzz = \maxdimen -\tolerance=2000 - -\def\SP{\ } -\def\throwaway#1{} -\def\checkspace{\ifx \next\ -\let\result=\throwaway - \else \let\result=\ignorespaces \fi \result } -\font\bigfont=cmr10 scaled \magstep5 -\def\bfl#1{\setbox0=\hbox {{\bigfont #1}\thinspace} - \noindent \hangindent \wd0 \hangafter -2 - \llap {\vbox to \ht0{\kern\baselineskip \box0 \kern-\baselineskip}}% - \futurelet \next \checkspace} - -\parskip=10pt -\parindent=0pt - -\font\cmbig=cmr17 -\font\cmrbv=cmb10 scaled \magstep5 -\font\iti=cmbxti10 scaled \magstep2 -\font\erm=cmr8 - -\doublecolumns - -%************************************************************************** -% Generate a dummy first page for the twocol macro -% The first page is to have the left column blank. - -\phantom{dummy first line} \vskip5truein - {\font\iti=cmti10 scaled \magstep1 - \iti - \rightline{An abstract} - \rightline{goes} - \rightline{in here.} - } - -\columnfill - -%************************************************************************** - -\phantom{dummy first line} \vskip0.75truein - -\rightline{\cmrbv Title} -\bigskip\bigskip -\rightline{\iti Author} - -\bigskip\bigskip\bigskip -%\rightline{\hrulefill}% width6.5truein} - -\nointerlineskip -\moveleft 3.31truein -\vbox{\hrule width6.5truein} -\nointerlineskip - -\vskip0.75truein - -%************************************************************************** - -\bfl -Xxxxxxx xxxxxx xxxxxx xxxxxxx xxxx xxx xxx\numberedfootnote{\erm Xxxxx xxxxx -xxx xxxx Xxxxx xxxxx, Xxxxx xxxx Xxxxxx xxxxxx, xxxxxx xxxxx xx Xxxxxx Xxxxxx, -Xxx., X.~X. Xxx~xxx, Xxxx Xxxxx, XX~xxxxx.} Xxxx Xxxxxxxxxx xxxxxxxx xxxx, Xxx -xxxxx xxxxxx xx xxxxxxxx xx xxxxx xxxxxxx xxxxxxx xxxx xx xxxx xx xxxxxxx xx -xxx xxxxx xx x xxx xxxxxxx xx xxxxx. Xx x/xxx xx x xxx xxxx xxxxxxx xxxxx -xxxxxxx, Xxxxxx xxxxxxxxx xxxxx xxxxx x/xxx,xxx,xxx xx x xxxxxx. Xxxx xxxxx - xxxx xx xxxx xxxx Xxxxxx'x xxxxxxxx xx xxx xxxxxxx xxxxxxxx xxxxxx xx xxxxx - xx xxxx xxxxxxx xxx xxxxxx xxxx xx xxxxxxx xx xxxxxx x.xx xx x xxx, xxx x.xx -xxx xxxxxx xxxxx xx~xxxxxxx. Xxxx xx x xxxxx xxxxxx xxx xxxxxxxxx xxxxxxxx xxx -xxxxxxxx xxxx xxxxxxxx xxxxxxxxx xxx xxxxxx xxxxxx xxxx, xxx xxx xxxxxxxx -xxxxxxxxx xx xxx xxxx xx xxxxxxxxxx xx x xxxx xxxxx xxxxxxxxxx. - -Xxxxx xxx xxxxxx xxx xxxxxx xx xxx xxxxx xx xxx xxx xxxxxxxxx (xxx XX-xxx -xxxxx xxxxxx xxxxxxxx xx xxx Xxx Xxxxxxxxxx Xxxxxxxxxx), xx xxx xxxxxxx xxxx -xx xxxxx xx xxxxxxxxxxx xx xxxxxxx x xxxxx xxxxxxx xxx xxxx xx xxxxx xxxx -xxxxxx xx xxxx x xxxxxxxxxxx xxxxxx xxxx xxx xxxxxxx. - -Xxxxx x xxxxx xx xxx xxxx xx xxxxxxxxxx xxx xxxxxxxx xx xxx xxxxxxxxxx xxx -xxxxxx xxxxxxxx xxx xxxx xxxxxx xxx xxxxx xxxx. Xxxx xxx xxxx xxxx xxxx xx -xxxxx xxx xxxxxx'x xxxx xxxx xxxxxxxx, xxxx {xxx xxxxxxx} xx xxx xxxxxxx -xxxxxxxxx, xxxxxxxx, xx x, xxx xxxxxxxx. Xxxxx xxxx xxxxxxxxx xxx xxxx (xxxx -xxx Xxxx) xxx xxxxx xx Xxxxx~x. - -Xx xxxxxxxxxxx xx Xxxxx~x xxxxxxx xxxx xxx xxxxxxxx xx xxxxxxx xx xxxx xxxxxxx -xxxxxxxx xxx xxx xx xxxxxxxxxx xx xxxxx xx xxxxxxxx. Xx xxxx, xx xxxxxxx xx -xxxxxx xxx xxxxx xx xx xxxxx xxx xxx xxxxxxxxx xxx xxxxxxxx xxxxx xx Xxxxxx'x -xxxxx xx Xxxxxx' xxxxxx xxxxxxx. Xxxx xxx xxxxxxxx xxxxx xxx xx xx xxxx, xxx -xxxxxxxxx. Xxxxx~x xxxxxxxx xxx xxxxxxxxx xx xxxxxxx xx xxx xxxxxx xxxxxx xx -xxxx xxxxxx xxxxxxxx xx xxxxxxxxx xx xxxxxxxxx. - - -\singlecolumn -\centerline{Table 1---Xxxxxxxxx Xxxx Xxxxxxxx xx Xxxxxxxx} -\smallbreak -\line \bgroup \hss - \begintable - \begintableformat - & \center - \endtableformat - \- - \br{\::} : : \use{3} Xxxxxxxxxx Xxxxxxx: - : \use{3} Xxxxxx Xxxxxxn \er{:} - \br{\:} \zb{Xxxxxx} : \zb{Xxxx} : \use{3} \- - : \zb{Xxxx} : \use{3} \- \er{:} - \br{\::} : : -xxxxx " -xxxxx " -x : - : +xxxxx " +xxxxx " +x \er{:} - \- - \br{\::} xxxxxxx : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx - : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx \er{:} - \- - \br{\::} xxxxxxx : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx - : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx \er{:} - \- - \br{\::} xxxxxxx : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx - : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx \er{:} - \- - \br{\::} xxxxxxx : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx - : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx \er{:} - \- - \br{\::} xxxxxxx : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx - : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx \er{:} - \- - \br{\::} xxxxxxx : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx - : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx \er{:} - \- - \br{\::} xxxxxxx : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx - : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx \er{:} - \- - \br{\::} xxxxxxx : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx - : ~x-xx-xx : xxxxx " ~xxxxx " ~xxxxx \er{:} - \- - \endtable -\hss \egroup -\doublecolumns - - -Xxxx xxxxxx x xxxxxx xxxxxxx Xxxxxx'x xxxxxx xxxxxx xx xxx xxxxxx xxxxx xxxxxx -xxx xxxx xxxxx xx Xxxxx~x, xxxx xxxx xxxxxx xx xxxxx xxxxxxx. Xx, xxx xxxxxxx, -xx xxxxxxxxxx xxx xxxxxxxx xxxx xxxxxx xxxxxx, xx xxxxx xxxxx xx xxxxxxxxxxx, -xxxxxxxxxx, xxx xxxxxxxxx, xxxxxxx xx xxx xxxxxxxx xx xxxx xxxxxx xxxx xxxxx -xxxxxxx, xx xxxxx xxxxx xx xxx xxxxxxxx, xxxxx xxxxx, xxx xxxxxxxxx. Xxxx xxx -xxxx xx xxxxxxxxx. - -\medskip\bigskip -\centerline{Table 2---Xxxxxxx xx Xxxxxx'x Xxxxxx Xxxxxxx} -\nobreak -\centerline{(Xxxxxxx Xxxxxxxx)} -\smallbreak -\line \bgroup \hss - \begintable - \begintableformat - & \center - \endtableformat - \- - \br{\::} Xxxx : xxxxxxxx " xxxxxxx " xxxxxx " xxx \er{:} - \- - \br{\::} xxxx : xxxxxxxx " xxxxxxx " xxxxxx " $x''$ \er{:} - \br{\::} xxxx : xxxxxxxx " xxxxxxx " xxxxxx " $x''$ \er{:} - \- - \br{\::} xxxx : xxxxxxxx " xxxxxxx " xxxxxx " $x''$ \er{:} - \br{\::} xxxx : xxxxxxxx " xxxxxxx " xxxxxx " $x''$ \er{:} - \- - \br{\::} xxxx : xxxxxxxx " xxxxxxx " xxxxxx " $x''$ \er{:} - \br{\::} xxxx : xxxxxxxx " xxxxxxx " xxxxxx " $x''$ \er{:} - \- - \br{\::} xxxx : xxxxxxxx " xxxxxxx " xxxxxx " $x''$ \er{:} - \br{\::} xxxx : xxxxxxxx " xxxxxxx " xxxxxx " $x''$ \er{:} - \- - \endtable -\hss \egroup - -Xxxxxxxx xxx xxxx xxxx xxxxx xxxxx xx Xxxxx~x xxx xxx xxxx, xxxx xxx xxx xxxx -xx xxx xxxxxxxx xxxxxxxx xxxxxxxxx xxxxx. Xx xxx x xxxxx xxxxxxx xx xxx xxxx -xx xxxxxxx, xx xxx xxxxxxx xx xx x xxxxxx xxxxxx xx xxxxx xxxxxxx xx xxxxxx xx -xxxx xxxxx xxxxxx x ``xxxxx xxxx'' xxxxxxxx. Xxxxx x xxxxx xx xxxx xxxxx xx -xxx xxxx xx xxxxxxx xxx xxxxxxxx. Xxxx xxx xxxx xxxxxxxx xx xxxxx xxx xxxxxx'x -xxxxxxxx xxxxxx xx xxxxx xxxxx, xxxxxxx xxx, xxx xxxxxx xxxx xxxx xxx xxxxx -xxxxx xxxxxxxx xxx xxxxxxxx. Xxx xxxxxxx, xx xxx xxxxx xxxxx xxxxxx xxxx xxxx -xxxxxx, xx xxx xxxx xxxxxx xxxxxxxx xxx xxx xxxxx. Xxx xxxxxxx xxx xxxxx xx -Table~3. - - -\font\eri=cmti8 - -Xx xxxxxx xx xxxxxxxxxx xxxx xxxxx xxxxxx xxxx xxxxxxxx xxxx xxx xxx xxxxxxx -xxxxx xx xxx xxxx xxxxx xxx xx xxx xx xxx xxx xxxxxxxxx xx xxxxxxx xxxx xx xxx -xxx xxxxx xxxxx xxxxxx. Xxxxx~x xxxxxxx xxxx xxx xxxxx xxxxxxx, xx xx -xxxxxxxxx xxxxxxxxx xx xxxxxxxx xx xxxx xxxx xxxxxxx xxxx xxx xxxx xxx xxxx -xxxxxxxx xxxxxxxxxxx xxx xxx xxxxxx xx xx xxxxxxx. Xxxxxxxxx xxxxxxx xxxxx xxx -xx xxxxxxxx xxxxxx xxxx xxx xxxx xxxxxxx xx x xxxxx xxxxxxxxx, xxx xxx -xxxxxxxx xx xxx xxxxxxxxx? Xxx xxxx xxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx xx -XX-xxx, xxx xxxxxxxxx xx xxx {xxx Xxxxxx xxxxxx Xxxx -xxx},\numberedfootnote{\erm Xxxx Xx xx xxx xxxx Xxxxxx Xxxxxxx xxxx xxxxx -xxxx.} ``X xxxxxxx xxxxx xxxxxxxxx xxx Xxxxxx xxx xxx xxxx'x xxxxx xx xxxxxxxx -xxxx xx xxxxxxxxx xxxxxx xxxxxx xxxx xxxxxx xxxx.'' Xxxx xxxxxx xxxxx xx x -xxxxxxxx xxxx xxxxxxxx xxxxx xxxxxx xxx xxxxxxxx xxx xxx xxxxxxx xxx xx xxxx -xxxxxxx xxx xxxxxx xxxxxx xxxxxxxx xxx xxxx xxxxxxxxxxx xxxx xxx xxx xxxxxxx -xxx xxxxxx xxxxxx xx Xxxxxx xxxxx xx xxxx, xxx xxxxx xxx xxx xxxxxxxx xx x -Xxxxxx xxxxxxx xxxx xxx xxxx? Xxx xxxxxx xxxxx xx xx xxxxxxxxx xxx xxxxxxx -xxxx xxx xxxx xxxx xx Xxxxx~x xxx xxxxxx xxxx xxx xxxxxxx xxxx xxxxx xx -xxxxxxx xx xxxxxx xxx xx xxxxx. - -\singlecolumn - -\medskip\bigbreak -\midinsert -\centerline{Table 3---Xxxxxxxxx Xxxx Xxxxxxxx xx Xxxxxxxx} -\smallbreak -\line \bgroup \hss - \begintable - \begintableformat - & \center - \endtableformat - \- - \br{\::} : : \use{3} Xxxxxxxxxx Xxxxxxx: - : \use{3} Xxxxxx Xxxxxxx \er{:} - \br{\:} \zb{Xxxxxx} : \zb{Xxxx} : \use{3} \- - : \zb{Xxxx} : \use{3} \- \er{:} - \br{\::} : : -xxxxxxx " -xxxxxxx " -xxxxxxx : - : +xxxxxxx " +xxxxxxx " +xxxxxxx \er{:} - \- - \br{\::} {xxx x} : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx - : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx \er{:} - \- - \br{\::} {xxx x} : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx - : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx \er{:} - \- - \br{\::} {xxx x} : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx - : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx \er{:} - \- - \br{\::} {xxx x} : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx - : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx \er{:} - \- - \br{\::} {xxx x} : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx - : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx \er{:} - \- - \br{\::} {xxx x} : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx - : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx \er{:} - \- - \br{\::} {xxx x} : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx - : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx \er{:} - \- - \br{\::} {xxx x} : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx - : ~x-xx-xx : xxxxxx " ~xxxxxx " ~xxxxxx \er{:} - \- - \endtable -\hss \egroup -\endinsert - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/rule.tex b/Master/texmf-dist/source/eplain/base/test/rule.tex deleted file mode 100644 index 7001ca9a368..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/rule.tex +++ /dev/null @@ -1,23 +0,0 @@ -% This file is public domain. -% -\input eplain - -\hruledefaultheight = 4pt -\hruledefaultdepth = 8pt - -\vruledefaultwidth = 36pt - -\vglue 1in - -\line{\leaders\ehrule\hfil gA}% - -\smallskip -\ehrule -\medskip - -\noindent \evrule \quad Greetings -\smallskip -\vbox to 3in{\leaders\evrule\vfil gB} - -\hbox to 40pt{\downbracefill} % uses \vrule -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/sidx.tex b/Master/texmf-dist/source/eplain/base/test/sidx.tex deleted file mode 100644 index 88041620f09..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/sidx.tex +++ /dev/null @@ -1,5 +0,0 @@ -% This file is public domain. -% -\input eplain -\sidx{help} -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/subdef.tex b/Master/texmf-dist/source/eplain/base/test/subdef.tex deleted file mode 100644 index 55d624b729a..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/subdef.tex +++ /dev/null @@ -1,24 +0,0 @@ -% This file is public domain. -% -%Karl: on page 15 of the eplain manual (referring to subequation -%formatting) you say -% "Eplain's default definition just puts a period between them:" -%However, when I run eplain (version 2.3 dated "Mon Mar 1 06:30:39 EST -%1993") I get a colon ":" between the two. Below is a sample file. -% Adam H. Lewenberg adam@math.uiuc.edu -%%%%%%%%%% -\input eplain %Version 2.3 "Mon Mar 1 06:30:39 EST 1993" - -$$5+5=10\eqdefn{ggg}$$ -$$4+5=10\eqsubdef{b-eq}$$ - -\eqref{ggg} is correct and \eqrefn{b-eq} is incorrect. - - -\end - -Date: Tue, 8 Jun 1993 09:46:11 -0500 -From: "Adam H. Lewenberg" <adam@symcom.math.uiuc.edu> -To: karl@cs.umb.edu -Subject: subeq referencing in eplain.tex (v. 2.3) -Cc: adam@symcom.math.uiuc.edu diff --git a/Master/texmf-dist/source/eplain/base/test/tenenb.tex b/Master/texmf-dist/source/eplain/base/test/tenenb.tex deleted file mode 100644 index 89cd534e55d..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/tenenb.tex +++ /dev/null @@ -1,48 +0,0 @@ -% This file is public domain. -% -%Date: Sun, 7 Jan 2001 20:31:13 +0100 -%To: tex-eplain@tug.org -%From: Gerald Tenenbaum <tenenb@arcturus.ciril.fr> -%Subject: doublecolumns again -%Cc: -%Bcc: -%X-Attachments: -% -%Hi, -% -%Here is a small file: -% -%***************************** -\magnification1200 -\input eplain.tex -\vsize30mm\hsize100mm - -This is an example of an apparent bug in {\tt $\backslash$doublecolumns}. -This is an example of an apparent bug in {\tt -$\backslash$doublecolumns}. This is -an example of an apparent bug in {\tt $\backslash$doublecolumns}. This is an -example of an apparent bug in {\tt $\backslash$doublecolumns}. This -is an example -of an apparent bug in {\tt $\backslash$doublecolumns}. This is an example of an -apparent bug in {\tt $\backslash$doublecolumns}. -\par -\obeylines\doublecolumns -item 1 -item 2 -item 3 -item 4 -item 5 -item 6 - \singlecolumn -\bye -************************************* - -Has anyone an explanation for this bad behaviour and an idea for a fix? - -Best wishes, - - Gérald - - - - diff --git a/Master/texmf-dist/source/eplain/base/test/tenenb2.tex b/Master/texmf-dist/source/eplain/base/test/tenenb2.tex deleted file mode 100644 index 734299c3726..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/tenenb2.tex +++ /dev/null @@ -1,23 +0,0 @@ -% This file is public domain. -% -% Gerald Tenenbaum, tenenb@arcturus.ciril.fr -% 7 Jan 2001 - -%\magnification 1200 -\input ../eplain -\vsize 30mm -\hsize 100mm - -This is an example of an apparent bug in double columns. -This is an example of an apparent bug in double columns. -This is an example of an apparent bug in double columns. -This is an example of an apparent bug in double columns. -This is an example of an apparent bug in double columns. -This is an example of an apparent bug in double columns. -This is an example of an apparent bug in double columns. - -\doublecolumns -This is an example of an apparent bug in double columns. -\singlecolumn - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/test.tex b/Master/texmf-dist/source/eplain/base/test/test.tex deleted file mode 100644 index 779d8adf662..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/test.tex +++ /dev/null @@ -1,14 +0,0 @@ -% This file is public domain. -% -\input ../eplain -\input asibook.gst - -\comment The title is actually irrelevant: we don't do the title page. -\title{Wavelets and their applications} - -\comment The other front stuff happens in asibook.gst's \producepreliminary, -\comment which is called by virtue of the \part here. - -\backthing{test.index} - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/time.tex b/Master/texmf-dist/source/eplain/base/test/time.tex deleted file mode 100644 index 90751506091..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/time.tex +++ /dev/null @@ -1,10 +0,0 @@ -% This file is public domain. -% -\input eplain - -\timestring - -\time = 68 -\timestring - -\end diff --git a/Master/texmf-dist/source/eplain/base/test/truemarg.tex b/Master/texmf-dist/source/eplain/base/test/truemarg.tex deleted file mode 100644 index b057a86b94f..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/truemarg.tex +++ /dev/null @@ -1,36 +0,0 @@ -% This file is public domain. -% -% Some code to test margin-setting macros in concert with -% \magnification. - -\input ../eplain % margin altered version - -%\magnification=\magstep0 -%\magnification=\magstep1 -%\magnification=\magstep2 -\magnification=\magstep3 - - -\nopagenumbers - -\paperheight=11truein -\paperwidth=8.5truein - -\topmargin=1truein -\leftmargin=1truein -\rightmargin=6truein -\bottommargin=3truein - -\parindent=0pt - -\vbox to \vsize{ -\hrule depth4truept -\vfill -\centerline{Magnification = \the\mag} -\vfill -\hrule height4truept -} - - -\bye - diff --git a/Master/texmf-dist/source/eplain/base/test/uscore.bib b/Master/texmf-dist/source/eplain/base/test/uscore.bib deleted file mode 100644 index 82b7bcb07b1..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/uscore.bib +++ /dev/null @@ -1,5 +0,0 @@ -% This file is public domain. - -@misc{bib_uscore, - title = "Underscore label" -} diff --git a/Master/texmf-dist/source/eplain/base/test/uscore.tex b/Master/texmf-dist/source/eplain/base/test/uscore.tex deleted file mode 100644 index 097230596e0..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/uscore.tex +++ /dev/null @@ -1,14 +0,0 @@ -% This file is public domain. -% -\ifx\undefined\eplain \input eplain \fi - -Define a label with an underscore in it. \xrdef{u_score} -Refer to it: \xref{u_score}. - -Make a citation, too: \cite{bib_uscore}. - -\bibliographystyle{plain} -\bibliography{uscore} - -\bye - diff --git a/Master/texmf-dist/source/eplain/base/test/usepackage.tex b/Master/texmf-dist/source/eplain/base/test/usepackage.tex deleted file mode 100644 index ab797823fe7..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/usepackage.tex +++ /dev/null @@ -1,146 +0,0 @@ -% This file is public domain. -% -% Test \usepackage with packages: color, graphicx, autopict, psfrag, url. -\input ../eplain - -\beginpackages - \usepackage[dvipsnames]{color} - %\usepackage[draft,hidescale]{graphicx,autopict}\let\ttfamily\relax - \usepackage{graphicx,autopict} - \usepackage{psfrag} - \usepackage[obeyspaces,spaces]{url}[2005/06/27] -\endpackages - -%\enablehyperlinks - -\ifpdf - \pdfpagewidth=8.5in - \pdfpageheight=11in -\fi - -% The following redefinition works around a bug in pdftex.def v0.03m -% related to \pagecolor. -\ifpdf -\makeatletter -\ifx\GPT@outputbox\undefined -\def\set@page@color{% - \@ifundefined{GPT@outputbox}{% - % \newbox is outer in plain - \csname newbox\endcsname\GPT@outputbox - }{}% - \global\let\current@page@color\current@color - \@ifundefined{GPTorg@shipout}{% - \global\let\GPTorg@shipout\shipout - \gdef\shipout{% - \afterassignment\GPT@shipout - \global\setbox\GPT@outputbox=% - }% - \gdef\GPT@shipout{% - \ifvoid\GPT@outputbox\relax - \aftergroup\GPT@@shipout - \GPT@pageliteral - \else - \GPTorg@shipout\vbox{% - \GPT@pageliteral - \box\GPT@outputbox - }% - \fi - }% - \gdef\GPT@@shipout{% - \GPTorg@shipout\box\GPT@outputbox\relax - }% - \gdef\GPT@pageliteral{% - \pdfliteral direct{% - q % gsave - \current@page@color\space - n % newpath - 0 0 \strip@pt\pdfpagewidth\space - \strip@pt\pdfpageheight\space re % rectangle - % there is no need to convert to bp - f % fill - Q% grestore - }% - }% - }{}% -} -\fi -\resetatcatcode -\fi - - -\pagecolor[rgb]{.3,.8,.95} - -\centerline{\bf URL, color, rotation and scaling tests:} -\smallskip - -{\color[rgb]{1,0.2,0.3} RGB-colored text. }Non-colored text.\par -{\color[cmyk]{.2,.7,.5,.1}CMYK-colored text. }Non-colored text.\par -{\color[gray]{.4} GRAY-colored text. }Non-colored text.\par -\definecolor{refcolor}{cmyk}{0.28,1,1,0.35} -{\color{refcolor}Defined color. }Non-colored text.\par -\colorbox{green}{Green-colored box.}\par -\colorbox[rgb]{1,0,0}{Red-colored box.}\par -%\fcolorbox doesn't work because plain TeX does not have LaTeX's \fbox -What is this: -\rotatebox[origin=c]{180}{\reflectbox{\color[rgb]{.5,.3,.3}% - \hloff[url]\url{http : // tug . org / eplain}}}\par -Example of a line break inside a URL: \url{http://www.this.is.some/very.very.very.long.URL/which.goes.on/and.on/and.on.html}\par -\textcolor{red}{Predefined color `{\tt red}'. }Non-colored text.\par -\rotatebox{20}{\scalebox{2}[5]{\color[named]{DarkOrchid}Rotated, - scaled, and colored text.}}\par -\resizebox{1in}{\height}{Some text $\sum$.} - \resizebox*{1in}{\height}{Some text $\sum$.} - \resizebox{1in}{!}{Some text $\sum$.}\par - - -\bigskip -\centerline{\bf \LaTeX's picture environment:} -\smallskip - -\picture(50,50) - \color{red} - \thicklines - \put(0,0){\line(1,1){50}} - \color{blue} - \put(40,0){\circle{50}} - \put(0,0){\vector(1,0){50}} - \color{green} - \put(20,0){\circle*{12}} - \put(55,40){\oval(80,70)[t]} - \color{black} - \put(55,40){\oval(50,30)} - \bezier{0}(10,10)(40,90)(110,90) - %\qbezier does not work - %\qbezier[0](10,10)(40,90)(110,90) -\endpicture - -\LaTeXbegin - -\begin{picture}(40,40) -\put(0,0){\vector(1,1){40}} -\multiput(0,5)(10,10){4}{a} -\end{picture} - -\vfil\eject - - -\pagecolor[named]{SkyBlue} - -\centerline{\bf PSfrag test (uses {\tt example.eps} from the PSfrag package):} -\smallskip - -\centerline{\includegraphics[width=3.5in]{example.eps} -\quad -\psfragscanon -\psfrag*{p1}[][l]{$\ast$} -\psfrag{p2}[][l]{$\ast$} -\psfrag{p3}{$\cos(t)$} -\includegraphics[width=3.5in]{example.eps}} - - -\bye - -% Local variables: -% compile-command: "(cd .. && make eplain.tex) && pdftex --interact=nonstopmode usepackage.tex" -% compile-command: "(cd .. && make eplain.tex) && tex --interact=nonstopmode usepackage.tex && dvips -t letter usepackage.dvi -o" -% End: diff --git a/Master/texmf-dist/source/eplain/base/test/verb2.tex b/Master/texmf-dist/source/eplain/base/test/verb2.tex deleted file mode 100644 index b3c7c4ad54c..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/verb2.tex +++ /dev/null @@ -1,61 +0,0 @@ -% This file is public domain. -% -% Date: Wed, 30 Mar 94 09:50:27 CST -% From: dorai@cs.rice.edu (Dorai Sitaram) -% To: karl@cs.umb.edu -% Subject: eplain 2.4's \verbatim: problem & fix - -\input eplain - -Testing Eplain's \verbatim verbatim|endverbatim - -\def\junk{{\it Some obviously $a^2+b^2$ non-verbatim stuff}} - -\bigskip\bigskip - -First let's test if the default | works - -\verbatim -verbatim starts -Some special chars: - !@#$%^&*()_+ -Now test if doubling works: - This line ends with a single || -Now test if I can use || to get non-verbatim stuff: - \junk -verbatim ends -|endverbatim - -\bigskip\bigskip - -Now let's try the same with escape set to \#. -\verbatimescapechar\# - -\verbatim -verbatim starts -Some special chars: - !@$%^&*()_+ -Now test if doubling works: - This line ends with a single ## -Now test if I can use ## to get non-verbatim stuff: - #junk -verbatim ends -#endverbatim - -\bigskip\bigskip - -Now with @. -\verbatimescapechar\@ - -\verbatim -verbatim starts -Some special chars: - !#$%^&*()_+ -Now test if doubling works: - This line ends with a single @@ -Now test if I can use @@ to get non-verbatim stuff: - @junk -verbatim ends -@endverbatim - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/verbatim.tex b/Master/texmf-dist/source/eplain/base/test/verbatim.tex deleted file mode 100644 index 677d0f3b176..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/verbatim.tex +++ /dev/null @@ -1,65 +0,0 @@ -% This file is public domain. -% -\input eplain - -Leading spaces: - -\verbatim ----T--T---- -One - - Two - - Three - - Four - -Five -|endverbatim - -The same again with spaces on empty lines: - -\verbatim ----T--T---- -One - - Two - - Three - - Four - -Five -|endverbatim - -Now for some tabs: - -\verbatim ---------T-------T -One - - Two - - Three - - Four - -Five - -|endverbatim - -Here is how you can get vertical bars into verbatim: - -\verbatim -||!@#$%^&*()_-+=\~`{}[]:'';'<>?,./ -|endverbatim - -And here's you can use it in a paragraph: -\verbatim middle%%%%|endverbatim. And this is the example from the -manual, quoted with a leading space: `\verbatim| ||\#%&!|endverbatim'. - -Now we change the escape character to @ and have a leading space: -\verbatimescapechar @ -`\verbatim@ @@|my what big teeth you have!@endverbatim'. - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/vlach.tex b/Master/texmf-dist/source/eplain/base/test/vlach.tex deleted file mode 100644 index 1aa8262d1b6..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/vlach.tex +++ /dev/null @@ -1,258 +0,0 @@ -% This file is public domain. -% -%Date: Sun, 29 Nov 92 18:21:53 EST -%From: avlach@cleveland.next.nd.edu (alan vlach) -%To: Karl Berry <karl@ra.cs.umb.edu> -%Subject: Re: eplain -% -%My problem occurs when I try to call \singlecolumn too quickly after -%I have called \doublecolumns, which is probably bad style anyway, but -%here's a sample file (below) so you can see what's happening. -% -%Put \singlecolumn just one paragraph later and everything works OK. -% -%Thanks for looking at this. -% -%Sincerely, -%Alan Vlach -%alan.d.vlach.1@nd.edu -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\input eplain - -This is a dummy file just to show Karl Berry the problem I'm having. - -Here is a first paragraph of nonsense. Here is a first paragraph of -nonsense. Here is a first paragraph of nonsense. Here is a first -paragraph of nonsense. Here is a first paragraph of nonsense. Here is -a first paragraph of nonsense. Here is a first paragraph of nonsense. -Here is a first paragraph of nonsense. Here is a first paragraph of -nonsense. Here is a first paragraph of nonsense. Here is a first -paragraph of nonsense. Here is a first paragraph of nonsense. Here is -a first paragraph of nonsense. Here is a first paragraph of nonsense. -Here is a first paragraph of nonsense. Here is a first paragraph of -nonsense. - -Here is another paragraph of nonsense. Here is another paragraph of -nonsense. Here is another paragraph of nonsense. Here is another -paragraph of nonsense. Here is another paragraph of nonsense. Here is -another paragraph of nonsense. Here is another paragraph of nonsense. -Here is another paragraph of nonsense. Here is another paragraph of -nonsense. Here is another paragraph of nonsense. Here is another -paragraph of nonsense. Here is another paragraph of nonsense. Here is -another paragraph of nonsense. Here is another paragraph of nonsense. -Here is another paragraph of nonsense. Here is another paragraph of -nonsense. Here is another paragraph of nonsense. Here is another -paragraph of nonsense. Here is another paragraph of nonsense. Here is -another paragraph of nonsense. Here is another paragraph of nonsense. -Here is another paragraph of nonsense. Here is another paragraph of -nonsense. Here is another paragraph of nonsense. Here is another -paragraph of nonsense. Here is another paragraph of nonsense. Here is -another paragraph of nonsense. Here is another paragraph of nonsense. -Here is another paragraph of nonsense. Here is another paragraph of -nonsense. Here is another paragraph of nonsense. Here is another -paragraph of nonsense. - -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. - -\doublecolumns - -And here is where the double columns begin. -And here is where the double columns begin. -And here is where the double columns begin. -And here is where the double columns begin. -And here is where the double columns begin. -And here is where the double columns begin. -And here is where the double columns begin. -And here is where the double columns begin. -And here is where the double columns begin. -And here is where the double columns begin. -And here is where the double columns begin. -And here is where the double columns begin. -And here is where the double columns begin. -And here is where the double columns begin. - -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. - -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. - -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. - -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. - -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. - -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. - -\singlecolumn - -The single column resumes. The single column resumes. - -The single column resumes. The single column resumes. - -The single column resumes. The single column resumes. - -The single column resumes. The single column resumes. - -The single column resumes. The single column resumes. - -The single column resumes. The single column resumes. - -The single column resumes. The single column resumes. - -The single column resumes. The single column resumes. - -The single column resumes. The single column resumes. - -The single column resumes. The single column resumes. - -The single column resumes. The single column resumes. - -The single column resumes. The single column resumes. - -The single column resumes. The single column resumes. - - -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. -Here is the $n^{\rm th}$ paragraph of nonsense. - -This is the final paragraph. This is the final paragraph. -This is the final paragraph. This is the final paragraph. -This is the final paragraph. This is the final paragraph. -This is the final paragraph. This is the final paragraph. -This is the final paragraph. This is the final paragraph. -This is the final paragraph. This is the final paragraph. -This is the final paragraph. This is the final paragraph. -This is the final paragraph. This is the final paragraph. -This is the final paragraph. This is the final paragraph. -This is the final paragraph. This is the final paragraph. - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/whitespc.tex b/Master/texmf-dist/source/eplain/base/test/whitespc.tex deleted file mode 100644 index eb3ca0d6b3b..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/whitespc.tex +++ /dev/null @@ -1,51 +0,0 @@ -% This file is public domain. -% -\ifx\eplain\undefined \input eplain \fi - -\vbox{\obeywhitespace Does it work in vbox ?} - -This is some normal text, in a normal paragraph, that's been indented in -the normal way. Isn't that nice? The lines after the first aren't -indented, as usual. - -This line is the start of a paragraph; the obeyed material is next. And -it continues on the same line. -{\obeywhitespace This is the start of the obeyed stuff. - And this one by a couple spaces more than the indentation. -Back to the normal indentation--- some extra space there, did you notice? -That's it. -} -This is the end of the paragraph with the obeyed stuff, and it shouldn't -be indented, but it should start at the beginning of the line, since it -continues the paragraph. - -{\obeywhitespace This obeyed material starts a paragraph. -That line should have the normal indentation (so should this one). -And this line ends with the closing brace to the group.} -And this line continues the paragraph. - -{\obeywhitespace -Some more obeyed material (and a newline after the control sequence): - -That was a blank line above. -} - -That time no normal stuff continued the paragraph. It shouldn't have -made any difference. -Some more normal text, with spaces treated normally again. - -Here is some {\obeywhitespace obeyed stuff} in the middle of a line. -And this {\obeywhitespace more stuff} has multiple spaces before -the `more', that should be ignored. - -{\blanklineskipamount = -.5\baselineskip -\obeywhitespace The blank line after this line - -should be half as much as the blank lines above and below. -} - -{\obeywhitespace And now we should be - -back to normal.} - -\bye diff --git a/Master/texmf-dist/source/eplain/base/test/xampl.tex b/Master/texmf-dist/source/eplain/base/test/xampl.tex deleted file mode 100644 index 4b6eaab3f3e..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/xampl.tex +++ /dev/null @@ -1,13 +0,0 @@ -% This file is public domain. -% -% Test xampl.bib. -% -%\ifx\undefined\eplain \input eplain \fi -\input btxmac - -\bibliography{xampl} -\bibliographystyle{apalike} - -\nocite{*} - -\end diff --git a/Master/texmf-dist/source/eplain/base/test/xref.tex b/Master/texmf-dist/source/eplain/base/test/xref.tex deleted file mode 100644 index 70096bd29e9..00000000000 --- a/Master/texmf-dist/source/eplain/base/test/xref.tex +++ /dev/null @@ -1,39 +0,0 @@ -% This file is public domain. -% -% Test file for cross-references. -% -\ifx\undefined\eplain \input eplain \fi - -\catcode`\_ = 2 - -defining ``foo bar'': -\xrdef{foo bar}. - -and also a `sect' (make that word `Section') label `s' to be `3.1': -\definexref{s}{3.1}{sect}. -\def\sectword{Section} - -Let's also define two labels with a numbers, ``label1'' and ``label2'': -\xrdef{label1}\xrdef{label2} - -\vfill\eject - -defining ``foo baz''. -\xrdef{foo baz} -\vfill\eject - -Define something with all the other characters, including unprintable -ones: \xrdef{1234567890)(@!`['";:]|<>,./?À-=+}. - - -using everything (these should be page 1 and page 2): -\xref{foo bar} and \xref{foo baz}. - -And now the ones with numbers (page 1): \xref{label1} and \xref{label2}. - -And now the weird one (page 3): \xref{1234567890)(@!`['";:]|<>,./?À-=+}. - -ref, refn, and refs on s: \ref{s}, \refn{s}, \refs{s}. - -And an undefined one: \xref{undefined}. -\end diff --git a/Master/texmf-dist/source/eplain/base/util/idxuniq b/Master/texmf-dist/source/eplain/base/util/idxuniq deleted file mode 100644 index 6ee7d225f5c..00000000000 --- a/Master/texmf-dist/source/eplain/base/util/idxuniq +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/awk -f - -# (This file is public domain.) - -# This script filters input lines (which are expected to be a list of -# `\indexentry' lines for MakeIndex) eliminating matching lines. The comparison -# is done without regard to hyperlink label names (in the form `IDX*', where `*' -# stands for a non-negative integer). - -# This has to be done to avoid terms which differ only in hyperlink label names -# embedded into them, because MakeIndex will treat these otherwise identical -# terms as distinct, listing more than once a page number for equivalent terms -# on the same page. - -# `stripped' array is indexed by `\indexentry' lines stripped off the hyperlink -# label name. For each term, we use its stripped version as a key into the -# `stripped' array to increment its element. This records the fact that we have -# seen the term with such key. Also, we add the (full) `\indexentry' line to -# the `terms' array, but only if we have not yet seen a term with such key. - -# The idea was borrowed from Edition 3 of `GAWK: Effective AWK Programming: A -# User's Guide for GNU Awk', which contains the following credit: - -# histsort.awk --- compact a shell history file -# Thanks to Byron Rakitzis for the general idea - -{ - temp = $0 - sub (/{IDX[[:digit:]]+}/, "", temp) - if (stripped[temp]++ == 0) - terms[++count] = $0 -} - -END { - for (i = 1; i <= count; i++) - print terms[i] -} diff --git a/Master/texmf-dist/source/eplain/base/util/trimsee b/Master/texmf-dist/source/eplain/base/util/trimsee deleted file mode 100644 index 8af5ebe6434..00000000000 --- a/Master/texmf-dist/source/eplain/base/util/trimsee +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/sh - -# (This file is public domain.) - -help () -{ - cat <<EOF -Usage: trimsee [-i IS] [-o OS] [-s SEE] - trimsee {-h|--help|-v|--version} -Remove commas (or other page list separators) in front -of see / see also commands in the output of MakeIndex. -Input is read from stdin, output is directed to stdout. - --i IS use IS as a regular expression matching separator - in front of see / see also commands in the input - (default: '$DEFAULT_IS') --o OS use OS as a separator to replace IS in front of - see / see also commands (default: '$DEFAULT_OS') --s SEE use SEE as a regular expression matching see / - see also commands (default: '$DEFAULT_SEE') --h, --help show this help message --v, --version show version -EOF -} - -check_missing_arg () -{ - if (( $1 < 2 )); then - echo "Missing argument to option '$2'" 1>&2 - exit 1 - fi -} - -VERSION='0.1' - -DEFAULT_SEE='\\indexsee' -DEFAULT_IS=', \+' -DEFAULT_OS=' ' - -SEE=$DEFAULT_SEE -IS=$DEFAULT_IS -OS=$DEFAULT_OS - -while [ $# != 0 ] -do - case "$1" in - -i) - check_missing_arg $# "$1" - IS=$2 - shift - ;; - -o) - check_missing_arg $# "$1" - OS=$2 - shift - ;; - -s) - check_missing_arg $# "$1" - SEE=$2 - shift - ;; - -h | --help) - help - exit 0 - ;; - -v | --version) - echo "trimsee version $VERSION" - exit 0 - ;; - *) - echo "Unknown option '$1'" 1>&2 - exit 1 - ;; - esac - shift -done - - -# The idea is to implement line output delayed by one line. When we -# read next line, we check if it starts with a see/see also entry, and -# if it does, we remove the comma at the end of the previous line -# before printing it. We keep previous lines in the hold buffer. - -sed -n ' - -# Remove all commas in front of see/see also inside each line. -s/'"$IS$SEE/$OS$SEE"'/g - -# If this line does not start with see/see also, we will print the -# previous line intact. NOTE: There are two characters inside the -# brackets: a space and a tab. -/^[ ]*'"$SEE"'/! { x; b PRINT; } - -# This line starts with see/see also, so remove comma at the end of -# the previous line before we print it. -x -s/'"$IS"'$/'"$OS"'/ - -# Print the previous line. -:PRINT -1! p - -# At the end of the input, print the last line. -$ { x; p; } - -' diff --git a/Master/texmf-dist/source/eplain/base/xeplain.tex b/Master/texmf-dist/source/eplain/base/xeplain.tex deleted file mode 100644 index 5464d27a82e..00000000000 --- a/Master/texmf-dist/source/eplain/base/xeplain.tex +++ /dev/null @@ -1,4783 +0,0 @@ -% xeplain.tex: macros for nonformatting. Written 1989--94 by (mostly) -% Karl Berry. Some additions/changes 1997--98 by Adam Lewenberg. -% These macros are in the public domain. -% -% This is the ``extended plain'' TeX format that's described in -% `eplain.texinfo', which you should have received with this file. We -% assume plain has been loaded. -% -% N.B.: A version number is defined at the beginning and end of this file; -% please change those numbers whenever the file is modified! -% And it's best to rename the file if you're going to distribute a -% modified version. -% -% Some macros were written and/or suggested by Paul Abrahams. -% Other sources (e.g., The TeXbook) are cited at the appropriate places. -% -%% @texfile{ -%% author = "Karl Berry, Steven Smith, Oleg Katsitadze, and others", -%% version = "REPLACE-WITH-VERSION", -%% date = "REPLACE-WITH-DATE", -%% filename = "xeplain.tex", -%% email = "bug-eplain@tug.org", -%% checksum = "REPLACE-WITH-CHECKSUM", -%% codetable = "ASCII", -%% supported = "yes", -%% docstring = "This file defines macros that extend and expand on -%% plain TeX. eplain.tex is xeplain.tex and the other -%% source files with comments stripped; see the original -%% files for author credits, etc. And please base diffs -%% or other contributions on xeplain.tex, not the -%% stripped-down eplain.tex.", -%% } -% -% -% Load eplain.tex only once (to avoid using up \new's). -% \eplain is defined at the end of this file, so we can test \eplain to -% detect whether eplain.tex has been loaded already or not. -% -% We use \expandafter because the merge script strips any lines -% with an \endinput. -% -\ifx\eplain\undefined - \let\next\relax -\else - \expandafter\let\expandafter\next\csname endinput\endcsname -\fi -\next -% The ifpdf.sty file included below was written by Heiko Oberdiek. -% See the complete source file (e.g., in this distribution) for -% comments. -%% [[[include ifpdf.sty]]] -% -% -% Category codes, etc. -% -\def\makeactive#1{\catcode`#1 = \active \ignorespaces}% -\chardef\letter = 11 -\chardef\other = 12 -% The following two macros were adopted from miniltx.tex of graphics. -\def\makeatletter{% - \edef\resetatcatcode{\catcode`\noexpand\@\the\catcode`\@\relax}% - \catcode`\@11\relax -}% -\def\makeatother{% - \edef\resetatcatcode{\catcode`\noexpand\@\the\catcode`\@\relax}% - \catcode`\@12\relax -}% -% -% -% So we can have user-inaccessible control sequences. -% -\edef\leftdisplays{\the\catcode`@}% -\catcode`@ = \letter -\let\@eplainoldatcode = \leftdisplays -% -% Save miniscule amounts of memory and time by writing \toks@ii instead -% of \toks2. -\toksdef\toks@ii = 2 -% -% -% This macro is defined in The TeXbook, but it never made it -% into plain TeX. \dospecials is defined there, though. -% -\def\uncatcodespecials{% - \def\do##1{\catcode`##1 = \other}% - \dospecials -}% -% -% -% Here is a way to do \let^^M = \cs, where the \let need not be global. -{% - \makeactive\^^M % - \long\gdef\letreturn#1{\let^^M = #1}% -}% -% -% -% Swallow parameters, etc. -% -\let\@eattoken = \relax % Define this, so \eattoken can be used in \edef. -\def\eattoken{\let\@eattoken = }% -\def\gobble#1{}% -\def\gobbletwo#1#2{}% -\def\gobblethree#1#2#3{}% -% -% We can't just use \empty as the identity function, since then outer -% braces which would supposedly delimit the argument would define a group. -\def\identity#1{#1}% -% -% True if #1 is the empty string, i.e., called like `\ifempty{}'. -% Use notes: -% So far, \ifempty works in the following cases: -% 1. \ifempty{}\message{empty}\else\message{not empty}\fi --> empty -% 2. \ifempty\undefined\message{empty}\else\message{not empty}\fi --> not empty -% But does NOT work in the case -% 3. \def\empty{} -% \ifempty\empty\message{empty}\else\message{not empty}\fi --> not empty -% Question: When should \ifempty be true? -\def\@emptymarkA{\@emptymarkB} -% The above line suggested by Stanislav Brabec. -\def\ifempty#1{\@@ifempty #1\@emptymarkA\@emptymarkB}% -\def\@@ifempty#1#2\@emptymarkB{\ifx #1\@emptymarkA}% -% -% Turn a definition into the characters that compose it. See -% ``Sanitizing control sequences under \write'', by Ron Whitney, TUGboat -% 11(4), p.620. -\def\@gobblemeaning#1:->{}% -\def\sanitize{\expandafter\@gobblemeaning\meaning}% -% -% -% From p.308 of the TeXbook. This cannot be used in places where TeX -% might be skipping tokens, e.g., in conditionals. -% -\def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax}% -% -% -% \csname constructions come up an awful lot, so we save typing with the -% following. (But the extra macro expansion does take time, so we don't -% use these in frequently-executed code.) -% -\def\csn#1{\csname#1\endcsname}% -\def\ece#1#2{\expandafter#1\csname#2\endcsname}% -% -% -% \expandonce{TOKEN} abbreviates \expandafter\noexpand TOKEN. -% -\def\expandonce{\expandafter\noexpand}% -% -% -% Don't show our register allocations in the log. -% -\let\@plainwlog = \wlog -\let\wlog = \gobble -% -% -% Make it convenient to put newlines in error messages. -% -\newlinechar = `^^J -% -% -% Sometimes it is convenient to have everything in the transcript file -% and nothing on the terminal. We don't just call \tracingall here, -% since that produces some useless output on the terminal. -% -\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% -\def\loggingall{\tracingcommands\tw@\tracingstats\tw@ - \tracingpages\@ne\tracingoutput\@ne\tracinglostchars\@ne - \tracingmacros\tw@\tracingparagraphs\@ne\tracingrestores\@ne - \showboxbreadth\maxdimen\showboxdepth\maxdimen -}% -% Show the complete contents of boxes. -% -\def\tracingboxes{\showboxbreadth = \maxdimen \showboxdepth = \maxdimen}% -% -% Don't trace anything, except restore \showbox... to plain's values. -% -\def\gtracingoff{\begingroup \globaldefs = 1 \tracingoff \endgroup}% -\def\tracingoff{\tracingonline\z@\tracingcommands\z@\tracingstats\z@ - \tracingpages\z@\tracingoutput\z@\tracinglostchars\z@ - \tracingmacros\z@\tracingparagraphs\z@\tracingrestores\z@ - \showboxbreadth5 \showboxdepth3 -}% -% -% -% Definitions to produce actual `{' (et al.) characters in an output -% file via \write. We omit the line break after the first }, since we -% have no comment character at that point. -% -\begingroup - \catcode`\{ = 12 \catcode`\} = 12 - \catcode`\[ = 1 \catcode`\] = 2 - \gdef\lbracechar[{]% - \gdef\rbracechar[}]% - \catcode`\% = \other - \gdef\percentchar[%]\endgroup -% -% -% Leave horizontal mode (if we're in it), then insert a penalty. -% And conversely. -% -\def\vpenalty{\ifhmode\par\fi \penalty}% -\def\hpenalty{\ifvmode\leavevmode\fi \penalty}% -% -% -% Make \else usable in \loop. From Victor Eijkhout's TeX by Topic (page -% 104). See also Alois Kabelschacht, TUGboat 8(2), page 184. -% -\def\iterate{% - \let\loop@next\relax - \body - \let\loop@next\iterate - \fi - \loop@next -}% -% -% -% Add #2 (which is expanded in an \edef) to the end of the definition of -% #1 (which must be a previously-defined control sequence). This is a -% way to construct simple lists. -% -\def\edefappend#1#2{% - \toks@ = \expandafter{#1}% - \edef#1{\the\toks@ #2}% -}% -% -% -% \allowhyphens, from TeXbook, p. 395. Allows following & preceding word -% to be hyphenated. -% -\def\allowhyphens{\nobreak\hskip\z@skip}% -% -% -% -% Hooks. -% -% \hookaction{HOOK}{TOKENS} adds TOKENS to the list of actions for -% HOOK. We avoid defining a \toks register for each hook, although -% maybe that isn't so important. -% -% \hookappend and \hookprepend add TOKENS specificially to the end or -% the beginning. When the argument is used, \toks@ will be the previous -% value of the hook, and \toks@ii the new tokens. -% -\long\def\hookprepend{\@hookassign{\the\toks@ii \the\toks@}}% -\long\def\hookappend{\@hookassign{\the\toks@ \the\toks@ii}}% -\let\hookaction = \hookappend % either one should be ok -% -% -% \@hookassign{LAST-DEF}{HOOK}{TOKENS} makes \toks@ the previous value -% of HOOK, and \toks@ii TOKENS, and then assigns the new value using -% LASTDEF. We store the hook in a control sequence \@HOOKhook. -% -\long\def\@hookassign#1#2#3{% - % Make \toks@ be the expansion (to one level) of \@HOOKhook, or empty. - \expandafter\ifx\csname @#2hook\endcsname \relax - % If \@HOOKhook was undefined, let it be empty. - \toks@ = {}% - \else - % Otherwise, expand it to one level. We can't just assign from - % \expandafter{\csname ...} since then the \toks register would - % contain the control sequence, not its definition. - \expandafter\let\expandafter\temp \csname @#2hook\endcsname - \toks@ = \expandafter{\temp}% - \fi - \toks2 = {#3}% Don't expand the argument all the way. - \ece\edef{@#2hook}{#1}% -}% -% -% -% \hookactiononce{HOOK}\CS adds `\global\let\CS=\relax' to the -% definition of \CS, then adds to HOOK. Thus, \CS is expanded the next -% time HOOK is called, but then it goes away. This only works if \CS is -% expandable, though. -% -\long\def\hookactiononce#1#2{% - \edefappend#2{\global\let\noexpand#2\relax} - \hookaction{#1}#2% -}% -% -% -% \hookrun{HOOKNAME} runs whatever actions have been defined for HOOK. -% -\def\hookrun#1{% - \expandafter\ifx\csname @#1hook\endcsname \relax \else - % Isn't this fun? We want to get rid of the \fi before expanding - % the actions, so that they can read what's coming up next. - \def\temp{\csname @#1hook\endcsname}% - \expandafter\temp - \fi -}% -% -% -% -% Properties a la Lisp. -% -% \setproperty{ATOM}{PROPNAME}{VALUE} defines the property PROPNAME on the -% ``atom'' ATOM to have VALUE. -% -\def\setproperty#1#2#3{\ece\edef{#1@p#2}{#3}}% -\def\setpropertyglobal#1#2#3{\ece\xdef{#1@p#2}{#3}}% -% -% -% \getproperty{ATOM}{PROPNAME} expands to the value of the property -% PROPNAME on ATOM, or to nothing (i.e., \empty), if the property isn't -% present. -% -\def\getproperty#1#2{% - \expandafter\ifx\csname#1@p#2\endcsname\relax - % then \empty - \else \csname#1@p#2\endcsname - \fi -}% -% -% -% -% Macros to support BibTeX are in a separate file, btxmac.tex. -% -% (They are maintained separately, too, by Oren Patashnik, -% opbibtex@cs.stanford.edu.) btxmac.tex also defines other macros we -% want to use and make available. -% -% But not all people want to read the BibTeX macros, because of either -% space or time considerations. Therefore, we look for \nobibtex, -% which, if defined, causes btxmac.tex not to be read. But we still -% have to get \tokstostring et al. defined---so eplain.tex contains -% those definitions, automatically edited in from btxmac.tex. All the -% documentation has been removed, so you must read btxmac.tex if you -% want the comments. -% -% -% We want to give a slightly different message than btxmac if no .aux -% file exists (unless the person using us has already define some -% message, possibly empty.) -% -\ifx\@undefinedmessage\@undefined - \def\@undefinedmessage - {No .aux file; I won't warn you about undefined labels.}% -\fi -% -% -% We use a token register to define all the BibTeX definitions, to avoid -% problems with the \if... constructions when they are conditionally -% read. -% -%% [[[here is the first set of common definitions from btxmac]]] -\toks0 = {% - %% [[[here are the BibTeX-specific definitions from btxmac]]] -}% -\ifx\nobibtex\@undefined \the\toks0 \fi -%% [[[here is the second set of common definitions from btxmac]]] -% -% Here are the control sequences that btxmac.tex defines using an @, -% because btxmac.tex wants to absolutely minimize the chance of -% conflicts. But these control sequence implement documented features -% of eplain, so we want to allow people to use them without the @. -% -\let\auxfile = \@auxfile -\let\for = \@for -\let\futurenonspacelet = \@futurenonspacelet -\def\iffileexists{\if@fileexists}% -\let\innerdef = \@innerdef -\let\innernewcount = \@innernewcount -\let\innernewdimen = \@innernewdimen -\let\innernewif = \@innernewif -\let\innernewwrite = \@innernewwrite -\let\linenumber = \@linenumber -\let\readauxfile = \@readauxfile -\let\spacesub = \@spacesub -\let\testfileexistence = \@testfileexistence -\let\writeaux = \@writeaux -% -% -% btxmac.tex defines \innerdef. Let's use it to make an abbreviation -% for \innerdef\inner<name>{<name>}. -% -\def\innerinnerdef#1{\expandafter\innerdef\csname inner#1\endcsname{#1}}% -% -% Use that in turn to make non-outer versions of the rest of plain TeX's -% allocation macros. (btxmac.tex already did a few of them.) -% -\innerinnerdef{newbox}% -\innerinnerdef{newfam}% -\innerinnerdef{newhelp}% -\innerinnerdef{newinsert}% -\innerinnerdef{newlanguage}% -\innerinnerdef{newmuskip}% -\innerinnerdef{newread}% -\innerinnerdef{newskip}% -\innerinnerdef{newtoks}% -% -% -% Besides doing a \write to the aux file, we also need to do an -% \immediate\write. -% -\def\immediatewriteaux#1{% - \ifx\noauxfile\@undefined - \immediate\write\@auxfile{#1}% - \fi -}% -% -% -% We want \biblabelprint to define hyperlink destination. For that, -% we save the label for the current bibliography entry from within -% \bblitemhook. -\def\bblitemhook#1{\gdef\@hlbblitemlabel{#1}}% -% -\def\biblabelprint#1{% - \noindent - \hbox to \biblabelwidth{% - \hldest@impl{bib}{\@hlbblitemlabel}% - \biblabelprecontents - \biblabelcontents{#1}% - \biblabelpostcontents - }% - \kern\biblabelextraspace -}% -% We want each citation item to be hyperlink to bibliography entry. -% To avoid unnecessary warnings about undefined destinations (e.g., -% from pdfTeX), produce the link only when .bbl file (which does the -% \hldest's) is present. -\def\eplainprintcitepreitem#1{\hlstart@impl{cite}{#1}}% -\def\eplainprintcitepostitem{\hlend@impl{cite}}% -% -% -\def\printcitepreitem#1{% - \testfileexistence[\bblfilebasename]{bbl}% - \iffileexists - \global\let\printcitepreitem\eplainprintcitepreitem - \global\let\printcitepostitem\eplainprintcitepostitem - \else - \global\let\printcitepreitem\gobble - \global\let\printcitepostitem\relax - \fi - \printcitepreitem{#1}% -}% -% -% -% -% Macros that produce output. -% -% \obeywhitespace makes both end-of-lines and spaces in the input be -% respected in the output. Even spaces at the beginning of lines turn -% into blank space the size of the natural space of the current font. -% The reason why plain TeX's \obeyspaces does not do this last is that -% it produces actual space characters, i.e., glue, and glue is discarded -% at a(n output) line break, and so if line breaks in the input are -% line breaks in the output... -% -% Tabs are not affected; they will still produce glue (a single space). -% -\begingroup - \makeactive\^^M \makeactive\ % No spaces or ^^M's from here on. -\gdef\obeywhitespace{% -\makeactive\^^M\def^^M{\par\futurelet\next\@finishobeyedreturn}% -\makeactive\ \let =\ % -% -% The group we use here is the one \obeywhitespace must be enclosed in. -% If we don't do this, then if the obeyed stuff ends in a newline, the -% indent produced by the definition of ^^M will make that line indented, -% even if it isn't the end of the paragraph. -\aftergroup\@removebox% -\futurelet\next\@finishobeywhitespace% -}% -% -% \@finishobeywhitespace eats any spaces and/or the end-of-line after -% the \obeywhitespace command itself. The group here is the one that it -% itself creates. -% -\gdef\@finishobeywhitespace{{% -\ifx\next % -\aftergroup\@obeywhitespaceloop% -\else\ifx\next^^M% -\aftergroup\gobble% -\fi\fi}}% -% -% \@finishobeyedreturn is invoked at the end of every input line. We -% check if the next thing is also a return, and, if so, insert extra -% space. Then we start the next line. -% -\gdef\@finishobeyedreturn{% -\ifx\next^^M\vskip\blanklineskipamount\fi% -\indent% -}% -\endgroup -% -% The argument here is the space that we are supposed to eat after the -% \obeywhitespace command. -% -\def\@obeywhitespaceloop#1{\futurelet\next\@finishobeywhitespace}% -% -% -% This removes the last box, if it was a empty box of width \parindent. -% We might have been called inside a \vbox, so we have to test if we are -% in horizontal mode before using \lastbox. -% -\def\@removebox{% - \ifhmode - \setbox0 = \lastbox - \ifdim\wd0=\parindent - \setbox2 = \hbox{\unhbox0}% - \ifdim\wd2=0pt - % Don't put it back: it was an indentation box. - % This \ignorespaces ignores spaces after the group. - \ignorespaces - \else - \box2 % Put it back: it wasn't empty. - \fi - \else - \box0 % Put it back: it wasn't the right width. - \fi - \fi -}% -% -% We allow for extra (possibly negative) space when we hit blank lines. -% -\newskip\blanklineskipamount -\blanklineskipamount = 0pt -% -% -% A good way to print fractions in text when you don't want -% to use \over (which should be most of the time), and yet -% just `1/2' doesn't look right. (From the TeXbook, -% the answer to exercise 11.6, p.311.) -% -\def\frac#1/#2{\leavevmode - \kern.1em \raise .5ex \hbox{\the\scriptfont0 #1}% - \kern-.1em $/$% - \kern-.15em \lower .25ex \hbox{\the\scriptfont0 #2}% -}% -% -% -% The `e' just means `Eplain', as in `Eplain's hrule'. The advantage -% to using these is that you can change the default thickness. -% -\newdimen\hruledefaultheight \hruledefaultheight = 0.4pt -\newdimen\hruledefaultdepth \hruledefaultdepth = 0.0pt -\newdimen\vruledefaultwidth \vruledefaultwidth = 0.4pt -% -\def\ehrule{\hrule height\hruledefaultheight depth\hruledefaultdepth}% -\def\evrule{\vrule width\vruledefaultwidth}% -% -% -% The texnames.sty and path.sty files included below were originally -% written by Nelson Beebe and Philip Taylor, respectively. See the -% complete source files (e.g., in this distribution) for comments. -%% [[[include texnames.sty]]] -%% [[[include path.sty]]] -% -% -% A square box, suitable for being a marker in lists. -% -\def\blackbox{\vrule height .8ex width .6ex depth -.2ex \relax}% square bullet -% -% -% From p.311 of the TeXbook. -% -% Make an unfilled rectangle with the dimensions of \box0. #1 is the -% height of the rules, #2 the depth (i.e., the thicknesses). -% -\def\makeblankbox#1#2{% - \ifvoid0 - \errhelp = \@makeblankboxhelp - \errmessage{Box 0 is void}% - \fi - \hbox{\lower\dp0 - \vbox{\hidehrule{#1}{#2}% - \kern -#1% overlap rules - \hbox to \wd0{\hidevrule{#1}{#2}% - \raise\ht0\vbox to #1{}% vrule height - \lower\dp0\vtop to #1{}% vrule depth - \hfil\hidevrule{#2}{#1}% - }% - \kern-#1\hidehrule{#2}{#1}% - }% - }% -}% -% -\newhelp\@makeblankboxhelp{Assigning to the dimensions of a void^^J% - box has no effect. Do `\string\setbox0=\string\null' before you^^J% - define its dimensions.}% -% -% -% Produce an hrule with height #1 and depth #2, and insert kerning so it -% doesn't change the current position. -% -\def\hidehrule#1#2{\kern-#1\hrule height#1 depth#2 \kern-#2}% -% -% Produce a vrule with width #1+#2, kerning so as not to change the -% current position. -% -\def\hidevrule#1#2{% - \kern-#1% - \dimen@=#1\advance\dimen@ by #2% - \vrule width\dimen@ - \kern-#2% -}% -% -% -% The \boxit macro from the TeXbook, trivially generalized to allow -% something other than 3pt around the TeX box being boxed. -% -\newdimen\boxitspace \boxitspace = 3pt -% -\long\def\boxit#1{% - \vbox{% - \ehrule - \hbox{% - \evrule - \kern\boxitspace - \vbox{\kern\boxitspace \parindent = 0pt #1\kern\boxitspace}% - \kern\boxitspace - \evrule - }% - \ehrule - }% -}% -% -% -% Produce the written-out form of a number. -% -\def\numbername#1{\ifcase#1% - zero% - \or one% - \or two% - \or three% - \or four% - \or five% - \or six% - \or seven% - \or eight% - \or nine% - \or ten% - \or #1% - \fi -}% -% -% The following arrow macros were written by Steven Smith. See arrow.tex. -\let\@plainnewif = \newif -\let\@plainnewdimen = \newdimen -\let\newif = \innernewif -\let\newdimen = \innernewdimen -\edef\@eplainoldandcode{\the\catcode`& }% -\catcode`& = 11 -\toks0 = {% - %% [[[include arrow1]]] -}% -\catcode`& = 4 -\toks2 = {% - %% [[[include arrow2]]] -}% -\let\newif = \@plainnewif -\let\newdimen = \@plainnewdimen -\ifx\noarrow\@undefined \the\toks0 \the\toks2 \fi -\catcode`& = \@eplainoldandcode -% -% -% -% Environments. -% -% Define an ``environment'': arbitrary text, enclosed by \begingroup and -% \endgroup. But you get to label the group, so that if you forget an -% \environment or an \endenvironment, you will probably get an error -% message about it. -% -% Since the environment names appear in \errmessage arguments, it's best -% to keep them to `letter' and `other' characters. I suppose we could -% call \tokstostring to allow more general labels. -% -% These macros improve slightly on the answer to exercise 5.7 in -% The TeXbook, by making some checks on \begingroup and \endgroup, as -% well as just making sure \environment and \endenvironment's match. -% -% -\def\environment#1{% - \ifx\@groupname\@undefined\else - % This gets invoked if we have two \environments (and no matching - % \endenvironment to the first) with an \endgroup in between. - \errhelp = \@unnamedendgrouphelp - \errmessage{`\@groupname' was not closed by \string\endenvironment}% - \fi - % Use \edef in case we are passed a macro that contains the name, - % instead of the name. - \edef\@groupname{#1}% - \begingroup - \let\@groupname = \@undefined -}% -% -\def\endenvironment#1{% - \endgroup - \edef\@thearg{#1}% - \ifx\@groupname\@thearg - \else - \ifx\@groupname\@undefined - % Unfortunately, one gets an `extra \endgroup' message before - % seeing this. But we have to restore \@groupname, so I see no - % alternative. - \errhelp = \@isolatedendenvironmenthelp - \errmessage{Isolated \string\endenvironment\space for `#1'}% - \else - \errhelp = \@mismatchedenvironmenthelp - \errmessage{Environment `#1' ended, but `\@groupname' started}% - \endgroup % Probably a typo in the names. - \fi - \fi - \let\@groupname = \@undefined -}% -% -\newhelp\@unnamedendgrouphelp{Most likely, you just forgot an^^J% - \string\endenvironment. Maybe you should try inserting another^^J% - \string\endgroup to recover.}% -% -\newhelp\@isolatedendenvironmenthelp{You ended an environment X, but^^J% - no \string\environment{X} to start it is anywhere in sight.^^J% - You might also be at an \string\endenvironment\space that would match^^J% - a \string\begingroup, i.e., you forgot an \string\endgroup.}% -% -\newhelp\@mismatchedenvironmenthelp{You started an environment named X, but^^J% - you ended one named Y. Maybe you made a typo in one^^J% - or the other of the names?}% -% -% -% The above sort of environment allows nesting. But environments -% shouldn't always be allowed to nest (like the \flushright, -% \flushleft, and \center ones defined below). Here are some macros to -% help deal with that. -% -% \checkenv goes at the beginning of a macro that is -% going to define the environment. -% -\newif\ifenvironment -\def\checkenv{\ifenvironment \errhelp = \@interwovenenvhelp - \errmessage{Interwoven environments}% - \egroup \fi -}% -% -\newhelp\@interwovenenvhelp{Perhaps you forgot to end the previous^^J% - environment? I'm finishing off the current group,^^J% - hoping that will fix it.}% -% -% -% -% Mathematics displays. -% -% By default, TeX centers displayed material. To get left-justified -% displays, say \leftdisplays. To go back to centered displays, say -% \centereddisplays. -% -% This is based on an approach developed by Donald Arseneau, -% asnd@triumfrg.bitnet. -% -\newtoks\previouseverydisplay -% Here we want to make ordinary math displays flush left, -% indented by the dimen \leftdisplayindent, which defaults -% to \parindent. -% -% How do you want the first column aligned? -\let\@leftleftfill\relax % as it was -%\let\@leftleftfill\hfill % makes more sense, but could be too ugly -% -% Surely it makes more sense to not sum \leftdisplayindent+\parindent -\newdimen\leftdisplayindent \leftdisplayindent=\parindent -\newif\if@leftdisplays -% -\def\leftdisplays{% - \if@leftdisplays\else - \previouseverydisplay = \everydisplay - \everydisplay = {\the\previouseverydisplay \leftdisplaysetup}% - \let\@save@maybedisableeqno = \@maybedisableeqno - \let\@saveeqno = \eqno - \let\@saveleqno = \leqno - \let\@saveeqalignno = \eqalignno - \let\@saveleqalignno = \leqalignno - \let\@maybedisableeqno = \relax - \def\eqno{\hfill\textstyle\enspace}% - \def\leqno{% - \hfill - \hbox to0pt\bgroup - \kern-\displaywidth - % was: \kern-\displayindent % really \displayindent? - \kern-\leftdisplayindent % I'll use just \leftdisplayindent - $\aftergroup\@leftleqnoend % inserted after ending $ - }% - \@redefinealignmentdisplays - \@leftdisplaystrue - \fi -}% -\newbox\@lignbox -\newdimen\disprevdepth - -% In order to use $$ for left-aligned equation we have to -% put something like \leftline{$\displaystyle ...$} in the -% display. Then \eqno works basically like \hfill. -% In order to make $$<assignments>\eqalignno{...}$$ work as -% expected, including page breaks, we have to get rid of the -% horizontal box, and un-vbox the alignment. Sadly, \unvbox -% does not perform baselineskip handing, so we need to get -% the \prevdepth ourselves...in order to get the prevdepth, -% the outermost display must be an alignment display. -% Therefore, an ordinary $$ a=b $$ becomes: -% $$\halign{#\cr\noalign{\disprevdepth = \prevdepth -% \leftline{$\displaystyle a=b$} -% }}$$ -% -\def\centereddisplays{% - % If \leftdisplays hasn't been called, don't try to restore all the - % stuff it changes. - % - \if@leftdisplays - \everydisplay = \previouseverydisplay - \let\@maybedisableeqno = \@save@maybedisableeqno - \let\eqno = \@saveeqno - \let\leqno = \@saveleqno - \let\eqalignno = \@saveeqalignno - \let\leqalignno = \@saveleqalignno - \@leftdisplaysfalse - \fi -}% -% -\def\leftdisplaysetup{% -% surely not this *and* \leftdisplayindent? : \dimen@ = \parindent - \dimen@ = \leftdisplayindent - \advance\dimen@ by \leftskip - \advance\displayindent by \dimen@ - \advance\displaywidth by -\dimen@ -% this outermost alignment doesn't align anything. - \halign\bgroup##\cr \noalign\bgroup - \disprevdepth = \prevdepth - \setbox\z@ = \hbox to\displaywidth\bgroup - % Why strut?? \strut - % Why this?? \advance\hsize by -\displayindent - $\displaystyle - \aftergroup\@lefteqend % inserted after ending $ -} -% -\def\@lefteqend{% gets inserted between the ending $$ - \hfil\egroup% end box 0 - \@putdisplay} -% gets inserted between trailing $$. -\def\@leftleqnoend{\hss \egroup $}% end the \hbox to 0pt for \leqno, restore $ -% -\def\@putdisplay{% - \ifvoid\@lignbox % Ordinary display; use it. - \moveright\displayindent\box\z@ - \else % alignment display; unwrap alignment - \prevdepth = \dp\@lignbox % affects the skip *below* - \unvbox\@lignbox - \fi - \egroup\egroup % end \noalign, end outer \halign - $% restore first $ of trailing $$ -} -% -\def\@redefinealignmentdisplays{% - \def\displaylines##1{ - \global\setbox\@lignbox\vbox{% - \prevdepth = \disprevdepth - \displ@y - \tabskip\displayindent - \halign{\hbox to\displaywidth - {$\@lign\displaystyle####\hfil$\hfil}\crcr - ##1\crcr}}}% - \def\eqalignno##1{% - \def\eqno{&}% - \global\setbox\@lignbox\vbox{% - \prevdepth = \disprevdepth - \displ@y - \advance\displaywidth by \displayindent - \tabskip\displayindent - \halign to\displaywidth{% - \hfil $\@lign\displaystyle{####}$\@leftleftfill\tabskip\z@skip - &$\@lign\displaystyle{{}####}$\hfil\tabskip\centering - &\llap{$\@lign####$}\tabskip\z@skip\crcr - ##1\crcr}}}% - \def\leqalignno##1{% - \def\eqno{&}% - \global\setbox\@lignbox\vbox{% - \prevdepth = \disprevdepth - \displ@y - \advance\displaywidth by \displayindent - \tabskip\displayindent - \halign to\displaywidth{% - \hfil $\@lign\displaystyle{####}$\@leftleftfill\tabskip\z@skip - &$\@lign\displaystyle{{}####}$\hfil\tabskip\centering - &\kern-\displaywidth -% \showthe\displayindent \showthe\leftdisplayindent - \rlap{\kern\displayindent \kern-\leftdisplayindent$\@lign####$}% - \tabskip\displaywidth\crcr - ##1\crcr}}}% -}% -% -% \noalign is typically used to insert a few words (`and', for example) -% between two aligned equations. So I don't think the \noaligned -% material should be indented. Since \noalign takes <vertical mode -% material>, we would end up with double indentation, anyway: one -% because we're indenting the whole display, and one at the start of the -% <v.m.m.>. (If you want to change any of this, you can put something in -% \@everynoalign.) So, we use this definition for \noalign in a -% left-justified \eqalignno: -% -\let\@primitivenoalign = \noalign -\newtoks\@everynoalign -\def\@lefteqalignonoalign#1{% - \@primitivenoalign{% - % Is it right to set \leftskip=0pt first, thus perhaps making this - % work in lists and so forth? We just compensate for the other ways - % the display is indented here. - \advance\leftskip by -\parindent - \advance\leftskip by -\leftdisplayindent - \parskip = 0pt - % - % We use \parindent=0pt instead of \noindent because the latter - % starts unrestricted horizontal mode, which means the alignment - % we're inside will wind up being as wide as the page. When the arg - % is just vertical material, this is wrong. For example, using - % \matrix inside \eqalignno fails if \noindent is used. - \parindent = 0pt - \the\@everynoalign - #1% - }% -}% -% -% -% -% Time macros. -% -% TeX sets \time, \day, \month, and \year when it begins. (And does not -% update them as it runs!) -% -% -% \monthname produces the name of the month, abbreviated to three -% letters. The primitive \month should never be zero. -% -\def\monthname{% - \ifcase\month - \or Jan\or Feb\or Mar\or Apr\or May\or Jun% - \or Jul\or Aug\or Sep\or Oct\or Nov\or Dec% - \fi -}% -% -% \fullmonthname is like \monthname, except it doesn't abbreviate. -% -\def\fullmonthname{% - \ifcase\month - \or January\or February\or March\or April\or May\or June% - \or July\or August\or September\or October\or November\or December% - \fi -}% -% -% \timestring produces the current time, in a format like `1:14 p.m.'. -% -\def\timestring{\begingroup - \count0 = \time - \divide\count0 by 60 - \count2 = \count0 % The hour, from zero to 23. - % - \count4 = \time - \multiply\count0 by 60 - \advance\count4 by -\count0 % The minute, from zero to 59. - % But we need the minutes with a leading zero, if necessary. - \ifnum\count4<10 - \toks1 = {0}% - \else - \toks1 = {}% - \fi - % - % Convert the hour into `a.m.' or `p.m.', and make it mod 12. - \ifnum\count2<12 - \toks0 = {a.m.}% - \else - \toks0 = {p.m.}% - \advance\count2 by -12 - \fi - % - % If it's midnight, call it `12', not `0'. - \ifnum\count2=0 - \count2 = 12 - \fi - % - % Produce the output. - \number\count2:\the\toks1 \number\count4 \thinspace \the\toks0 -\endgroup}% -% -% -% \timestamp produces a text string for the whole thing like -% `23 Apr 1964 1:14 p.m.'. -% -\def\timestamp{\number\day\space\monthname\space\number\year\quad\timestring}% -% -% -% \today produces the current date, as in `23 April 1964'. -% -\def\today{\the\day\ \fullmonthname\ \the\year}% -% -% -% -% (Typographical) lists. -% -% These macros can produce numbered or unnumbered lists. -% -% You can change the spacing by assigning new values to these registers. -% They are used by both kinds of lists. \listleftindent is relative to -% the current paragraph indentation, while \listrightindent is an -% absolute value. I do this for two reasons: (1) it is more useful, if not -% more ``logical'', to make list indentation depend on the paragraph -% indentation; (2) footnotes do not work if \parindent is zero, and -% having a footnote in a list item is perfectly reasonable. -% -% If you change \baselineskip and want \abovelistskip and \belowlistskip -% to retain their meanings here, you will have to reassign to them. The -% \baselineskip here is the value at the time eplain.tex is read, i.e., -% 12pt (most likely). -% -% If the items in your lists are very long, you might want to -% make \interitemskipamount nonzero. -% -\newskip\abovelistskipamount \abovelistskipamount = .5\baselineskip - \newcount\abovelistpenalty \abovelistpenalty = 10000 - \def\abovelistskip{\vpenalty\abovelistpenalty \vskip\abovelistskipamount}% -\newskip\interitemskipamount \interitemskipamount = 0pt - \newcount\belowlistpenalty \belowlistpenalty = -50 - \def\belowlistskip{\vpenalty\belowlistpenalty \vskip\belowlistskipamount}% -\newskip\belowlistskipamount \belowlistskipamount = .5\baselineskip - \newcount\interitempenalty \interitempenalty = 0 - \def\interitemskip{\vpenalty\interitempenalty \vskip\interitemskipamount}% -\newdimen\listleftindent \listleftindent = 0pt -\newdimen\listrightindent \listrightindent = 0pt -\let\listmarkerspace = \enspace -% -% To do arbitrary things at the start of each list: -\newtoks\everylist -% -% If you want no space between items for a particular list -% (perhaps because the items in it are short), you can say, -% e.g., \numberedlist\listcompact. -% -\def\listcompact{\interitemskipamount = 0pt \relax}% -% -% This is called to set up the parameters by both sorts of lists. -% Because we set \rightskip, we finish off the current paragraph. -% -\newdimen\@listindent -% -\def\beginlist{% - % Insert the space above this list, before we change \leftskip - % (because the \vskip in here might be what ends the paragraph). - \abovelistskip - % - \@listindent = \parindent - \advance\@listindent by \listleftindent - % - % \leftskip shifts nested lists to the right on the page. - \advance\leftskip by \@listindent - \advance\rightskip by \listrightindent - % - % We always need \itemnumber, so we can know whether an item is the - % first one or not. - \itemnumber = 1 - % - \the\everylist -}% -% -% A list item, for both kinds of lists. -% -\def\li{\@getoptionalarg\@finli}% -\def\@finli{% - % Save \@optionalarg in case \interitemskip garble it. - \let\@lioptarg\@optionalarg - % Write xref definition but do not define hyperlink destination - % (\printitem will do it). - \ifx\@lioptarg\empty \else - \begingroup - \@@hldestoff - \expandafter\writeitemxref\expandafter{\@lioptarg}% - \endgroup - \fi - \ifnum\itemnumber=1 \else \interitemskip \fi - % Add hyperlink destination in front of \marker before doing \printitem. - \begingroup - \ifx\@lioptarg\empty \else - \toks@ = \expandafter{\@lioptarg}% - \let\li@nohldest@marker\marker - \edef\marker{\noexpand\hldest@impl{li}{\the\toks@}\noexpand\li@nohldest@marker}% - \fi - \printitem - \endgroup - \advance\itemnumber by 1 - \advance\itemletter by 1 - \advance\itemromannumeral by 1 - % - % Just in case somebody creeps in with an argument or something. - \ignorespaces -}% -% -% \writeitemxref{LABEL} writes out a definition for LABEL to be \marker -% for the aux file. -% -\def\writeitemxref#1{\definexref{#1}\marker{item}}% -% -% \printitem is used to print items by both sorts of lists. A \par gets -% produced before every item -- even the first one. We also want to -% make paragraphs after the first appear to be indented -- i.e., they -% will have double indentation. It is usually bad exposition to have -% lists with multiparagraph items, but sometimes it is unavoidable. -% -\def\printitem{% - \par - \nobreak - \vskip-\parskip - \noindent - \printmarker\marker -}% -% -% Output the list marker. -% -\def\printmarker#1{\llap{\marker \enspace}}% -% -% Common ending. -% -\def\endlist{\belowlistskip}% -% -% -% \numberedlist produces items which are numbered sequentially, starting -% from one. You start items with \li (`list item'). End the list with -% \endnumberedlist. -% -% A nested \numberedlist produces items labelled `(a)', `(b)', etc. A -% doubly (and deeper) nested \numberedlist labels items with `*'. -% -% These registers keep track of where we are. -% -\newcount\numberedlistdepth -\newcount\itemnumber -\newcount\itemletter -\newcount\itemromannumeral -% -\def\numberedmarker{% - \ifcase\numberedlistdepth - (impossible)% - \or \printitemnumber - \or \printitemletter - \or \printitemromannumeral - \else *% - \fi -}% -% -% These produce the text of the labels. We use \the\itemletter so that -% the value will expand. -% -\def\printitemnumber{\number\itemnumber}% -\def\printitemletter{\char\the\itemletter}% -\def\printitemromannumeral{\romannumeral\itemromannumeral}% -\def\numberedprintmarker#1{\llap{#1) \listmarkerspace}}% -% -\def\numberedlist{\environment{@numbered-list}% - % This is set back to zero by getting to the end of the group. - \advance\numberedlistdepth by 1 - \itemletter = `a - \itemromannumeral = 1 - \beginlist - \let\marker = \numberedmarker - \let\printmarker = \numberedprintmarker -}% -% -\def\endnumberedlist{% - \par - \endenvironment{@numbered-list}% - \endlist -}% -% -% Allow synonyms for \numberedlist. -\let\orderedlist = \numberedlist -\let\endorderedlist = \endnumberedlist -% -% -% -% \unorderedlist produces items which are labelled with bullets. You -% start an item with \li, just as with numbered lists. You end the list -% with \endunorderedlist. -% -% A nested \unorderedlist produces items labelled with em-dashes. A -% doubly (and deeper) nested \unorderedlist uses `*'. -% -\newcount\unorderedlistdepth -% -\def\unorderedmarker{% - \ifcase\unorderedlistdepth - (impossible)% - \or \blackbox - \or ---% - \else *% - \fi -}% -\def\unorderedprintmarker#1{\llap{#1\listmarkerspace}}% -% -\def\unorderedlist{\environment{@unordered-list}% - \advance\unorderedlistdepth by 1 - \beginlist - \let\marker = \unorderedmarker - \let\printmarker = \unorderedprintmarker -}% -% -\def\endunorderedlist{% - \par - \endenvironment{@unordered-list}% - \endlist -}% -% -% -% -% Verbatim listing. -% -% ... well, almost verbatim. We assume the font \tt has all the -% characters that will appear. Control characters, except for tabs and -% form feeds (and returns) won't produce anything useful. Tabs produce -% a fixed amount of space, and form feeds produce a page break. -% -% This is based on Knuth's ideas in Appendix D of the TeXbook, p. 380. -% The argument should be a filename. -% -% if you need to do something more for your particular fonts and/or -% environment before the file is input, give a definition to -% \setuplistinghook. If you want line numbers on the output, you can -% say \let\setuplistinghook = \linenumberedlisting. -% -\def\listing#1{% - \par \begingroup - \@setuplisting - \setuplistinghook - \input #1 - \endgroup -}% -% -\let\setuplistinghook = \relax -% -\def\linenumberedlisting{% - \ifx\lineno\undefined \innernewcount\lineno \fi - \lineno = 0 - \everypar = {\advance\lineno by 1 \printlistinglineno}% -}% -\def\printlistinglineno{\llap{[\the\lineno]\quad}}% -% -% -% \uncatcodespecials must come before \obeywhitespace, lest a space -% character in the input produce character 32 from the \tt font. -% Ensure ^^L is active and non-outer. -% -{% - \makeactive\^^L - \let^^L = \relax - \gdef\@setuplisting{% - \uncatcodespecials - \obeywhitespace - \makeactive\` - \makeactive\^^I - \makeactive\^^L - \def^^L{\vfill\break}% - \parskip = 0pt - \listingfont - }% -}% -\def\listingfont{\tt}% -% -% Give definitions to the characters we want to be special. -% -% Do ` separately, so can use ` in the \catcode commands elsewhere. -% -{% - \makeactive\` - \gdef`{\relax\lq}% Defeat ligatures. -}% -{% - \makeactive\^^I - \gdef^^I{\hskip8\fontdimen2\font \relax}% -}% -% -% -% \verbatim ... |endverbatim typesets the ... in typewriter. To produce a | -% in the ..., use ||. This macro was contributed by beebe@math.utah.edu. -% Generalized to characters other than | by dorai@cs.rice.edu. -% -\def\verbatimescapechar#1{% - \gdef\@makeverbatimescapechar{% - \@makeverbatimdoubleescape #1% - \catcode`#1 = 0 - }% -}% -\def\@makeverbatimdoubleescape#1{% - \catcode`#1 = \other - \begingroup - \lccode`\* = `#1% - \lowercase{\endgroup \ece\def*{*}}% -}% -\verbatimescapechar\| % initially escapechar is | -% -\def\verbatim{\begingroup - \uncatcodespecials - \makeactive\` % make space character a single space, not stretchable - \@makeverbatimescapechar - \tt\obeywhitespace} -\let\endverbatim = \endgroup -% -% -% -% Table of contents, list of figures, etc. -% -% Entries for the table of contents are recorded in \jobname.toc, which -% we open for writing at the first \writetocentry. Actually, we use -% \tocfilebasename for the root of the filename to read; \jobname is -% the default. -% -\def\definecontentsfile#1{% - \ece\innernewwrite{#1file}% - \ece\innernewif{if@#1fileopened}% - \ece\let{#1filebasename} = \jobname - \ece\def{open#1file}{\opencontentsfile{#1}}% - \ece\def{write#1entry}{\writecontentsentry{#1}}% - \ece\def{writenumbered#1entry}{\writenumberedcontentsentry{#1}}% - \ece\innernewif{ifrewrite#1file} \csname rewrite#1filetrue\endcsname - \ece\def{read#1file}{\readcontentsfile{#1}}% -}% -% -% We provide \opentocfile, \readtocfile, etc., by default. -\definecontentsfile{toc}% -% -% And `toc' is just the argument to this macro. -\def\opencontentsfile#1{% - \csname if@#1fileopened\endcsname \else - \ece{\immediate\openout}{#1file} = \csname #1filebasename\endcsname.#1 - \ece\global{@#1fileopenedtrue}% - \fi -}% -% -% \writetocentry#1#2 produces a line in the .toc file that -% looks like: -% \toc#1entry{#2}{page number} -% e.g., -% \tocchapterentry{Introduction}{2} -% would be written by -% \writetocentry{chapter}{Introduction} -% if the chapter started on page two. -% -% Thus, #1 is intended to be something like `chapter' or `section', #2 -% to be the text of the title. -% -% Of course, if you want, you can \write\tocfile yourself with whatever -% you like. In that case, you must also call \opentocfile. -% -% By the way, it would be wrong to put a \percentchar at the end of the -% output line. Then, when the .toc file is read, if each line is turned -% into a \leftline, say, there would be no legal breakpoint between the -% boxes, and one extremely long line would result. -% -% `toc' is the first argument to this; \writetocentry is defined by -% \definecontentsfile. -\def\writecontentsentry#1#2#3{\writenumberedcontentsentry{#1}{#2}{#3}{}}% -% -% Sometimes you want the control sequence to take another number (e.g., -% a chapter number) as a parameter. (Although you can pass anything you -% want as the third parameter, naturally.) The third parameter is -% expanded at the point of the \writenumberedtocentry, not when the -% \write actually happens. This makes the usual case---the third -% parameter being \the\someregister---work. -% -% For example: -% \writenumberedtocentry{chapter}{The second chapter}{2} -% would produce: -% \tocchapterentry{The second chapter}{2}{14} -% -% if the second chapter started on page 14. -% -% `toc' is the first argument, as above. -\def\writenumberedcontentsentry#1#2#3#4{% - \csname ifrewrite#1file\endcsname - \csname open#1file\endcsname - \toks0 = {\expandafter\noexpand \csname #1#2entry\endcsname}% - \def\temp{#3}% - % - % Usually #4 is just `\the\register', which we want to expand. But - % if it's not a number at all -- e.g., if it's an author's name, we - % don't want to expand control sequences for accents and the like. - % So we play some games here. - \toks2 = \expandafter{#4}% - \edef\cs{\the\toks2}% - \edef\@wr{% - \write\csname #1file\endcsname{% - \the\toks0 % the \toc...entry control sequence - {\sanitize\temp}% the text - \ifx\empty\cs\else {\sanitize\cs}\fi % A secondary number, or nothing: - {\noexpand\folio}% the page number - }% - }% - \@wr - \fi - \ignorespaces -}% -% -% The entries are read in when the user invokes \readtocfile (which -% should be before the first \writetocentry). We do not open the .toc -% file to allow reading it in twice to make a short contents or some -% such. This should not cause any problems because each of -% \writecontentsentry and \writenumberedcontentsentry open the .toc -% file for writing (i.e., empty it) before trying to write to it. -\def\readcontentsfile#1{% - \edef\temp{% - \noexpand\testfileexistence[\csname #1filebasename\endcsname]{#1}% - }\temp - \if@fileexists - \input \csname #1filebasename\endcsname.#1\relax - \fi -}% -% -% Here are some sample definitions of the \toc...entry macros. Perhaps -% you or your book designer can come up with a better way of handling -% contents than leaders. These definitions are just examples, not -% something you might want to actually use to print a document. -\def\tocchapterentry#1#2{\line{\bf #1 \dotfill\ #2}}% -\def\tocsectionentry#1#2{\line{\quad\sl #1 \dotfill\ \rm #2}}% -\def\tocsubsectionentry#1#2{\line{\qquad\rm #1 \dotfill\ #2}}% -% -% -% -% Cross-references. -% -% Definitions of references are recorded in \jobname.aux, called -% \auxfile in the macros, which btxmac.tex has opened. -% -% When a label isn't defined, we only want to complain if -% \xrefwarningtrue; btxmac uses \if@citewarning for this, so we have to -% reuse that name. We can't just say \let\ifxrefwarning = -% \if@citewarning, since then changes to the latter won't be reflected -% in the former. On the other hand, we have to have a true \if... -% command, so \if's and \fi's match properly. What a mess. -% -\let\ifxrefwarning = \iftrue -\def\xrefwarningtrue{\@citewarningtrue \let\ifxrefwarning = \iftrue}% -\def\xrefwarningfalse{\@citewarningfalse \let\ifxrefwarning = \iffalse}% -% -% -% \xref{foo} produces ``p.\thinspace <page#>''. \xrefn{foo} produces -% ``<page#>''. \xrdef{foo} produces nothing, but defines the label -% `foo' to be on the current page. -% -% As usual, it takes two passes to get the cross-references right. I -% would like to check for labels being defined twice, but I don't know -% how to do that. If the cross-reference file has been read in, many -% cross-references will be defined that I don't want to complain about. -% It is only if two \xrdef commands are given to the same string that I -% want to complain. I could define a new control sequence for each -% cross-reference, and check that, but that seems like too high of a -% price to pay. -% -% -% \xrlabel{LABEL} expands to a cross-reference internal name. We append -% an _ character to NAME, to help avoid conflicts. And we append an `x' -% so that we don't redefine \_ on an empty label. -% -\begingroup - % Mike Spivak's MathTime macros for Times Roman fonts changes the - % catcode of _ to be active. Undo that. (From adam@symcom.math.uiuc.edu.) - \catcode`\_ = 8 - \gdef\xrlabel#1{#1_x}% -\endgroup -% -% -% \xrdef{LABEL} defines LABEL to be the current page number. But we -% don't define the label here, because the page number might be off: if -% this is not the first time through, the label would already be -% defined, and we would redefine it with the wrong information. -% -\def\xrdef#1{% - \begingroup - % Define hyperlink destination. - \hldest@impl{xrdef}{#1}% - % Define cross-reference but not hyperlink destination. - \begingroup - \@@hldestoff - \definexref{#1}{\noexpand\folio}{page}% - \endgroup - \endgroup -}% -% -% \definexref{LABEL}{DEFINITION}{CLASS} defines a cross-reference named -% LABEL of label class CLASS to be DEFINITION. (Or LABEL can be a -% control sequence; it's expanded to get the label text.) To get a -% possible page number right, we have to write the definition out to the -% auxiliary file, instead of only defining it directly. -% -\def\definexref#1#2#3{% - % Define a hyperlink destination LABEL. - \hldest@impl{definexref}{#1}% - % Remember what we're given; it might be `\@optionalarg', which - % \readauxfile trashes. (No loss of generality here, since \csname - % will fully expand the label anyway.) - \edef\temp{#1}% - % - % Be sure we've read the aux file before we zap it: - \readauxfile - % - % When we read in the aux file next time, define the label: - \edef\@wr{\noexpand\writeaux{\string\@definelabel{\temp}{#2}{#3}}}% - \@wr - \ignorespaces -}% -% -% \@definelabel{LABEL}{DEFINITION}{CLASS} actually defines LABEL of -% label class CLASS to be DEFINITION. -% -\def\@definelabel#1#2#3{% - % Define the control sequence. - \expandafter\gdef\csname\xrlabel{#1}\endcsname{#2}% - % - % Remember what kind of label this is, so \ref will know what to do. -% \global\setproperty{\xrlabel{#1}}{class}{#3}% - \setpropertyglobal{\xrlabel{#1}}{class}{#3}% -}% -% -% \reftie is used by several cross-referencing macros to separate -% optional text from label reference. \refspace is used by \ref to -% separate optional text from \CLASSword and by \xref to separate -% optional text from `p. '. -% -\def\reftie{\penalty\@M \ }% Do not rely on `~' being defined as a tie. -\let\refspace\ -% -% Typeset a reference to the label #1. If optional argument is -% present it will be tied with \reftie to the reference and become -% part of the hyperlink. -% -\def\xrefn{\@getoptionalarg\@finxrefn}% -\def\@finxrefn#1{% - % Hyperlink and optional TEXT. - \hlstart@impl{ref}{#1}% - \ifx\@optionalarg\empty \else - % Save \@optionalarg before it is trashed by \readauxfile. - \let\@xrefnoptarg\@optionalarg - % Read .aux file -- \@optionalarg may contain cross-references. - \readauxfile - % Typeset the \@optionalarg - {\@@hloff\@xrefnoptarg}\reftie - \fi - % Typeset the reference. - \plain@xrefn{#1}% - \hlend@impl{ref}% -}% -% This is equivalent to \xrefn but without the hyperlink stuff and the -% optional parameter so that its expansion does not contain the many -% \let's, \def's and such which the expansion of \xrefn contains. It -% is needed by \eqdefn and \eqsubdefn to be able to `cleanly' write -% texts of equation labels to .aux file. It is also used when -% functionality of \xrefn is needed without the hyperlink and the -% optional parameter. -\def\plain@xrefn#1{% - \readauxfile - % - \expandafter \ifx\csname\xrlabel{#1}\endcsname\relax - \if@citewarning - \message{\linenumber Undefined label `#1'.}% - \fi - % - % Give it a dummy definition, though, to stop multiple error messages. - \expandafter\def\csname\xrlabel{#1}\endcsname{% - `{\tt - \escapechar = -1 - \expandafter\string\csname#1\endcsname - }'% - }% - \fi - \csname\xrlabel{#1}\endcsname % Always produce something. -}% -% -% \refn is just a synonym. -% -\let\refn = \xrefn -% -% One common case: print `p. ' before the page number. -% -\def\xrefpageword{p.\thinspace}% -% -\def\xref{\@getoptionalarg\@finxref}% -\def\@finxref#1{% - % Hyperlink and optional TEXT. - \hlstart@impl{xref}{#1}% - \ifx\@optionalarg\empty \else - {\@@hloff\@optionalarg}\refspace - \fi - % Typeset page reference but omit hyperlink. - \xrefpageword\plain@xrefn{#1}% - \hlend@impl{xref}% -}% -% -% \ref[TEXT]{LABEL} typesets TEXT, \CLASSword for LABEL's class (if it's defined) -% and then does \refn on LABEL. But amstex also has a \ref, so tell the -% user if they try to use \ref and have loaded amsppt.sty. -% -% \refs{LABEL} is similar, but puts the letter `s' after the \...word, thus -% producing (for example) `Figures 1.2' (presumably to be followed by -% `and~\refn{fig-1.3}'). -% -% Note that \ref takes an optional TEXT, while \refs does not. This -% text (together with \CLASSword) will become part of the hyperlink -% generated by \ref. \refs does not include \CLASSword in the -% hyperlink. -% -\def\@maybewarnref{% - \ifundefined{amsppt.sty}% - % No amsppt.sty, so just use ours. - \else - \message{Warning: amsppt.sty and Eplain both define \string\ref. See - the Eplain manual.}% - % Remember their definition. - \let\amsref = \ref - \fi - \let\ref = \eplainref - \ref -} -\let\ref = \@maybewarnref -% -\def\eplainref{\@getoptionalarg\@fineplainref}% -\def\@fineplainref{\@generalref{1}{}}% -\def\refs{\let\@optionalarg\empty \@generalref{0}s}% -% -% #1 is an integer flag which tells whether hyperlink should include -% \@optionalarg and class word (non-0) or not (0). #2 is the text to -% follow the \...word. Both #1 and #2 are supplied by the macros -% above. #3 comes from the document, and is the LABEL. -% -% \reftie separates \@optionalarg or \..word from \refn; \refspace -% separates \@optionalarg from \..word. -% -\def\@generalref#1#2#3{% - % Save \@optionalarg before it is trashed by \readauxfile. - \let\@generalrefoptarg\@optionalarg - \readauxfile - % Maybe start hyperlink here. - \ifcase#1 \else \hlstart@impl{ref}{#3}\fi - % Get the class of the label. - \edef\temp{\getproperty{\xrlabel{#3}}{class}}% - % If the word for this class is not defined, don't complain. - \expandafter\ifx\csname \temp word\endcsname\relax - % Produce \@optionalarg followed by a \reftie, if \@optionalarg is - % not empty. - \ifx\@generalrefoptarg\empty \else {\@@hloff\@generalrefoptarg\reftie}\fi - \else - \begingroup - \@@hloff - % Produce \@optionalarg, if not empty, followed by a \refspace. - \ifx\@generalrefoptarg\empty \else \@generalrefoptarg \refspace \fi - % Produce the word. - \csname \temp word\endcsname - % Add the suffix and then put in a \reftie before the \refn. - #2\reftie - \endgroup - \fi - % Maybe start hyperlink here. - \ifcase#1 \hlstart@impl{ref}{#3}\fi - % Typeset the reference omitting hyperlinks. - \plain@xrefn{#3}% - \hlend@impl{ref}% -}% -% -% -% References to equations are similar. -% -% \eqref{foo} produces ``(<text for equation label foo>)''. -% \eqdefn{foo} advances \eqnumber, resets \eqsubnumber, and defines -% `foo' to be the new number. -% \eqsubdefn{foo} advances \eqsubnumber and defines `foo'. \eqref works -% for both equations and subequations, -% \eqdef{foo} does \eqdefn, then inserts an \eqno and \eqref. -% \eqsubdef{foo} does \eqsubdefn, then what \eqdef does. -% -% The non-``sub'' macros also take an optional argument; if it's -% present, we use it as the text for the equation label, instead of the -% various counters. -% -% Because there are no page break issues with equations, we can -% immediately define the control sequence. But we also need to write -% the definition out, in case the user wants to forward reference an -% equation (bad style as that may be). -% -% The current equation number is in \eqnumber; we just advance it by one -% for each \eqdef. You can handle fancier equation numbers (e.g., ones -% that include a chapter number) by redefining \eqprint, below, and -% using your own counters. We do provide for one level of substructure, -% since that's more painful to implement than superstructures. -% -\newcount\eqnumber -\newcount\subeqnumber -% -% -% \eqdefn[TEXT]{LABEL} defines LABEL to be TEXT (if it's present), -% otherwise it advances \eqnumber and defines LABEL to be that. It -% doesn't produce anything. -% -\def\eqdefn{\@getoptionalarg\@fineqdefn}% -\def\@fineqdefn#1{% - \ifx\@optionalarg\empty - \global\advance\eqnumber by 1 - % We call \eqconstruct here instead of in \@eqdefn because we don't - % want to expand it for \eqsubdefn -- \eqsubdefn already includes an - % \eqrefn which includes the text of the label which was \eqconstructed. - \def\temp{\eqconstruct{\number\eqnumber}}% - \else - % In the next \def there is (I believe) a spurious \noexpand. - % I leave in the old definition, albeit commented out, in case the - % \noexpand really _is_ necessary. But I don't thikn so. Adam Lewenberg -% \def\temp{\noexpand\@optionalarg}% - \def\temp{\@optionalarg}% - \fi - % - % Always reset the current subequation number: - \global\subeqnumber = 0 - % - % Remember this label, so that we can define subequations: - \gdef\@currenteqlabel{#1}% - \toks0 = \expandafter{\@currenteqlabel}% - % - % Actually do the definition, replacing \xrefn and \eqrefn with - % \plain@xrefn and taking precautions not to expand \plain@xrefn - % in what we output to the aux file. \plain@xrefn expands to many things, - % including \count@'s and \edef's and the expansion of \xrlabel, and - % it's just a real mess. - \begingroup - \def\eqrefn{\noexpand\plain@xrefn}% - \def\xrefn{\noexpand\plain@xrefn}% - \edef\temp{\noexpand\@eqdefn{\the\toks0}{\temp}}% - \temp - \endgroup -}% -% -% -% \eqsubdefn defines its argument as a ``subequation'' of the last \eqdef. -% -\def\eqsubdefn#1{% - \global\advance\subeqnumber by 1 - \toks0 = {#1}% - % - % Get the text of the label; - \toks2 = \expandafter{\@currenteqlabel}% - % - % We must expand \@currenteqlabel. We have to not expand - % \eqsubreftext here, as well as \plain@xrefn (which we substitute - % for \eqrefn and \xrefn), since the first arg to \eqsubreftext - % could also include lots of complicated things. - \begingroup - \def\eqrefn{\noexpand\plain@xrefn}% - \def\xrefn{\noexpand\plain@xrefn}% - \def\eqsubreftext{\noexpand\eqsubreftext}% - \edef\temp{% - \noexpand\@eqdefn - {\the\toks0}% - {\eqsubreftext{\eqrefn{\the\toks2}}{\the\subeqnumber}}% - }% - \temp - \endgroup -}% -% -% \@eqdefn{LABEL}{REF-TEXT} actually handles the equation number -% definitions and writing to the aux file. -% -% In contrast to \xrdef, we define LABEL right away (as REF-TEXT). We -% can do this since we know right now what the right equation number is. -% This eliminates some unnecessary warning. It also lets the user put -% \eqdef{} on all equations and have it work, since then \eqref -% refers to the just-defined new value. -% -\def\@eqdefn#1#2{% - % Define hyperlink destination taking care of empty LABEL. - \hl@define@eqlabel{#1}% - \hldest@impl{eq}{\hl@eqlabel}% - % Define cross-reference but not hyperlink destination. - \begingroup - \@@hldestoff - \definexref{#1}{#2}{eq}% - \endgroup - % Define the LABEL. - \@definelabel{#1}{#2}{eq}% -}% -% -% \eqdef{LABEL} defines LABEL, with \eqdefn, then prints it. We allow -% an optional argument to explicitly specify the text which we define -% the label as. -% -\def\eqdef{\@getoptionalarg\@fineqdef}% -\def\@fineqdef{% - \toks0 = \expandafter{\@optionalarg}% - \edef\temp{\noexpand\@eqdef{\noexpand\eqdefn[\the\toks0]}}% - \temp -}% -% -% \eqsubdef is to \eqdef as \eqsubdefn is to \eqdefn. No optional -% argument allowed here. -% -\def\eqsubdef{\@eqdef\eqsubdefn}% -% -% \@eqdef{DEFN-CMD}{LABEL} defines LABEL, using DEFN-CMD. Then it -% inserts an \eqno (unless it's called when an \eqno would be invalid). -% Then it prints the newly-defined value using \eqprint. -% -\def\@eqdef#1#2{% - % Define the label but not hyperlink destination (we want to define - % the destination after \eqno). Note that \@eqdefn will call - % \hl@define@eqlabel{#2}, so we won't call it again (definintions in - % \hl@define@eqlabel must be global to survive past the group). - \begingroup - \@@hldestoff - #1{#2}% - \endgroup - % Define hyperlink destination and print the text. - \@maybedisableeqno - \eqno % \hl@define@eqlabel already called in \@eqdefn. - \hldest@impl{eq}{\hl@eqlabel}% - \let\@optionalarg\empty % \@fineqref will examine \@optionalarg. - {\@@hloff\@fineqref{#2}}% No hyperlink here. - \@mayberestoreeqno - \ignorespaces -}% -% -% -% If we are in an alignment or some other inner place, \eqno won't work. -% -\let\@mayberestoreeqno = \relax -% -\def\@maybedisableeqno{% - \ifinner - \global\let\eqno = \relax - \global\let\@mayberestoreeqno = \@restoreeqno - \fi -}% -% -% This makes `\eqno' mean \eqno again. -% -\let\@primitiveeqno = \eqno -\def\@restoreeqno{% - \global\let\eqno = \@primitiveeqno - \global\let\@mayberestoreeqno = \empty -}% -% -% -% \eqrefn[TEXT]{LABEL} produces the text for the equation label LABEL, or -% something suitable if LABEL is undefined. (It possibly issues a -% warning in the latter case as well.) TEXT followed by a \reftie is -% prepended to the equation text as part of the hyperlink. -% -\def\eqrefn{\@getoptionalarg\@fineqrefn}% -\def\@fineqrefn#1{% - \eqref@start{#1}% - % Typeset the equation reference but do not produce hyperlink. - \plain@xrefn{#1}% - \hlend -}% -% -% \eqref[TEXT]{LABEL} is the usual way to refer to equation labels; it -% calls \eqprint on the text of LABEL, prepending it with TEXT and a -% \reftie as part of the hyperlink. -% -\def\eqref{\@getoptionalarg\@fineqref}% -\def\@fineqref#1{% - \eqref@start{#1}% - % Typeset the equation reference but do not produce hyperlink. - \eqprint{\plain@xrefn{#1}}% - \hlend@impl{eq}% -}% -% Common code executed at the start of \@fineqrefn and \@fineqref. -\def\eqref@start#1{% - % Save \@optionalarg in case \phantomeqlabel is redefined by the - % user to something that trashes it. - \let\@eqrefoptarg\@optionalarg - % Hyperlink (fetch last `phantom' equation label if LABEL is empty). - \ifempty{#1}% - \hlstart@impl{eq}{\phantomeqlabel}% - \else - \hlstart@impl{eq}{#1}% - \fi - % Optional TEXT followed by a \reftie. - \ifx\@eqrefoptarg\empty \else - {\@@hloff\@eqrefoptarg\reftie}% - \fi -}% -% -% -% \eqconstruct{EQ-TEXT} constructs an equation number, i.e., the text to -% be defined as the value of a label. -% -\let\eqconstruct = \identity -% -% \eqprint{EQ-TEXT} produces the typeset equation number EQ-TEXT. -% -\def\eqprint#1{(#1)}% -% -% \eqsubreftext{EQ-TEXT}{SUBEQ-TEXT} produces the text of a subequation -% reference. (\eqprint is later called on the result of this to produce -% output for subequations; I didn't define any \subeqprint.) -% -\def\eqsubreftext#1#2{#1.#2}% -% -% -% -% Indexing. -% -% \defineindex{PREFIX} defines an index with ``prefix'' PREFIX. The -% prefix is used to construct the output filename and the various -% commands. We just define all the index commands for this index to -% call the general commands with PREFIX. -% -\let\extraidxcmdsuffixes = \empty -% -\outer\def\defineindex#1{% - \def\@idxprefix{#1}% - % - % Define the indexing commands for this prefix. - \for\@idxcmd:=,marked,submarked,name% - \extraidxcmdsuffixes\do - {% - \@defineindexcmd\@idxcmd - }% - % - % Allocate a stream for the output. - \ece\innernewwrite{@#1indexfile}% - % - % And a conditional to test whether we've opened the file. - \ece\innernewif{if@#1indexfileopened}% -}% -% -% -% \@defineindexcmd{SUFFIX} defines both silent and non-silent index -% command for prefix \@idxprefix with suffix SUFFIX. That is, we define -% both `\@idxprefix dxSUFFIX' and `\s\@idxprefix dxSUFFIX' to call the -% corresponding generic command with \@idxprefix. \silentindexentry is -% used to decide whether we should ignore following spaces. -% -\newif\ifsilentindexentry -% -\def\@defineindexcmd#1{% - \@defineoneindexcmd{s}{#1}\silentindexentrytrue - \@defineoneindexcmd{}{#1}\silentindexentryfalse -}% -% -% -% \@defineoneindexcmd{PREFIX}{SUFFIX}{PRECALL} does just one silent or -% non-silent commands. We define the command `\@@PREFIXidxSUFFIX' to do -% PRECALL, then define \@idxprefix, then call \@idxgetrange with an -% argument of `\@@{,s}idxSUFFIX'. (So far every indexing command -% should allow a range. If not, you could redefine `\@@{,s}idxSUFFIX' -% after this macro is called.) -% -\def\@defineoneindexcmd#1#2#3{% - \toks@ = {#3}% - \edef\temp{% - \def - % We have to restrict expansion because the generic (\@@...) - % commands will be defined after the first call to \defineindex. - % Not expanding the user (\idx...) commands is unnecessary unless - % the user has defined some new commands, but may as well be cautious. - \expandonce\csname#1\@idxprefix dx#2\endcsname % e.g., \idx or \sidxname. - {\def\noexpand\@idxprefix{\@idxprefix}% define \@idxprefix - % call, e.g., \@@idx or \@@sidxname: - \expandonce\csname @@#1idx#2\endcsname - }% - \def - \expandonce\csname @@#1idx#2\endcsname{% e.g., \@@idx - % First do PRECALL. - \the\toks@ - % Then call \@idxgetrange with, e.g., \@idx or \@sidxname as its arg. - \noexpand\@idxgetrange\expandonce\csname @#1idx#2\endcsname - }% - }% - \temp -}% -% -% -% \@idxwrite{TERM}{PAGENO} writes a general index entry for TERM on page -% PAGENO to the index file `\@idxprefix indexfile'. We open the stream -% as `\indexfilebasename.\@idxprefix dx' if it isn't already open. -% -\let\indexfilebasename = \jobname -% -\def\@idxwrite#1#2{% - % Be sure the file is opened. - \csname if@\@idxprefix indexfileopened\endcsname \else - \expandafter\immediate\openout\csname @\@idxprefix indexfile\endcsname = - \indexfilebasename.\@idxprefix dx - \expandafter\global\csname @\@idxprefix indexfileopenedtrue\endcsname - \fi - % - % Save the index term. - \def\temp{#1}% - % - % Write the index term and page number. - \edef\@wr{% - \expandafter\write\csname @\@idxprefix indexfile\endcsname{% - \string\indexentry - {\sanitize\temp}% - {\noexpand#2}% - }% - }% - \@wr - % - % Marginalize the index term, if desired. - % (the \allowhyphens allows `infinitesimal' in \sidx{Infinitesimal}infinitesimal - % to be hyphenated. - \ifindexproofing \insert\@indexproof{\indexproofterm{#1}}\allowhyphens\fi - % - % We just appended at least one non-discardable item (namely, the - % whatsit from the \write) to the current list. So in case glue comes - % next (not unlikely), be sure we don't inadvertently make that glue a - % valid breakpoint, if it wouldn't have been without us. - \hookrun{afterindexterm}% - % - % This is the end of the index entry processing. If this was a silent - % entry, ignore following spaces. - \ifsilentindexentry \expandafter\ignorespaces\fi -}% -% -% -% If this conditional is true, we output the index terms on the page -% where they occur. -\newif\ifindexproofing -% -% We need a new insertion class to collect the proofed terms. -\newinsert\@indexproof -\dimen\@indexproof = \maxdimen % No limit on number of terms. -\count\@indexproof = 0 \skip\@indexproof = 0pt % They take up no space. -% -% This actually typesets the proofed term. We don't go to any lengths -% to provide nice-looking output; since the term might have all kinds of -% weird characters in it, we just dump it in the smallest standard -% Computer Modern typewriter font. -% -% We put the term in an \hbox, even though that might make the output -% run off the page, since we don't really need to see all of it, and -% I think it's better to opt for simplicity -- one term per line. -\font\indexprooffont = cmtt8 -\def\indexproofterm#1{\hbox{\strut \indexprooffont #1}}% -% -% -% If \output doesn't use \makeheadline, or redefines it, it's up to the -% new \output to define index hyperlink destination and to call -% \indexproofunbox. -\let\@plainmakeheadline = \makeheadline -\def\makeheadline{% - % Define index page destination only when this `cross-reference' is defined. - \expandafter\ifx\csname\xrlabel{\idxpagexref{\folio}}\endcsname\relax \else - % Say \@@hldeston in case a page break happened at an unfortunate - % time when user said \hldestoff. - {\@@hldeston \hldest@impl{idx}{\hlidxpagelabel{\folio}}}% - \fi - \indexproofunbox - \@plainmakeheadline -}% -% -% We want to put the proof index terms in the margin, outside the -% printed area. So if \outsidemargin (for odd pages) and \insidemargin -% (for even pages) are undefined, we define them (both) to be the default -% TeX margin -- one inch + \hoffset. -\def\indexsetmargins{% - \ifx\undefined\outsidemargin - \dimen@ = 1truein - \advance\dimen@ by \hoffset - \edef\outsidemargin{\the\dimen@}% - \let\insidemargin = \outsidemargin - \fi -}% -% -% We always put the terms in the right-hand margin, so long terms run -% off the page, instead of into the text. -\def\indexproofunbox{% - \ifvoid\@indexproof\else - \indexsetmargins - \rlap{% - \kern\hsize - \ifodd\pageno \kern\outsidemargin \else \kern\insidemargin \fi - \vbox to 0pt{\unvbox\@indexproof\vss}% - }\nointerlineskip - \fi -}% -% -% -% \@idxgetrange\CS parses an optional argument which, if present, should -% be either `begin' or `end', marking the beginning or ending of a range -% for the index entry. If we find this, we set the appropriate one of -% \@idxrangestr. Then we call \CS. -% -% If the optional argument is `see' or `seealso' we read another -% argument, namely, the entry to see. -% -\def\idxrangebeginword{begin}% -\def\idxbeginrangemark{(}% the corresponding magic char to go in the idx file -% -\def\idxrangeendword{end}% -\def\idxendrangemark{)}% -% -\def\idxseecmdword{see}% -\def\idxseealsocmdword{seealso}% -\newif\if@idxsee -\newif\if@hlidxencap -\let\@idxseenterm = \relax -% -\def\idxpagemarkupcmdword{pagemarkup}% -\let\@idxpagemarkup = \relax -% -\def\@idxgetrange#1{% - \let\@idxrangestr = \empty - \let\@afteridxgetrange = #1% - \@getoptionalarg\@finidxgetopt -}% -\def\@finidxgetopt{% - \@hlidxencaptrue - % - \for\@idxarg:=\@optionalarg\do{% - % These are ordered by my guess at frequency of use. - \expandafter\@idxcheckpagemarkup\@idxarg=,% - % - \ifx\@idxarg\idxrangebeginword - \def\@idxrangestr{\idxencapoperator\idxbeginrangemark}% - \else - \ifx\@idxarg\idxrangeendword - \def\@idxrangestr{\idxencapoperator\idxendrangemark}% - \@hlidxencapfalse - \else - \ifx\@idxarg\idxseecmdword - \def\@idxpagemarkup{indexsee}% - \@idxseetrue - \@hlidxencapfalse - \else - \ifx\@idxarg\idxseealsocmdword - \def\@idxpagemarkup{indexseealso}% - \@idxseetrue - \@hlidxencapfalse - \else - \ifx\@idxpagemarkup\relax - \errmessage{Unrecognized index option `\@idxarg'}% - \fi - \fi - \fi - \fi - \fi - }% - % Stick hyperlink encapsulator into \@idxpagemarkup. - \ifnum\hldest@place@idx < 0 \else - \if@hlidxencap - \ifx\@idxpagemarkup\relax - % Even when user gives no pagemarkup command, we still do - % insert our hyperlink encapsulator. - \let\@idxpagemarkup\empty - \fi - \ifcase\hldest@place@idx \relax - % \hldest@place@idx = 0, dests point to a page with a term. - \edef\@idxpagemarkup{hlidxpage{\@idxpagemarkup}}% - % We want to define index \hldest's only on those - % pages which contain at least one index term, so this - % `cross-reference' will tell \makeheadline on which pages to - % generate an \hldest. - {\@@hldestoff \definexref{\idxpagexref{\folio}}{}{}}% - \else - % \hldest@place@idx = 1, dests point to exact location of a term. - \global\advance\hlidxlabelnumber by 1 - \edef\@idxpagemarkup{hlidx{\hlidxlabel}{\@idxpagemarkup}}% - \hldest@impl{idx}{\hlidxlabel}% - \fi - \fi - \fi - % - \@afteridxgetrange -}% -% -% -% Check for a command of the form `pagemarkup=\cmd', and if found, set -% \@idxpagemarkup to `cmd'. -% -\def\@idxcheckpagemarkup#1=#2,{% - \def\temp{#1}% - \ifx\temp\idxpagemarkupcmdword - \if ,#2, % If #2 is empty, complain. - \errmessage{Missing markup command to `pagemarkup'}% - \else - % Remove a trailing =. - \def\temp##1={##1}% - \edef\@idxpagemarkup{\temp\string#2}% - \fi - \fi -}% -% -% -% \hlidxpage and \hlidx are hyperlink encapsulators for the two types -% of hyperlink destinations for index terms. -% -% \hldest@place@idx defines which type is selected. When defined to 0, -% we generate destinations pointing to the page on which the indexed -% term is located. When defined to 1, we generate destinations -% pointing to exact location of the indexed term. When negative, we -% generate no hyperlinks / destinations. -\def\hldest@place@idx{-1}% -% Name for a `cross-reference' which \makeheadline uses do decide on -% which pages to generate \hldest. -\def\idxpagexref#1{@@IDXPG@@#1}% -% Hyperlink labels for both types of destinations. -\newcount\hlidxlabelnumber -\def\hlidxlabel{IDX\the\hlidxlabelnumber}% -\def\hlidxpagelabel#1{IDXPG#1}% -% -% \hlidx{HYPERLINK-LABEL}{PAGEENCAP}{PAGESPEC} -\def\hlidx#1#2#3{% - \hlstart@impl{idx}{#1}% - \csname #2\endcsname{#3}% - \hlend@impl{idx}% -}% -% -% \hlidxpage{PAGEENCAP}{PAGESPEC} -% -% We expect PAGESPEC to be one of the following: -% 14 (single page number) -% 14, 15 (list of two consecutive page numbers) -% 14--15 (page range) -% -% If you configure MakeIndex to use different page list separator -% (delim_n parameter in .mst file) / different page range separator -% (delim_r parameter), you should call \setidxpagelistdelimiter / -% \setidxpagerangedelimiter to setup the new separators. -% -% In case of a single page number, we call \PAGEENCAP on the page -% number and turn the result into a hyperlink. -% -% In case of a two-page list, we break the list, call \PAGEENCAP on -% each of the page numbers separately, and turn each result into a -% hyperlink, producing page list separator between the page numbers. -% -% In case of a page range, we do not break the range, call \PAGEENCAP -% on the entire range and turn what results into a hyperlink for the -% first of the page numbers. -\def\hlidxpage#1#2{% - % Set \@idxpagei[i][ref] and \@idxpagesep - \@hlidxgetpages{#2}% - % Alias for \PAGEENCAP. - \expandafter\let\expandafter\@idxpageencap\csname #1\endcsname - % Now comes the first part, to be done in any of the three cases. - \hlstart@impl{idx}{\hlidxpagelabel{\@idxpageiref}}% - \expandafter\@idxpageencap\expandafter{\@idxpagei}% - \hlend@impl{idx}% - % The second part, to be done only if there is a second page number. - \ifx\@idxpageii\empty \else - \@idxpagesep - \hlstart@impl{idx}{\hlidxpagelabel{\@idxpageiiref}}% - \expandafter\@idxpageencap\expandafter{\@idxpageii}% - \hlend@impl{idx}% - \fi -}% -% -% This macro parses PAGESPEC parameter to \hlidxpage. It sets -% \@idxpagei to the first page number, \@idxpageii to the second (if -% present; if not, \@idxpageii will be set to \empty). For the first -% page number, use \@idxpageiref to construct hyperlink label; for -% the second page number, use \@idxpageiiref. Use \@idxpagesep to -% separate the two page numbers. -% -% NOTE: we use \@idxpagei[i], not \idxpagei[i], because the user may -% use \idxparselist / \idxparserange in his \PAGEENCAP, in which case -% our \idxpagei[i]'s will get garbled. -\def\@hlidxgetpages#1{% - % Try to parse a two-page list. - \idxparselist{#1}% - \ifx\idxpagei\empty - % It is not a two-page list, try page range. - \idxparserange{#1}% - \ifx\idxpagei\empty - % It is neither a two-page list nor a page range, so we assume - % it is a single page number. - \def\@idxpageiref{#1}% Label for \hlstart. - \else - % It is a page range. - \let\@idxpageiref\idxpagei % Label for \hlstart. - \fi - \def\@idxpagei{#1}% - \let\@idxpageii\empty - \else - % It is a two-page list. - \let\@idxpagei\idxpagei - \let\@idxpageii\idxpageii - \let\@idxpageiref\idxpagei % Label for \hlstart. - \let\@idxpageiiref\idxpageii % Label for \hlstart. - \let\@idxpagesep\idxpagelistdelimiter - \fi -}% -% -% Set up a macro \@idxparselist and user-accessible \idxparselist for -% parsing two-page list. Takes list separator (which is saved in -% \idxpagelistdelimiter). If the list is found, \@idxparselist will -% set \idxpagei to the first page number, \idxpageii to the second; -% if not found, it will set \idxpagei to \empty (this implies that -% the list's first page number should never be empty). -\def\setidxpagelistdelimiter#1{% - \gdef\idxpagelistdelimiter{#1}% - \gdef\@removepagelistdelimiter##1#1{##1}% - \gdef\@idxparselist##1#1##2\@@{% - \ifempty{##2}% - \let\idxpagei\empty - \else - \def\idxpagei{##1}% - \edef\idxpageii{\@removepagelistdelimiter##2}% - \fi - }% - \gdef\idxparselist##1{\@idxparselist##1#1\@@}% -}% -% -% Same as previous, but \@idxparserange and \idxparserange will parse -% page range, range separator is saved in \idxpagerangedelimiter. -\def\setidxpagerangedelimiter#1{% - \gdef\idxpagerangedelimiter{#1}% - \gdef\@removepagerangedelimiter##1#1{##1}% - \gdef\@idxparserange##1#1##2\@@{% - \ifempty{##2}% - \let\idxpagei\empty - \else - \def\idxpagei{##1}% - \edef\idxpageii{\@removepagerangedelimiter##2}% - \fi - }% - \gdef\idxparserange##1{\@idxparserange##1#1\@@}% -}% -% -% Set up the default delimiters. -\setidxpagelistdelimiter{, }% -\setidxpagerangedelimiter{--}% -% -% -% \@idxtokscollect uses \@idxmaintoks as the token list for the main -% part of an index entry and \@idxsubtoks for the subpart. Then it -% calls \@idxwrite. -% -\def\idxsubentryseparator{!}% -\def\idxencapoperator{|}% -\def\idxmaxpagenum{99999}% -% -\newtoks\@idxmaintoks -\newtoks\@idxsubtoks -% -\def\@idxtokscollect{% - % Remember the subentry. - \edef\temp{\the\@idxsubtoks}% - % - % We want to expand the conditions, but not the terms. The index - % entry starts simply with \@idxmaintoks and \@idxsubtoks. - \edef\@indexentry{% - \the\@idxmaintoks - \ifx\temp\empty\else \idxsubentryseparator\the\@idxsubtoks \fi - \@idxrangestr - }% - % - % If this is a `see' or `see also' entry, we need to read one more - % arg. We use a giant page number so the entry will be last (for the - % benefit of `see also's). MakeIndex rejects page numbers >=1000. - % - \if@idxsee - \@idxseefalse % Reset so the next term won't be a `see'. - \edef\temp{\noexpand\@finidxtokscollect{\idxmaxpagenum}}% - \else - \def\temp{\@finfinidxtokscollect\folio}% - \fi - \temp -}% -% -% -% \@finidxtokscollect{PAGENO}{REAL-TERM} reads the final term for -% see/see also entries. We do not check if the person has put both a -% range and a see in the same index term (which will confuse makeindex). -% -\def\@finidxtokscollect#1#2{% - \def\@idxseenterm{#2}% - \@finfinidxtokscollect{#1}% -}% -% -% \@finfinidxtokscollect{PAGENO} writes \@indexentry for page PAGENO. -% Besides \@indexentry, if \@idxpagemarkup is not \relax we output an -% index entry \@indexentry|\@idxpagemarkup{PAGENO} (but omitting | if -% this is a range term, because in that case | will have been added -% together with \@idxrangestr in \@idxtokscollect). And if -% \@idxseenterm is not \relax we output {\@idxseenterm} after the -% \@idxpagemarkup. (This will become an argument to the ``markup'' -% command, which will be \indexsee or \indexseealso.) -% -\def\@finfinidxtokscollect#1{% - % If we've got a page markup command, append it. - \ifx\@idxpagemarkup\relax \else - \toks@ = \expandafter{\@indexentry}% - \edef\@indexentry{% - \the\toks@ - % Add | only if this is not a range term, otherwise | has - % already been added with \@idxrangestr by \@idxtokscollect. - \ifx\@idxrangestr\empty \idxencapoperator \fi - \@idxpagemarkup - }% - \let\@idxpagemarkup = \relax - \fi - % - % If we've got an argument to the ``page markup'' command, append it. - \ifx\@idxseenterm\relax \else - \toks@ = \expandafter{\@indexentry}% - \edef\@indexentry{\the\toks@{\sanitize\@idxseenterm}}% - \let\@idxseenterm = \relax - \fi - % - % Finally, write what we've constructed. - \expandafter\@idxwrite\expandafter{\@indexentry}{#1}% -}% -% -% -% \@idxcollect{MAIN}{SUB} sets up the token registers -% \@idx{main,sub}toks, then calls \@idxtokscollect. This is convenient -% for some of the macros below. -% -\def\@idxcollect#1#2{% - \@idxmaintoks = {#1}% - \@idxsubtoks = {#2}% - \@idxtokscollect -}% -% -% -% Following are the TeX macros that correspond to the commands -% that actually appear in the document. -% -% \@idx{TERM} produces TERM in the output and then makes the index entry -% for TERM as usual. We don't allow a [SUBTERM] here since then we -% would lose spaces after the command, which would be very inconvenient. -% -% As with all our index commands, we've already defined \@idxprefix (in -% \idx or whatever), to save passing it around, and we've looked for a -% range argument before TERM. -% -\def\@idx#1{% - #1% Produce TERM as output. - \@idxcollect{#1}{}% -}% -% -% \@sidx{TERM}[SUBTERM] produces an index entry TERM and no output. If -% SUBTERM is present, this is a subentry. (At the moment, I don't -% provide for subsubentries, since I've never needed that.) -% -\def\@sidx#1{\@idxmaintoks = {#1}\@getoptionalarg\@finsidx}% -\def\@finsidx{% - \@idxsubtoks = \expandafter{\@optionalarg}% - \@idxtokscollect -}% -% -% -% \@idxconstructmarked{TOKS-REG}\CS{TERM} -% -\def\idxsortkeysep{@}% This `@' is catcode 11, but it doesn't matter. -% -\def\@idxconstructmarked#1#2#3{% - \toks@ = {#2}% The control sequence. - \toks2 = {#3}% The term. - % - % Construct TERM@\CS{TERM} as the string to write. - \edef\temp{\the\toks2 \idxsortkeysep \the\toks@{\the\toks2}}% - % - % Save it in TOKS-REG. - #1 = \expandafter{\temp}% -}% -% -% -% \@idxmarked\CS{TERM} outputs \CS{TERM} and then calls the main part of -% \@sidxmarked. -% -\def\@idxmarked#1#2{% - #1{#2}% Produce \CS{TERM} as output. - \@idxconstructmarked\@idxmaintoks{#1}{#2}% - \@idxsubtoks = {}% - \@idxtokscollect -}% -% -% \@sidxmarked\CS{TERM}[SUBTERM] outputs an index entry sorted by TERM -% but producing \CS{TERM}. -% -\def\@sidxmarked#1#2{% - \@idxconstructmarked\toks@{#1}{#2}% - \edef\temp{{\the\toks@}}% - \expandafter\@sidx\temp -}% -% -% -% \@idxsubmarked{TERM}\CS{SUBTERM} is like \@idxmarked, except that it's -% SUBTERM that's marked instead of TERM. -% -\def\@idxsubmarked#1#2#3{% - #1 #2{#3}% produce `TERM \CS{SUBTERM} as output. - \@sidxsubmarked{#1}{#2}{#3}% -}% -% -% \@sidxsubmarked{TERM}\CS{SUBTERM} is to \@sidxmarked as \@idxsubmarked -% is to \@idxmarked. -% -\def\@sidxsubmarked#1#2#3{% - \@idxmaintoks = {#1}% - \@idxconstructmarked\@idxsubtoks{#2}{#3}% - \@idxtokscollect -}% -% -% -% \@idxcollectname{FIRST}{LAST} puts `LAST, FIRST' into \temp. (Well, -% we use \idxnameseparator instead of hardwiring `, '.) If FIRST is -% empty, don't include the separator. -% -\def\idxnameseparator{, }% as in `Tachikawa, Elizabeth' -% -\def\@idxcollectname#1#2{% - \def\temp{#1}% - \ifx\temp\empty - \toks@ = {}% - \else - \toks@ = {\idxnameseparator #1}% - \fi - \toks2 = {#2}% - % - \edef\temp{\the\toks2 \the\toks@}% -}% -% -% -% \@idxname{FIRST}{LAST} also produces `FIRST LAST' in the output and an -% index entry for `LAST, FIRST'. -% -\def\@idxname#1#2{% - #1 #2% Separate the names by a space in the output. - \@idxcollectname{#1}{#2}% - \expandafter\@idxcollect\expandafter{\temp}{}% -}% -% -% \@sidxname{FIRST}{LAST}[SUBTERM] is to \@sidx as \@idxname is to -% \@idx. -% -\def\@sidxname#1#2{% - \@idxcollectname{#1}{#2}% - \expandafter\@sidx\expandafter{\temp}% -}% -% -% -% Now we come to actually producing the index, i.e., implementing the -% formatting commands that MakeIndex outputs. -% -% \readindexfile is responsible for formatting and printing the index. -% It reads \indexfilebasename.ind. We implement the same commands that -% LaTeX does. I suppose we could allow for different indices having -% different basenames, but I can't imagine when that would be useful. -% -\let\indexfonts = \relax -% -\def\readindexfile#1{% - \edef\@idxprefix{#1}% - % - % Does the output file exist? - \testfileexistence[\indexfilebasename]{\@idxprefix nd}% - \iffileexists \begingroup - % If no \begin or \end, define them. The argument will be `{theindex}'. - \ifx\begin\undefined - \def\begin##1{\@beginindex}% - \let\end = \@gobble - \fi - % - % Read the file: - \input \indexfilebasename.\@idxprefix nd - % - % \doublecolumns isn't affected by groups. - \singlecolumn - \endgroup - \else - \message{No index file \indexfilebasename.\@idxprefix nd.}% - \fi -}% -% -% Here's the default for `\begin{theindex}', if \begin isn't defined. -\def\@beginindex{% - % Define the commands MakeIndex outputs. - \let\item = \@indexitem - \let\subitem = \@indexsubitem - \let\subsubitem = \@indexsubsubitem - % - % Set up the default formatting: - \indexfonts - \doublecolumns - \parindent = 0pt - % - % Let the user override the defaults. - \hookrun{beginindex}% -}% -% -% MakeIndex puts \indexspace between groups in the ind file. -\let\indexspace = \bigbreak -% -% You can make \afterindexterm appear after the term and before the -% first page with the following in the ist file: -% delim_0 "\\afterindexterm " -% delim_1 "\\afterindexterm " -% delim_2 "\\afterindexterm " -\let\afterindexterm = \quad -% -% -% Top-level index entries start with \item. -\newskip\aboveindexitemskipamount \aboveindexitemskipamount = 0pt plus2pt -\def\aboveindexitemskip{\vskip\aboveindexitemskipamount}% -% -\def\@indexitem{\begingroup - \@indexitemsetup - \leftskip = 0pt - \aboveindexitemskip - \penalty-100 % Encourage page breaks before items. - % - % But forbid page breaks after items, in case a subitem follows. - \def\par{\endgraf\endgroup\nobreak}% -}% -% -% Secondary index entries. -\def\@indexsubitem{% - \@indexitemsetup - \leftskip = 1em -}% -% -% And tertiary entries. -\def\@indexsubsubitem{% - \@indexitemsetup - \leftskip = 2em -}% -% -% Common setup for the formatting. -\def\@indexitemsetup{% - \par - \hangindent = 1em - \raggedright - \hyphenpenalty = 10000 - \hookrun{indexitem}% -}% -% -% -% \indexsee{TERM}{PAGENO} ignores PAGENO, and says `see TERM'. -\def\seevariant{\it}% -\def\indexseeword{see}% -\def\indexsee#1#2{{\seevariant \indexseeword\/ }#1}% -% -% \indexseealso{TERM}{PAGENO} is similar. -\def\indexseealsowords{see also}% -\def\indexseealso#1#2{{\seevariant \indexseealsowords\/ }#1}% -% -% -% We provide one index by default; commands are \idx, \sidx, etc. -\defineindex{i}% -% -% -% -% Justification of multiple input lines. -% -% You use these by saying -% {\flushright -% <flush right text> -% } -% -% and similarly for \flushleft and \center. The command must be -% embedded in a group. The lines are set in paragraphs as usual, i.e., -% blank lines start a new paragraph (by virtue of the -% \blanklineskipamount vertical glue being inserted). -% -% \environment ... \endenvironment isn't appropriate in this case, since -% these ``environments'' can't be nested. -% -\begingroup - \catcode `\^^M = \active % - \gdef\flushleft{% - \def\@endjustifycmd{\@endflushleft}% - \def\@eoljustifyaction{\null\hfil\break}% - \let\@firstlinejustifyaction = \relax - \@startjustify % - }% - \gdef\flushright{% - \def\@endjustifycmd{\@endflushright}% - \def\@eoljustifyaction{\break\null\hfil}% - \def\@firstlinejustifyaction{\hfil\null}% - \@startjustify % - }% - \gdef\center{% - \def\@endjustifycmd{\@endcenter}% - \def\@eoljustifyaction{\hfil\break\null\hfil}% - \def\@firstlinejustifyaction{\hfil\null}% - \@startjustify % - }% - % - % We do this before starting any of the justification commands. - \gdef\@startjustify{% - \parskip = 0pt - \catcode`\^^M = \active % - \def^^M{\futurelet\next\@finjustifyreturn}% - % - % \@eateol is called at the beginning of each justified paragraph. - \def\@eateol##1^^M{% - \def\temp{##1}% - \@firstlinejustifyaction % - \ifx\temp\empty\else \temp^^M\fi % - }% - \expandafter\aftergroup\@endjustifycmd % - \checkenv \environmenttrue % - \par\noindent % - \@eateol % - }% - % - % If the next thing is a ^^M, insert \blanklineskipamount glue. Then - % do \@eoljustifyaction (which each justification command defines). - \gdef\@finjustifyreturn{% - \@eoljustifyaction % - \ifx\next^^M% - % Insert extra glue when the \@end... command does the \par. - \def\par{\endgraf\vskip\blanklineskipamount \global\let\par = \endgraf}% - \@endjustifycmd % - % Get back into horizontal mode for the next line. - \noindent % - \@firstlinejustifyaction % - \fi % - }% -\endgroup -% -\def\@endflushleft{\unpenalty{\parfillskip = 0pt plus1fil\par}\ignorespaces}% -\def\@endflushright{% Remove the \hfil\null\break we just put on. - \unskip \setbox0=\lastbox \unpenalty - % We have fil glue at the left of the line; \parfillskip shouldn't - % affect that. - {\parfillskip = 0pt \par}\ignorespaces -}% -\def\@endcenter{% Remove the \hfil\null\break we just put on. - \unskip \setbox0=\lastbox \unpenalty - % We have fil glue at the left of the line; \parfillskip must balance it. - {\parfillskip = 0pt plus1fil \par}\ignorespaces -}% -% -% -% -% Automatically-columnated tables. -% -% \makecolumns N/K: organizes the entries on the following N lines into -% K columns. If N is too small, some text beyond the end of the table -% will be incorporated into the table, probably producing an error -% message. If N is too large, some of the entries will appear after the -% table, probably looking very out of place. -% -% You can adjust the position of the table on the page by changing -% \parindent (space to the left of the block) and \hsize (distance from -% the left margin to the right of the block). (No doubt inside a -% group.) And you can allow a page break above the valign by changing -% \abovecolumnspenalty. -% -\newcount\abovecolumnspenalty \abovecolumnspenalty = 10000 -\newcount\@linestogo % Lines remaining to process. -\newcount\@linestogoincolumn % Lines remaining in column. -\newcount\@columndepth % Number of lines in a column. -\newdimen\@columnwidth % Width of each column. -\newtoks\crtok \crtok = {\cr}% -\newcount\currentcolumn -% -% The space matches an end-of-line that will probably be there. -% -\def\makecolumns#1/#2: {\par \begingroup - % Set \@columndepth to the number of items we will put in a column: - % ceiling(N/K), i.e. (N - 1) / K + 1. - \@columndepth = #1 - \advance\@columndepth by -1 - \divide \@columndepth by #2 - \advance\@columndepth by 1 - \@linestogoincolumn = \@columndepth - \@linestogo = #1 - % - % We start in the first column. - \currentcolumn = 1 - % - \def\@endcolumnactions{% - \ifnum \@linestogo<2 - \the\crtok \egroup \endgroup \par % End \valign and \makecolumns. - \else - % We've done one more line out of the total. - \global\advance\@linestogo by -1 - % - % How many left in the column? - % - \ifnum\@linestogoincolumn<2 - % End this column, that was the last line. - \global\advance\currentcolumn by 1 - \global\@linestogoincolumn = \@columndepth - \the\crtok - \else - % Still got more lines to go. - &\global\advance\@linestogoincolumn by -1 - \fi - \fi - }% - % - % Set up to read the table. - % - \makeactive\^^M - \letreturn \@endcolumnactions - % - % Figure out how wide our columns are going to be; each column has - % exactly the same template, so we can use the feature described on - % p.241 of the TeXbook for repeating preambles. - % - \@columnwidth = \hsize - \advance\@columnwidth by -\parindent - \divide\@columnwidth by #2 - \penalty\abovecolumnspenalty - \noindent % It's not a paragraph (usually). - \valign\bgroup - &\hbox to \@columnwidth{\strut \hsize = \@columnwidth ##\hfil}\cr - % - % The next end-of-line starts everything going. -}% -% -% -% -% \numberedfootnote is like plain TeX's \footnote, but automatically -% numbered. When you want to reset the footnote number, say -% \footnotenumber = 0. -% -% We also provide for more general formatting than \footnote: -% \footnotemarkseparation is the space between the reference mark and -% the footnote text; -% \interfootnoteskip is the space between footnotes; -% \everyfootnote is expanded just before we typeset the footnote. -% -% The dimensions of the footnote rule are controlled by -% \footnoterulewidth and \footnoteruleheight (the depth is always zero); -% the space after the rule is \belowfootnoterulespace. -% -\newcount\footnotenumber -\newcount\hlfootlabelnumber -\newdimen\footnotemarkseparation \footnotemarkseparation = .5em -\newskip\interfootnoteskip \interfootnoteskip = 0pt -\newtoks\everyfootnote -\newdimen\footnoterulewidth \footnoterulewidth = 2in -\newdimen\footnoteruleheight \footnoteruleheight = 0.4pt -\newdimen\belowfootnoterulespace \belowfootnoterulespace = 2.6pt -% -\let\@plainfootnote = \footnote -\let\@plainvfootnote = \vfootnote -% Hyperlink labels for forward and back references. -\def\hlfootlabel{FOOT\the\hlfootlabelnumber}% -\def\hlfootbacklabel{FOOTB\the\hlfootlabelnumber}% -% -\def\@eplainfootnote#1{\let\@sf\empty % parameter #2 (the text) is read later - \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi - \global\advance\hlfootlabelnumber by 1 - \hlstart@impl{foot}{\hlfootlabel}% - \hldest@impl{footback}{\hlfootbacklabel}% - #1% - \hlend@impl{foot}% - \@sf\vfootnote{#1}% -}% -% -\let\footnote\@eplainfootnote -% -\def\vfootnote#1{\insert\footins\bgroup - \interlinepenalty\interfootnotelinepenalty - \splittopskip\ht\strutbox % top baseline for broken footnotes - \advance\splittopskip by \interfootnoteskip - \splitmaxdepth\dp\strutbox - \floatingpenalty\@MM - \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip - \everypar = {}% - \parskip = 0pt % because of the vskip - % Even if typesetting in multicolumns, do footnotes in normal page width. - % (We don't have any provision in the output routine for having - % footnotes per column, anyway.) - \ifnum\@numcolumns > 1 \hsize = \@normalhsize \fi - \the\everyfootnote - \vskip\interfootnoteskip - \indent\llap{% - \hlstart@impl{footback}{\hlfootbacklabel}% - \hldest@impl{foot}{\hlfootlabel}% - #1% - \hlend@impl{footback}% - \kern\footnotemarkseparation - }% - \footstrut\futurelet\next\fo@t -}% -% -\def\footnoterule{\dimen@ = \footnoteruleheight - \advance\dimen@ by \belowfootnoterulespace - \kern-\dimen@ - \hrule width\footnoterulewidth height\footnoteruleheight depth0pt - \kern\belowfootnoterulespace - \vskip-\interfootnoteskip -}% -% -\def\numberedfootnote{% - \global\advance\footnotenumber by 1 - \@eplainfootnote{$^{\number\footnotenumber}$}% -}% -% -% -% -% Margins. -% -% TeX's primitives determine the type area. But some users prefer to -% think in terms of margins. These definitions allow one to say, for -% example, `\topmargin = 2in', instead of `\voffset=1in\advance\vsize by -% -1in'. Constructions like `\advance\topmargin by 1in' give an error -% message, though, since \topmargin is not a parameter. Instead, the -% macro \advancetopmargin has to be used. -% -\newdimen\paperheight -\ifnum\mag=1000 - \paperheight = 11in % No magnification (yet). -\else - \paperheight = 11truein % We already have a magnification. -\fi -% -\def\topmargin{\afterassignment\@finishtopmargin \dimen@}% -\def\@finishtopmargin{% - \dimen2 = \voffset % Remember the old \voffset. - \voffset = \dimen@ \advance\voffset by -1truein - \advance\dimen2 by -\voffset % Compute the change in \voffset. - \advance\vsize by \dimen2 % Change type area accordingly. -}% -\def\advancetopmargin{% - \dimen@ = 0pt \afterassignment\@finishadvancetopmargin \advance\dimen@ -}% -\def\@finishadvancetopmargin{% - \advance\voffset by \dimen@ - \advance\vsize by -\dimen@ -}% -% -% -\def\bottommargin{\afterassignment\@finishbottommargin \dimen@}% -\def\@finishbottommargin{% - \@computebottommargin % Result in \dimen2. - \advance\dimen2 by -\dimen@ % Compute the change in the bottom margin. - \advance\vsize by \dimen2 % Change the type area. -}% -\def\advancebottommargin{% - \dimen@ = 0pt \afterassignment\@finishadvancebottommargin \advance\dimen@ -}% -\def\@finishadvancebottommargin{% - \advance\vsize by -\dimen@ -}% -% -% Find the current bottom margin, putting the result in \dimen2. -% -\def\@computebottommargin{% - \dimen2 = \paperheight % The total paper size. - \advance\dimen2 by -\vsize % Less the text size. - \advance\dimen2 by -\voffset % Less the offset at the top. - \advance\dimen2 by -1truein % Less the default offset. -}% -% -% -\newdimen\paperwidth -\ifnum\mag=1000 - \paperwidth = 8.5in % No magnification (yet). -\else - \paperwidth = 8.5truein % We already have a magnification. -\fi -% -\def\leftmargin{\afterassignment\@finishleftmargin \dimen@}% -\def\@finishleftmargin{% - \dimen2 = \hoffset % Remember the old \hoffset. - \hoffset = \dimen@ \advance\hoffset by -1truein - \advance\dimen2 by -\hoffset % Compute the change in \hoffset. - \advance\hsize by \dimen2 % Change type area accordingly. -}% -\def\advanceleftmargin{% - \dimen@ = 0pt \afterassignment\@finishadvanceleftmargin \advance\dimen@ -}% -\def\@finishadvanceleftmargin{% - \advance\hoffset by \dimen@ - \advance\hsize by -\dimen@ -}% -% -% -\def\rightmargin{\afterassignment\@finishrightmargin \dimen@}% -\def\@finishrightmargin{% - \@computerightmargin % Result in \dimen2. - \advance\dimen2 by -\dimen@ % Compute the change in the right margin. - \advance\hsize by \dimen2 % Change the type area. -}% -\def\advancerightmargin{% - \dimen@ = 0pt \afterassignment\@finishadvancerightmargin \advance\dimen@ -}% -\def\@finishadvancerightmargin{% - \advance\hsize by -\dimen@ -}% -% -% Find the current right margin, putting the result in \dimen2. -% -\def\@computerightmargin{% - \dimen2 = \paperwidth % The total paper size. - \advance\dimen2 by -\hsize % Less the text size. - \advance\dimen2 by -\hoffset % Less the offset at the left. - \advance\dimen2 by -1truein % Less the default offset. -}% -% -% There is a potential problem when using the margin macros at a true -% dimension and then calling \magnification. So we redefine -% \magnification to address this. -% -\let\@plainm@g = \m@g -\def\m@g{\@plainm@g \paperwidth = 8.5 true in \paperheight = 11 true in}% -% -% -% -% Double column output. -% -% \doublecolumns begins double column output. It can be called -% in the midst of a page. \singlecolumn restores single column -% output. (It would be wrong to require \enddoublecolumns, because -% often one wants double column mode to continue to the end of -% the document.) -% -% The basic approach is that of Appendix E of the TeXbook, p.417. -% David Guichard made significant improvements to my original implementation. -% -% The glue here (the default is intended to be one linespace) is inserted -% before double columns start, and after they end. -% -\newskip\abovecolumnskip \abovecolumnskip = \bigskipamount -\newskip\belowcolumnskip \belowcolumnskip = \bigskipamount -% -% Space between the columns. It can be changed as desired. -\newdimen\gutter \gutter = 2pc -% -% These registers are needed for dealing with switching back and forth. -\newbox\@partialpage -\newdimen\@normalhsize -\newdimen\@normalvsize % The original (before multi-columns) \vsize. -\newtoks\previousoutput -% -% Some synonymous ways to refer to multiple column modes. -\def\quadcolumns{\@columns4}% -\def\triplecolumns{\@columns3}% -\def\doublecolumns{\@columns2}% -\def\begincolumns#1{\ifcase#1\relax \or \singlecolumn \or \@columns2 \or - \@columns3 \or \@columns4 \else \relax \fi}% -\def\endcolumns{\singlecolumn}% -\let\@ndcolumns = \relax -% -% Set this by default so \vfootnote can unconditionally inspect it. -\chardef\@numcolumns = 1 -% -\mathchardef\@ejectpartialpenalty = 10141 -% -% -% \@columns: Start typesetting with #1 columns. -% -% Before we actually start, we have to make sure that there are at least -\chardef\@col@minlines = 3 -% free lines. -% (It could be 2, or even 1, but it might give ugly results; at least one -% line is absolutely necessary, or the output routine might get confused.) -% We have to be careful, so that eg. -% \hbox{TITLE} -% \nobreak -% \doublecolumns -% won't break between the title and the start of the columned output. -% -% To achieve this, we add vskip of fixed size equal to -% @col@minlines * baselineskip -% and then eject the page. -% The output routine then catches the pages ejected: -% 1) if it's a normal page, it is processed by previous output routine; -% 2) if it's the last one, it is saved and the added skip is removed. -% -% When the box is processed according to 1), an underfull vbox can appear, -% but it's not our problem, the manuscript (or it's macros) has to be fixed. -% -% Another note: all assignments are global; it is not possible to call -% \doublecolumns in a group. -% -\def\@columns#1{% - \@ndcolumns - % - \global\let\@ndcolumns = \@endcolumns - \global\chardef\@numcolumns = #1 - \global\previousoutput = \expandafter{\the\output}% - % - % Grab the page so far (i.e., the material BEFORE \@columns was called) - % and save it in \@partialpage. - \global\output = {% - \ifnum\outputpenalty = -\@ejectpartialpenalty - \dimen@ = \vsize - \advance\dimen@ by \@col@minlines\baselineskip - \global\setbox\@partialpage = - \vbox \ifdim \pagetotal > \vsize to \dimen@ \fi {% - \unvbox255 \unskip - }% - \else - \the\previousoutput - \fi - }% - % - \vskip \abovecolumnskip - \vskip \@col@minlines\baselineskip - % now execute the output routine: - \penalty -\@ejectpartialpenalty - % - % Reset \output to prepare for the first real page break. - \global\output = {\@columnoutput}% - % - \global\@normalhsize = \hsize - \global\@normalvsize = \vsize - % - % Figure out how wide the columns should be -- for n columns, - % decrement by n - 1 gutters. - \count@ = \@numcolumns - \advance\count@ by -1 - \global\advance\hsize by -\count@\gutter - \global\divide\hsize by \@numcolumns - % - % Compute \vsize based on what's already on the page - % and the number of columns. Also change the mag factor for insertions. - % - \advance\vsize by -\ht\@partialpage - % - \advance\vsize by -\ht\footins - \ifvoid\footins\else \advance\vsize by -\skip\footins \fi - \multiply\count\footins by \@numcolumns - % - \advance\vsize by -\ht\topins - \ifvoid\topins\else \advance\vsize by -\skip\topins \fi - \multiply\count\topins by \@numcolumns - % - \global\vsize = \@numcolumns\vsize -}% -% -% When this is invoked box 255 contains just the right amount of -% material, whether triggered by an output routine or a change in the -% number of columns. Because columns have to contain an integral number -% of lines of type, we take a bit of care with balancing the heights of -% the columns to prevent either losing material or having a very short -% last column. -% -% When a page ends due to \bye or \eject, box 255 will contain lots of -% white space, so the columns will not look balanced. To fix this use -% \singlecolumn before ending the page. -% -% [gutterbox material added by AHL on 5 November 1997.] -% \gutterbox is a hook to enable the placement of arbitrary vertical -% material in the gutter between columns. For example, to put a -% vertical line between the columns you could say -% -% \def\gutterbox{\vbox to \dimen0{\vfil\hbox{\vrule height\dimen0}\vfil}}% -% -% The dimension counter \dimen0 contains the height of the column. -% -% By default, we define \gutterbox to be "empty": -\def\gutterbox{\vbox to \dimen0{\vfil\hbox{\hfil}\vfil}}% -% -% [This next paragraph added by AHL on 22 Sep 1996.] -% There is a special case we have to worry about, namely when we -% switch from multiple columns to single columns. In this case, we may -% have a bit of text left over that doesn't fit evenly into the -% multiple columns. In that case, we will have un-even columns. Not a -% pretty solution, but I don't have a better one at the moment. The -% conditional \if@forceextraline tests whether we are in this case. -% -\newif\if@forceextraline\@forceextralinefalse -\def\@columnsplit{% - \splittopskip = \topskip - \splitmaxdepth = \baselineskip - % - % \dimen@ will be the height that the double-column material on this - % page should have, i.e., the height of the page (\singlecolumvsize) - % minus single-column material, which includes insertions. (If you - % want your insertions to respect the columns, you will have to - % change the output routine.) If you add more insertions, they - % should be taken into account both here and in \singlecolumn. - % - % Unfortunately, we lose on flexible glue because we must - % \vsplit to a <dimen>. - \dimen@ = \ht255 - \divide\dimen@ by \@numcolumns - % - % If we are in an end-column mode and we need extra vertical space - % in the last column, advance \dimen@. - \if@forceextraline - \advance\dimen@ by \baselineskip - \fi - % - % Split the long scroll into columns. - \begingroup - % We do not want to see underfull \vbox messages unless the final - % page is underfull. - \vbadness = 10000 - % - % The first (leftmost) column. - \global\setbox1 = \vsplit255 to \dimen@ \global\wd1 = \hsize - % - % The second column. - \global\setbox3 = \vsplit255 to \dimen@ \global\wd3 = \hsize - % - \ifnum\@numcolumns > 2 - % The third column, if requested. - \global\setbox5 = \vsplit255 to \dimen@ \global\wd5 = \hsize - \fi - \ifnum\@numcolumns > 3 - % The fourth column, likewise if requested. - \global\setbox7 = \vsplit255 to \dimen@ \global\wd7 = \hsize - \fi - \endgroup - \if@forceextraline % If this is the first time - \else % through, save the single - \setbox\@forcelinebox=\copy\@partialpage % column material. - \fi - % - % Set up \box255 with the real output page, as the previous output - % routine expects. - \setbox0 = \box255 - \global\setbox255 = \vbox{% - \unvbox\@partialpage - \ifcase\@numcolumns \relax\or\relax - \or \hbox to \@normalhsize{\box1\hfil\gutterbox\hfil\box3}% - \or \hbox to \@normalhsize{\box1\hfil\gutterbox\hfil\box3% - \hfil\gutterbox\hfil\box5}% - \or \hbox to \@normalhsize{\box1\hfil\gutterbox\hfil\box3% - \hfil\gutterbox\hfil\box5% - \hfil\gutterbox\hfil\box7}% - \fi - }% - % - % Save what's left over in a private register before calling their - % output routine. - \setbox\@partialpage = \box0 -}% -% -% Our output routine splits the columns and then calls the previous one. -% -\def\@columnoutput{% - \@columnsplit - \@recoverclubpenalty - \hsize = \@normalhsize % Local to \output's group. - \vsize = \@normalvsize - \the\previousoutput - % - % Put back what didn't fit. - \unvbox\@partialpage - \penalty\outputpenalty - % - % The correct vsize is the original vsize times the - % number of columns. - \global\vsize = \@numcolumns\@normalvsize -}% -% -% Go back to single-column typesetting. Assume \doublecolumns has -% been called. -% -\def\singlecolumn{% - \@ndcolumns - \chardef\@numcolumns = 1 - \vskip\belowcolumnskip - \nointerlineskip -}% -% -\newbox\@forcelinebox -\def\@endcolumns{% - \global\let\@ndcolumns = \relax - \par % Shouldn't start in horizontal mode. - % - \global\output = {\global\setbox1 = \box255}% - \pagegoal = \pagetotal - \break % Exercise the page builder, i.e., \output. - \setbox2 = \box1 % Save material in box2 in case of overflow. - \global\setbox255 = \copy2 % Retrieve what the fake \output set. - % - % \box255 now has the double-column material. On the page where we - % switch back to one column, the double-column material might not - % fill up the page. We want to split whatever is there. - \@columnsplit - % - % Check that \@columnsplit did not leave any lines in - % \@partialpage. If it did, do it again, but this time with longer - % columns. - \ifvoid\@partialpage - \else % There is some left-over. - \setbox0=\box\@partialpage % Merely to void \@partialpage - \global\setbox255 = \box2 % Retrieve what the fake \output set. - \@forceextralinetrue % Add \forcelinebox to \box255 to save single - \@columnsplit % column material. - \global\setbox255 = \vbox{\box\@forcelinebox\box255}% - \fi - - \global\vsize = \@normalvsize - \global\hsize = \@normalhsize - \global\output = \expandafter{\the\previousoutput}% - % - \ifvoid\topins\else\topinsert\unvbox\topins\endinsert\fi - \unvbox255 -}% -% [\columnfill] -% We don't have any way to force a column eject, since the \output -% routine is only prepared to split up a full page of material. Instead, -% we provide the following as a guess at enough space to fill up the -% current column. -% -% [April 30, 1998] This definition is from -% Helmut Jarausch <jarausch@IGPM.Rwth-Aachen.DE> with some -% modifications by A. Lewenberg <ahl@uakron.edu>. -% -% Here is the main difficulty: when \vsplitting the long page into the -% component columns, \vsplit prepends to the top of each column glue -% in the amount \topskip - (height of top box). But this happens -% in the output routine _after_ the \columnfill does its -% calculations. The result of this is that if we are not careful -% \columnfill will insert too much space attempting to ``eject'' the -% current column. There is no simple way around this, so what I have -% done is have is make \columnfill insert less space than needed, and -% then not allow any \club lines by setting \clubpenalty to its -% maximum value. Not a pretty solution, but until something better -% comes along, it will have to do. -% -\def\@saveclubpenalty{% save the current value of \clubpenalty - \edef\@recoverclubpenalty{% - \global\clubpenalty=\the\clubpenalty\relax% - \global\let\noexpand\@recoverclubpenalty\relax - }% the \noexpand handles infinite self-reference -}% -\let\@recoverclubpenalty\relax -\newdimen\temp@dimen -\def\columnfill{% - \par - \dimen@=\pagetotal % The height of the text set so far. - \temp@dimen = \vsize % = \@numcolumns * columnheight - \divide\temp@dimen by \@numcolumns % find out column height - \loop - \ifdim \dimen@ > \temp@dimen - \advance \dimen@ by -\temp@dimen - \advance \dimen@ by \topskip % fudge factor - \repeat - \advance \temp@dimen by -\dimen@ - \advance \temp@dimen by -\prevdepth - \@saveclubpenalty - \clubpenalty=10000\relax - \hrule height\temp@dimen width0pt depth0pt\relax - \nointerlineskip - \par - \nointerlineskip - \penalty0\vfil % To allow a page break here. - \relax -}% -% -% -% -% Hypertext links support. -% -% Hyperlink destinations (driver-independent code). -% -% \hldest{TYPE}{OPTIONS}{LABEL} defines a hyperlink destination -% LABEL. OPTIONS is a comma-separated list of option assignments of -% the form `opt=value'; permitted values for TYPE and OPTIONS depend -% on selected hyperlink driver. -% -% \hldest will be \let to \@hldest by \enablehyperlinks. TYPE, -% OPTIONS and LABEL will be read by \hl@getparam. -\def\@hldest{% - \def\hl@prefix{hldest}% - \let\after@hl@getparam\hldest@aftergetparam - % Start the group which will isolate option settings. It will be - % ended in \hldest@aftergetparam - \begingroup - \hl@getparam -}% -% This actually produces hyperlink destination. It will be called at -% the end of \hl@getparam, after the parameters are parsed. -\def\hldest@aftergetparam{% - \ifvmode - % In vertical mode we don't raise the destination, so it can go - % directly into the vertical list. - \hldest@driver - \else - % In horizontal mode, the destination is raised \hldest@opt@raise - % above the baseline and placed inside a zero-width/height/depth - % box; the box is surrounded by \allowhyphens in case it is - % placed next to a word, to allow hyphenation of that word. - \allowhyphens - \smash{\ifx\hldest@opt@raise\empty \else \raise\hldest@opt@raise\fi - \hbox{\hldest@driver}}% - \allowhyphens - \fi - % End the group which was isolating option settings (it was started - % in \@hldest). - \endgroup -}% -% -% Hyperlinks (driver-independent code). -% -% \hlstart{TYPE}{OPTIONS}{LABEL} starts a hyperlink to destination -% LABEL. OPTIONS is a comma-separated list of option assignments of -% the form `opt=value'; permitted values of TYPE and OPTIONS depend on -% selected hyperlink driver. End the link with \hlend. -% -% \hlstart will be \let to \@hlstart by \enablehyperlinks. TYPE, -% OPTIONS and LABEL will be read by \hl@getparam. -\def\@hlstart{% - \leavevmode - \def\hl@prefix{hl}% - \let\after@hl@getparam\hlstart@aftergetparam - % Start the group which will isolate option settings and color - % changes. It will be ended in \@hlend - \begingroup - \hl@getparam -}% -% -\def\hlstart@aftergetparam{% - % Set the color for the link. - \ifx\color\undefined \else - \ifx\hl@opt@color\empty \else - \ifx\hl@opt@colormodel\empty - \edef\temp{\noexpand\color{\hl@opt@color}}% - \else - \edef\temp{\noexpand\color[\hl@opt@colormodel]{\hl@opt@color}}% - \fi - \temp - \fi - \fi - % Call the driver. - \hl@driver -}% -% \hlend will be \let to \@hlend by \enablehyperlinks. \@hlend will -% be defined by a driver. -% -% Macros which are used commonly by \hldest and \hlstart to parse and -% save parameters. \hl@prefix must be set to `hldest' by \hldest and -% to `hl' by \hlstart. -% -% \hl@getparam{TYPE}{OPTIONS}{LABEL} reads, parses and saves the -% parameters for \hldest or \hlstart into \@hltype, \hl[dest]@opt@... -% and \@hllabel. After doing that it calls \after@hl@getparam which -% should be defined by \@hldest and \@hlstart to produce destination / -% link using the saved parameters. -\def\hl@getparam#1#2#3{% - % Save TYPE in \@hltype (use default if empty). - \edef\@hltype{#1}% - \ifx\@hltype\empty - \expandafter\let\expandafter\@hltype - \csname \hl@prefix @type\endcsname - \fi - % For each supported destination / link type TYPE, a driver should - % define \hl[dest]@typeh@TYPE handler. - \expandafter\ifx\csname \hl@prefix @typeh@\@hltype\endcsname \relax - \errmessage{Invalid type `\@hltype'}% - \fi - % \for will expand #2 once so user can pass a shortcut macro. We - % also ignore empty \hl@arg, so that the following - % \hldest{TYPE}{\myopt,height=200pt}{LABEL} - % would be legal even when \myopt happens to be empty. - \for\hl@arg:=#2\do{% - \ifx\hl@arg\empty \else - \expandafter\hl@set@opt\hl@arg=,% - \fi - }% - % Save LABEL in \@hllabel. - \edef\@hllabel{#3}% - % Execute the commands specific to destination / link - \after@hl@getparam - % Ignore spaces after \hlstart and \hldest. - \ignorespaces -}% -% Parse and set a (default, not a group) option. -\def\hl@set@opt#1=#2,{% - % For each supported option OPTION, a driver should define - % \hl[dest]@opt@OPTION. - \expandafter\ifx\csname \hl@prefix @opt@#1\endcsname \relax - \errmessage{Invalid option `#1'}% - \fi - % Save the value of the option. - \if ,#2, % if #2 is empty, complain. - \errmessage{Missing value for option `#1'}% - \else - % Remove a trailing =. - \def\temp##1={##1}% - \expandafter\edef\csname \hl@prefix @opt@#1\endcsname{\temp#2}% - \fi -}% -% \hl{dest,start,end}@impl{GROUP}{LABEL} will generate `implicit' destination / -% hyperlink, if the user has not turned off this kind of implicit -% destinations / hyperlinks. This is used by Eplain's cross-reference -% macros. -\def\hldest@impl#1{% - \expandafter\ifcase\csname hldest@on@#1\endcsname - \relax\expandafter\gobble - \else - \toks@=\expandafter{\csname hldest@type@#1\endcsname}% - \toks@ii=\expandafter{\csname hldest@opts@#1\endcsname}% - \edef\temp{\noexpand\hldest{\the\toks@}{\the\toks@ii}}% - \expandafter\temp - \fi -}% -\def\hlstart@impl#1{% - \expandafter\ifcase\csname hl@on@#1\endcsname - % Still produce \leavevmode, to be consistent with \hloff. - \leavevmode\expandafter\gobble - \else - \toks@=\expandafter{\csname hl@type@#1\endcsname}% - \toks@ii=\expandafter{\csname hl@opts@#1\endcsname}% - \edef\temp{\noexpand\hlstart{\the\toks@}{\the\toks@ii}}% - \expandafter\temp - \fi -}% -\def\hlend@impl#1{% - \expandafter\ifcase\csname hl@on@#1\endcsname - \else - \hlend - \fi -}% -% -% Setting options and types. -% -\def\hl@asterisk@word{*}% -\def\hl@opts@word{opts}% -\newif\if@params@override -% We define hyperlink / destination groups. A group is a macro or a -% group of macros which implicitly generate hyperlink / destination. -% The user can set parameters for each group individually, as well as -% the default parameters, with the macros defined below. Group -% settings will override the default hyperlink / destination -% parameters. -\def\hldest@groups{definexref,xrdef,li,eq,bib,foot,footback,idx}% -\def\hl@groups{ref,xref,eq,cite,foot,footback,idx,url}% -% \hldesttype [GROUPS]{VALUE} -% \hldestopts [GROUPS]{VALUE} -% \hltype [GROUPS]{VALUE} -% \hlopts [GROUPS]{VALUE} -% -% Set hyperlink or destination parameter (type / opts) to VALUE for -% each group in GROUPS. An empty `group' will set default value for -% the parameter. A star (*) `group' stands for all groups (exept the -% empty `group'). If the macro is followed by an exclamation mark -% (like \hlopts!...), the parameters will be overridden; otherwise, -% they will be updated (this has effect only on group option list). -\def\hldesttype{% - \def\hl@prefix{hldest}% - \def\hl@param{type}% - \let\hl@all@groups\hldest@groups - \futurelet\hl@excl\hl@param@read@excl -}% -\def\hldestopts{% - \def\hl@prefix{hldest}% - \def\hl@param{opts}% - \let\hl@all@groups\hldest@groups - \futurelet\hl@excl\hl@param@read@excl -}% -\def\hltype{% - \def\hl@prefix{hl}% - \def\hl@param{type}% - \let\hl@all@groups\hl@groups - \futurelet\hl@excl\hl@param@read@excl -}% -\def\hlopts{% - \def\hl@prefix{hl}% - \def\hl@param{opts}% - \let\hl@all@groups\hl@groups - \futurelet\hl@excl\hl@param@read@excl -}% -\def\hl@param@read@excl{% - \ifx!\hl@excl - \let\next\hl@param@read@opt@arg - \@params@overridetrue - \else - \def\next{\hl@param@read@opt@arg{!}}% - \@params@overridefalse - \fi - \next -}% -\def\hl@param@read@opt@arg#1{% #1 is the `!', ignore it. - \@getoptionalarg\hl@setparam -}% -% Set the parameter \hl@param to #1 for each group in \@optionalarg. -\def\hl@setparam#1{% - \ifx\@optionalarg\empty - \hl@setparam@default{#1}% Set default. - \else - % If we find an asterisk in the list, we have no choice but to - % finish the list and then call \hl@setparam again, now with - % \hl@all@groups for the list of groups. - \let\hl@do@all@groups\gobble -% - \for\hl@group:=\@optionalarg\do{% - \ifx\hl@group\hl@asterisk@word - \def\hl@do@all@groups{\let\@optionalarg\hl@all@groups \hl@setparam}% - \else - \hl@setparam@group{#1}% - \fi - }% -% - \hl@do@all@groups{#1}% - \fi -}% -% Set a parameter (\hl@param) for one group (\hl@group) to the value -% (#1). The group may be empty, in which case we call -% \hl@setparam@default -\def\hl@setparam@group#1{% - \ifx\hl@group\empty - \hl@setparam@default{#1}% - \else - \expandafter\ifx\csname\hl@prefix @\hl@param @\hl@group\endcsname\relax - \errmessage{Hyperlink group parameter `\hl@prefix:\hl@param:\hl@group' is not defined}% - \fi - \ifx\hl@param\hl@opts@word - % For the `opts' parameter, we want to expand the first token of - % #1 once, in case the user passed a macro containing the option - % list. We may need to either simply override the old option - % list, or to update it with the new option settings. - \if@params@override - \toks@=\expandafter{#1}% - \ece\edef{\hl@prefix @\hl@param @\hl@group}{\the\toks@}% - \else - \hl@update@opts@with@list{#1}% #1 will be used in the \for - % loop, so it will be expanded once. - \fi - \else - % Do not use \edef here to define the parameter, so the user can - % define it to, e.g., \normalbaselineskip, and make the parameter - % adjustable to a situation. - \ece\def{\hl@prefix @\hl@param @\hl@group}{#1}% - \fi - \fi -}% -% Set default parameter values. We have to treat `opts' (list of -% options) specially, because for option defaults we don't store a -% list of options (like we do for the group options) but set each -% option individually. -\def\hl@setparam@default#1{% - \ifx\hl@param\hl@opts@word - % `opts'. - \for\hl@opt:=#1\do{% - \ifx\hl@opt\empty \else - \expandafter\hl@set@opt\hl@opt=,% - \fi - }% - \else - % Everything except `opts'. - \expandafter\ifx\csname\hl@prefix @\hl@param\endcsname\relax - \message{Default parameter `\hl@prefix:\hl@param' is not defined}% - \fi - % Should not use \edef, so the user could define this to, e.g., - % \normalbaselineskip, to make the parameter adjustable to a - % situation. - \ece\def{\hl@prefix @\hl@param}{#1}% - \fi -}% -% For each option in the list (#1), call \hl@update@with@opt to update -% the group's option list (\csname\hl@prefix @opts@ \hl@group\endcsname) -% with this new option. -\def\hl@update@opts@with@list#1{% - % Start with the current list of the group. - \global\expandafter\let\expandafter\hl@update@new@list - \csname \hl@prefix @opts@\hl@group\endcsname - % We have to isolate the \for loop inside a (TeX) group, to avoid - % clashes with the loop in \hl@setparam - \begingroup - \for\hl@opt:=#1\do{% - \hl@update@opts@with@opt - }% - \endgroup - % Save the final list back in the option list for the group. - \ece\let{\hl@prefix @opts@\hl@group}\hl@update@new@list -}% -% Go through the option list (\hl@update@new@list) and construct the -% new list (in \hl@update@new@list), replacing the old definition of -% the option with the new one (\hl@opt). -\def\hl@update@opts@with@opt{% - % Save the old list and the new option. - \global\let\hl@update@old@list\hl@update@new@list - \global\let\hl@update@new@list\empty - \global\let\hl@update@new@opt\hl@opt - % Get the key of the new option and save it. - \expandafter\hl@parse@opt@key\hl@opt=,% - \let\hl@update@new@key\hl@update@key - % We will set this to real comma after the first entry. - \global\let\hl@update@comma\empty - % We have to isolate the \for loop inside a (TeX) group, to avoid - % clashes with the loop in \hl@update@opts@with@list - \begingroup - \for\hl@opt:=\hl@update@old@list\do{% - \ifx\hl@opt\empty \else % Skip empty `options'. - % Get the key of this option. - \expandafter\hl@parse@opt@key\hl@opt=,% - % If the key matches, replace the option definition with the - % new definition, otherwise, repeat the old definition. - \toks@=\expandafter{\hl@update@new@list}% - \ifx\hl@update@key\hl@update@new@key - \ifx\hl@update@new@opt\empty \else % Skip multiple options. - \toks@ii=\expandafter{\hl@update@new@opt}% - \xdef\hl@update@new@list{\the\toks@\hl@update@comma\the\toks@ii}% - \global\let\hl@update@new@opt\empty - \global\def\hl@update@comma{,}% - \fi - \else - \toks@ii=\expandafter{\hl@opt}% - \xdef\hl@update@new@list{\the\toks@\hl@update@comma\the\toks@ii}% - \global\def\hl@update@comma{,}% - \fi - \fi - }% - \endgroup - % If nothing was replaced, add the new option to the end of the new list. - \ifx\hl@update@new@opt\empty \else - \toks@=\expandafter{\hl@update@new@list}% - \toks@ii=\expandafter{\hl@update@new@opt}% - \xdef\hl@update@new@list{\the\toks@\hl@update@comma\the\toks@ii}% - \fi -}% -% Parse the key of the option and save it in \hl@update@key -\def\hl@parse@opt@key#1=#2,{\def\hl@update@key{#1}}% -% -% Default and group parameters (options and types). -% -% Option `raise' will determine how much to raise hyperlink -% destinations above the baseline. It will be supported by all -% drivers, since it is handled outside the drivers, in -% \hldest@aftergetparam. -\def\hldest@opt@raise{\normalbaselineskip}% -% Options `colormodel' and `color' will also be handled outside the -% drivers, in \hlstart@aftergetparam. -\def\hl@opt@colormodel{cmyk}% -\def\hl@opt@color{0.28,1,1,0.35}% -% -% Parameters for destinations and links produced implicitly by -% cross-reference macros. Note that each driver will additionally -% define \hldest@type and \hl@type parameters which will be used when -% one of the below is empty, and default values for destination and -% link options (which are driver-specific). -% -% Destination on/off flags (0=off, 1=on). -\def\hldest@on@definexref{0}% -\def\hldest@on@xrdef{0}% -\def\hldest@on@li{0}% -\def\hldest@on@eq{0}% \eqdef and friends -\def\hldest@on@bib{0}% \biblabelprint (BibTeX) -\def\hldest@on@foot{0}% \footnote / \numberedfootnote -\def\hldest@on@footback{0}% back-ref for \footnote / \numberedfootnote -\def\hldest@on@idx{0}% both `page' dests and `exact' dests -% Types of destinations. -\let\hldest@type@definexref\empty -\let\hldest@type@xrdef\empty -\let\hldest@type@li\empty -\let\hldest@type@eq\empty % \eqdef and friends -\let\hldest@type@bib\empty % \biblabelprint (BibTeX) -\let\hldest@type@foot\empty % \footnote / \numberedfootnote -\let\hldest@type@footback\empty % back-ref for \footnote / \numberedfootnote -\let\hldest@type@idx\empty % both `page' dests and `exact' dests -% Options for destinations. -\let\hldest@opts@definexref\empty -\let\hldest@opts@xrdef\empty -\let\hldest@opts@li\empty -\def\hldest@opts@eq{raise=1.7\normalbaselineskip}% \eqdef and friends -\let\hldest@opts@bib\empty % \biblabelprint (BibTeX) -\let\hldest@opts@foot\empty % \footnote / \numberedfootnote -\let\hldest@opts@footback\empty % back-ref for \footnote / \numberedfootnote -\let\hldest@opts@idx\empty % both `page' dests and `exact' dests -% -% Hyperlink on/off flags (0=off, 1=on). -\def\hl@on@ref{0}% \refn and \xrefn, \ref, \refs -\def\hl@on@xref{0}% -\def\hl@on@eq{0}% \eqref and \eqrefn -\def\hl@on@cite{0}% \cite (BibTeX) -\def\hl@on@foot{0}% \footnote / \numberedfootnote -\def\hl@on@footback{0}% back-reference for \footnote / \numberedfootnote -\def\hl@on@idx{0}% -\def\hl@on@url{0}% \url from url.sty -% Types of links. -\let\hl@type@ref\empty % \refn and \xrefn, \ref, \refs -\let\hl@type@xref\empty -\let\hl@type@eq\empty % \eqref and \eqrefn -\let\hl@type@cite\empty % \cite (BibTeX) -\let\hl@type@foot\empty % \footnote / \numberedfootnote -\let\hl@type@footback\empty % back-reference for \footnote / \numberedfootnote -\let\hl@type@idx\empty -\let\hl@type@url\empty % \url from url.sty (this will be set to `url' by - % drivers which support the `url' type) -% Options for links. -\let\hl@opts@ref\empty % \refn and \xrefn, \ref, \refs -\let\hl@opts@xref\empty -\let\hl@opts@eq\empty % \eqref and \eqrefn -\let\hl@opts@cite\empty % \cite (BibTeX) -\let\hl@opts@foot\empty % \footnote / \numberedfootnote -\let\hl@opts@footback\empty % back-reference for \footnote / \numberedfootnote -\let\hl@opts@idx\empty -\let\hl@opts@url\empty % \url from url.sty -% -% \@hlon[GROUPS] -% \@hloff[GROUPS] -% \@hldeston[GROUPS] -% \@hldestoff[GROUPS] -% \@@hlon -% \@@hloff -% \@@hldeston -% \@@hldestoff -% -% Macros to switch hyperlinks / destinations on/off. -% -% The optional arg is the list of groups. It can contain a star (*) -% which will make the macros affect all groups (but not the low-level -% macros \hlstart, \hlend and \hldest). -% -% \@hlon, \@hldeston, \@hloff and \@hldestoff will turn low-level -% macros on/off only when they are used either without the optional -% arg or with an empty `group' in the optional arg, otherwise only the -% specified groups are affected. -% -% The single-`@' variants (\@hl...) are for the user. In your macros, -% if you want to (temporarily) turn low-level macros on/off, it's -% better to use the double-`@' variants (\@@hl...), because they are -% much faster and won't clobber \@optionalarg or anything else. -% -\def\@hlon{\@hlonoff@value@stub{hl}\@@hlon1 }% -\def\@hloff{\@hlonoff@value@stub{hl}\@@hloff0 }% -\def\@hldeston{\@hlonoff@value@stub{hldest}\@@hldeston1 }% -\def\@hldestoff{\@hlonoff@value@stub{hldest}\@@hldestoff0 }% -% -\def\@hlonoff@value@stub#1#2#3{% - \def\hl@prefix{#1}% - \let\hl@on@empty#2% - \def\hl@value{#3}% - \expandafter\let\expandafter\hl@all@groups - \csname \hl@prefix @groups\endcsname - \@getoptionalarg\@finhlswitch -}% -% -\def\@finhlswitch{% - \ifx\@optionalarg\empty - \hl@on@empty - \fi - % If we find an asterisk in the list, we have no choice but to - % finish the list and then call \@finhlswitch again, now with - % \hl@all@groups for the list of groups. - \let\hl@do@all@groups\relax -% - \for\hl@group:=\@optionalarg\do{% - \ifx\hl@group\hl@asterisk@word - \let\@optionalarg\hl@all@groups - \let\hl@do@all@groups\@finhlswitch - \else - \ifx\hl@group\empty - \hl@on@empty - \else - \expandafter\ifx\csname\hl@prefix @on@\hl@group\endcsname \relax - \errmessage{Hyperlink group `\hl@prefix:on:\hl@group' - is not defined}% - \fi - \ece\edef{\hl@prefix @on@\hl@group}{\hl@value}% - \fi - \fi - }% -% - \hl@do@all@groups -}% -% Turn low-level macros on/off. -\def\@@hlon{% - \let\hlstart\@hlstart - \let\hlend\@hlend -}% -\def\@@hloff{% - \def\hlstart##1##2##3{\leavevmode\ignorespaces}% - \let\hlend\relax -}% -\def\@@hldeston{% - \let\hldest\@hldest -}% -\def\@@hldestoff{% - \def\hldest##1##2##3{\ignorespaces}% -}% -% -% Hyperlink drivers. -% -% \enablehyperlinks[OPTIONS] will enable hyperlinks. OPTIONS is a -% list of comma-separated options. An option is one of the following: -% -% idxexact Point index links to exact locations of the term -% idxpage Point index links to pages with the term (default) -% idxnone No links for index entries -% <driver-name> Force the hyperlink driver -% -% If <driver-name> is omitted, appropriate driver will be detected, if -% possible; if not, we fall back on `dvipdfm' (currently this means -% `pdftex' when \ifpdf, and `dvipdfm' otherwise). -\def\hl@idxexact@word{idxexact}% -\def\hl@idxpage@word{idxpage}% -\def\hl@idxnone@word{idxnone}% -% -\def\enablehyperlinks{\@getoptionalarg\@finenablehyperlinks}% -\def\@finenablehyperlinks{% - \let\hl@selecteddriver\empty - % By default we generate `idxpage' index hyperlinks. - \def\hldest@place@idx{0}% - % Go through the option list. - \for\hl@arg:=\@optionalarg\do{% - \ifx\hl@arg\hl@idxexact@word - \def\hldest@place@idx{1}% - \else - \ifx\hl@arg\hl@idxnone@word - \def\hldest@place@idx{-1}% - \else - \ifx\hl@arg\hl@idxpage@word - \def\hldest@place@idx{0}% - \else - \let\hl@selecteddriver\hl@arg - \fi - \fi - \fi - }% - % Check the driver name. - \ifx\hl@selecteddriver\empty - % The user did not specify a driver, detect. - \ifpdf - \def\hl@selecteddriver{pdftex}% - \message{^^JUsing `pdftex' hyperlink driver.}% - \else - \def\hl@selecteddriver{dvipdfm}% - \message{^^JUsing `dvipdfm' hyperlink driver.}% - \fi - \else - % Check that the requested driver's initialization routine is - % available. - \expandafter\ifx\csname hldriver@\hl@selecteddriver\endcsname \relax - \errmessage{No hyperlink driver `\hl@selecteddriver' available}% - \fi - \fi - % Call the driver's initialization routine. - \csname hldriver@\hl@selecteddriver\endcsname - % Driver should not be changed later. - \def\@finenablehyperlinks{\errmessage{Hyperlink driver `\hl@selecteddriver' - already selected}}% - % Free memory taken up by the drivers. - \let\hldriver@nolinks\undefined - \let\hldriver@pdftex \undefined - \let\hldriver@dvipdfm\undefined - % The user can use these to turn the links / destinations on/off - % (see comments to the driver `nolinks'). - \let\hloff\@hloff - \let\hlon\@hlon - \let\hldestoff\@hldestoff - \let\hldeston\@hldeston - % Turn everything on by default. - \hlon[*,]% - \hldeston[*,]% -}% -% -% Driver `nolinks'. -% -% Select this driver to suppress any hyperlinks / destinations in your -% document. -% -% NOTE: selecting this driver is quite different from not selecting -% any driver at all, or from selecting some driver and then turning -% off links and destinations for the entire document with \hloff and -% \hldestoff. -% -% The purpose of \hldestoff and \hloff is to mark (parts) of document -% where links should never appear. (Imagine you want to prevent a -% cross-referencing macro from generating a link at a certain spot in -% your document.) -% -% If instead you have prepared a document with links and just want to -% compile a version without the links, it is better to select the -% driver `nolinks'. This will ensure that spacing and pagebreaking -% will be the same as what you were getting with hyperlinks enabled. -% -% The reason for this is that hyperlinks are produced by \special -% commands. Each \special is placed inside a whatsit which may -% introduce a legitimate breakpoint at places where none would exist -% without the whatsit. The macros \hldestoff and \hloff disable -% hyperlink macros so drastically that no whatsits are produced. -% -% On the other hand, `nolinks' driver does not completely disable -% hyperlink macros. Instead, it defines them to write to the log -% file (what gets written is not really important). This will produce -% the whatsits imitating the whatsits from the \special's. (This -% trick was borrowed from graphics bundle.) -% -% Another reason for using `nolinks' is that in horizontal mode -% \hldest places destinations inside zero-width/height/depth boxes. -% When you say \hldestoff, \hldest will omit both destination specs -% and these boxes. The missing boxes can cause typesetting to be -% inconsistent with what you were getting with destinations enabled. -% Again, `nolinks' driver helps here by defining \hldest to still -% produce the empty boxes. -% -\def\hldriver@nolinks{% - \def\@hldest##1##2##3{% - \ifvmode - \write-1{\string\hldest: ##3}% - \else - \allowhyphens - \smash{\write-1{\string\hldest: ##3}}% - \allowhyphens - \fi - \ignorespaces - }% - \def\@hlstart##1##2##3{% - \leavevmode - \begingroup % Start the color group. - \write-1{\string\hlstart: ##3}% - \ignorespaces - }% - \def\@hlend{\write-1{\string\hlend}\endgroup}% End the group from \@hlstart. -}% -% -% Driver `pdftex'. -% -\def\hldriver@pdftex{% -\ifpdf % PDF output is enabled. - \def\hl@raw@word{raw}% - % - % Hyperlink destinations. - % - % Default type. - \def\hldest@type{xyz}% - % Set defaults for the options and tell \hl@set@opt what options we - % support. (We do not define \hldest@opt@raise, \hl@opt@colormodel - % and \hl@opt@color, they are defined and used outside the drivers.) - \let\hldest@opt@width \empty - \let\hldest@opt@height \empty - \let\hldest@opt@depth \empty - \let\hldest@opt@zoom \empty - \let\hldest@opt@cmd \empty - % Multiplexer for all supported destination types. - \def\hldest@driver{% - % Special case for `raw' destinations. - \ifx\@hltype\hl@raw@word - \csname \hldest@opt@cmd \endcsname - \else - \pdfdest name{\@hllabel}\@hltype - \csname hldest@typeh@\@hltype\endcsname - \fi - }% - % Define handlers for each supported destination type. - \let\hldest@typeh@raw \empty - \let\hldest@typeh@fit \empty - \let\hldest@typeh@fith \empty - \let\hldest@typeh@fitv \empty - \let\hldest@typeh@fitb \empty - \let\hldest@typeh@fitbh \empty - \let\hldest@typeh@fitbv \empty - \def\hldest@typeh@fitr{% - \ifx\hldest@opt@width \empty \else width \hldest@opt@width \fi - \ifx\hldest@opt@height \empty \else height \hldest@opt@height \fi - \ifx\hldest@opt@depth \empty \else depth \hldest@opt@depth \fi - }% - \def\hldest@typeh@xyz{% - \ifx\hldest@opt@zoom\empty \else zoom \hldest@opt@zoom \fi - }% - % - % Hyperlinks. - % - % Default type. - \def\hl@type{name}% - % We support `url' hyperlinks, so set the `url' group type. - \ifx\hl@type@url\empty - \def\hl@type@url{url}% - \fi - % Set defaults for the options and tell \hl@set@opt what options we - % support. - \let\hl@opt@width \empty - \let\hl@opt@height \empty - \let\hl@opt@depth \empty - \def\hl@opt@bstyle {S}% - \def\hl@opt@bwidth {1}% - \let\hl@opt@bcolor \empty - \let\hl@opt@hlight \empty - \let\hl@opt@bdash \empty - \let\hl@opt@pagefit \empty - \let\hl@opt@cmd \empty - \let\hl@opt@file \empty - \let\hl@opt@newwin \empty - % Multiplexer for all supported link types. - \def\hl@driver{% - % Special case for `raw' links. - \ifx\@hltype\hl@raw@word - \csname \hl@opt@cmd \endcsname - \else - % See if we will construct a /BS spec. We want to bother only - % if any of \hl@opt@bstyle, \hl@opt@bwidth and \hl@opt@bdash is - % not empty. - \let\hl@BSspec\relax % construct - \ifx\hl@opt@bstyle \empty - \ifx\hl@opt@bwidth \empty - \ifx\hl@opt@bdash \empty - \let\hl@BSspec\empty % don't construct - \fi - \fi - \fi - % Construct common preamble of a link. - \def\hlstart@preamble{% - \pdfstartlink - \ifx\hl@opt@width \empty \else width \hl@opt@width \fi - \ifx\hl@opt@height \empty \else height \hl@opt@height \fi - \ifx\hl@opt@depth \empty \else depth \hl@opt@depth \fi - attr{% - \ifx\hl@opt@bcolor\empty\else /C[\hl@opt@bcolor]\fi - \ifx\hl@opt@hlight\empty\else /H/\hl@opt@hlight\fi - \ifx\hl@BSspec\relax - /BS<<% - /Type/Border% - \ifx\hl@opt@bstyle\empty\else /S/\hl@opt@bstyle\fi - \ifx\hl@opt@bwidth\empty\else /W \hl@opt@bwidth\fi - \ifx\hl@opt@bdash\empty \else /D[\hl@opt@bdash]\fi - >>% - \fi - }% - }% - % Call the handler. - \csname hl@typeh@\@hltype\endcsname - \fi - }% - % Link type handlers - \let\hl@typeh@raw\empty - \def\hl@typeh@name{\hlstart@preamble goto name{\@hllabel}}% - \def\hl@typeh@num{\hlstart@preamble goto num \@hllabel}% - \def\hl@typeh@page{% - % PDF requires pages to start from 0, so adjust page number. - \count@=\@hllabel - \advance\count@ by-1 - % - \hlstart@preamble - user{% - /Subtype/Link% - /Dest% - [\the\count@ - \ifx\hl@opt@pagefit\empty/Fit\else\hl@opt@pagefit\fi]% - }% - }% - \def\hl@typeh@filename{\hl@file{(\@hllabel)}}% - \def\hl@typeh@filepage{% - % PDF requires pages to start from 0, so adjust page number. - \count@=\@hllabel - \advance\count@ by-1 - % - \hl@file{% - [\the\count@ \ifx\hl@opt@pagefit\empty/Fit\else\hl@opt@pagefit\fi]% - }% - }% - \def\hl@file##1{% - \hlstart@preamble - user{% - /Subtype/Link% - /A<<% - /Type/Action% - /S/GoToR% - /D##1% - /F(\hl@opt@file)% - \ifx\hl@opt@newwin\empty \else - /NewWindow \ifcase\hl@opt@newwin false\else true\fi - \fi - >>% - }% - }% - \def\hl@typeh@url{% - \hlstart@preamble - user{% - /Subtype/Link% - /A<<% - /Type/Action - /S/URI% - /URI(\@hllabel)% - >>% - }% - }% - % - \def\@hlend{\pdfendlink\endgroup}% End the group from the \@hlstart. -% -\else % PDF output is not enabled. - \message{Warning: `pdftex' hyperlink driver: PDF output is - not enabled, falling back on `nolinks' driver.}% - \hldriver@nolinks -\fi -}% -% -% Driver `dvipdfm'. -% -\def\hldriver@dvipdfm{% - \def\hl@raw@word{raw}% - % - % Hyperlink destinations. - % - % Default type. - \def\hldest@type{xyz}% - % Set defaults for the options and tell \hl@set@opt what options we - % support. (We do not define \hldest@opt@raise, \hl@opt@colormodel - % and \hl@opt@color, they are defined and used outside the drivers.) - \let\hldest@opt@left \empty - \let\hldest@opt@top \empty - \let\hldest@opt@right \empty - \let\hldest@opt@bottom \empty - \let\hldest@opt@zoom \empty - \let\hldest@opt@cmd \empty - % Multiplexer for all supported destination types. - \def\hldest@driver{% - % Special case for `raw' destinations. - \ifx\@hltype\hl@raw@word - \csname \hldest@opt@cmd \endcsname - \else - % Construct common preamble of a destination. - \def\hldest@preamble{% - pdf: dest (\@hllabel) [@thispage - }% - % Call the handler. - \csname hldest@typeh@\@hltype\endcsname - \fi - }% - % Define handlers for each supported destination type. - \let\hldest@typeh@raw\empty - \def\hldest@typeh@fit{% - \special{\hldest@preamble /Fit]}% - }% - \def\hldest@typeh@fith{% - \special{\hldest@preamble /FitH - \ifx\hldest@opt@top\empty @ypos \else \hldest@opt@top \fi]}% - }% - \def\hldest@typeh@fitv{% - \special{\hldest@preamble /FitV - \ifx\hldest@opt@left\empty @xpos \else \hldest@opt@left \fi]}% - }% - \def\hldest@typeh@fitb{% - \special{\hldest@preamble /FitB]}% - }% - \def\hldest@typeh@fitbh{% - \special{\hldest@preamble /FitBH - \ifx\hldest@opt@top\empty @ypos \else \hldest@opt@top \fi]}% - }% - \def\hldest@typeh@fitbv{% - \special{\hldest@preamble /FitBV - \ifx\hldest@opt@left\empty @xpos \else \hldest@opt@left \fi]}% - }% - \def\hldest@typeh@fitr{% - \special{\hldest@preamble /FitR - \ifx\hldest@opt@left\empty @xpos\else\hldest@opt@left\fi\space - \ifx\hldest@opt@bottom\empty @ypos\else\hldest@opt@bottom\fi\space - \ifx\hldest@opt@right\empty @xpos\else\hldest@opt@right\fi\space - \ifx\hldest@opt@top\empty @ypos\else\hldest@opt@top \fi]}% - }% - \def\hldest@typeh@xyz{% - \begingroup - % Convert zoom factor: 12345 -> 12.345 - \ifx\hldest@opt@zoom\empty - \count1=\z@ \count2=\z@ - \else - \count2=\hldest@opt@zoom - \count1=\count2 \divide\count1 by 1000 - \count3=\count1 \multiply\count3 by 1000 - \advance\count2 by -\count3 - \fi - \special{\hldest@preamble /XYZ - \ifx\hldest@opt@left\empty @xpos\else\hldest@opt@left\fi\space - \ifx\hldest@opt@top\empty @ypos\else\hldest@opt@top\fi\space - \the\count1.\the\count2]}% - \endgroup - }% - % - % Hyperlinks. - % - % Default type. - \def\hl@type{name}% - % We support `url' hyperlinks, so set `url' group type. - \ifx\hl@type@url\empty - \def\hl@type@url{url}% - \fi - % Set defaults for the options and tell \hl@set@opt what options we - % support. - \def\hl@opt@bstyle {S}% - \def\hl@opt@bwidth {1}% - \let\hl@opt@bcolor \empty - \let\hl@opt@hlight \empty - \let\hl@opt@bdash \empty - \let\hl@opt@pagefit \empty - \let\hl@opt@cmd \empty - \let\hl@opt@file \empty - \let\hl@opt@newwin \empty - % Multiplexer for all supported link types. - \def\hl@driver{% - % Special case for `raw' links. - \ifx\@hltype\hl@raw@word - \csname \hl@opt@cmd \endcsname - \else - % See if we will construct a /BS spec. We want to bother only - % if any of \hl@opt@bstyle, \hl@opt@bwidth and \hl@opt@bdash is - % not empty. - \let\hl@BSspec\relax % construct - \ifx\hl@opt@bstyle \empty - \ifx\hl@opt@bwidth \empty - \ifx\hl@opt@bdash \empty - \let\hl@BSspec\empty % don't construct - \fi - \fi - \fi - % Construct common preamble of a link. - \def\hlstart@preamble{% - pdf: beginann - <<% - /Type/Annot% - /Subtype/Link% - \ifx\hl@opt@bcolor\empty\else /C[\hl@opt@bcolor]\fi - \ifx\hl@opt@hlight\empty\else /H/\hl@opt@hlight\fi - \ifx\hl@BSspec\relax - /BS<<% - /Type/Border% - \ifx\hl@opt@bstyle\empty\else /S/\hl@opt@bstyle\fi - \ifx\hl@opt@bwidth\empty\else /W \hl@opt@bwidth\fi - \ifx\hl@opt@bdash\empty \else /D[\hl@opt@bdash]\fi - >>% - \fi - }% - % Call the handler. - \csname hl@typeh@\@hltype\endcsname - \fi - }% - % Link type handlers. - \let\hl@typeh@raw\empty - \def\hl@typeh@name{\special{\hlstart@preamble /Dest(\@hllabel)>>}}% - \def\hl@typeh@page{% - % PDF requires pages to start from 0, so adjust page number. - \count@=\@hllabel - \advance\count@ by-1 - % - \special{% - \hlstart@preamble - /Dest[\the\count@ - \ifx\hl@opt@pagefit\empty/Fit\else\hl@opt@pagefit\fi]% - >>% - }% - }% - \def\hl@typeh@filename{\hl@file{(\@hllabel)}}% - \def\hl@typeh@filepage{% - % PDF requires pages to start from 0, so adjust page number. - \count@=\@hllabel - \advance\count@ by-1 - % - \hl@file{% - [\the\count@ \ifx\hl@opt@pagefit\empty/Fit\else\hl@opt@pagefit\fi]% - }% - }% - \def\hl@file##1{% - \special{% - \hlstart@preamble - /A<<% - /Type/Action% - /S/GoToR% - /D##1% - /F(\hl@opt@file)% - \ifx\hl@opt@newwin\empty \else - /NewWindow \ifcase\hl@opt@newwin false\else true\fi - \fi - >>% - >>% - }% - }% - \def\hl@typeh@url{% - \special{% - \hlstart@preamble - /A<<% - /Type/Action - /S/URI% - /URI(\@hllabel)% - >>% - >>% - }% - }% - % - \def\@hlend{\special{pdf: endann}\endgroup}% End the group from \@hlstart. -}% -% -% Internal hyperlink macros. -% -% \hl@define@eqlabel{LABEL} will define \hl@eqlabel to a non-empty -% hyperlink label for an equation. The idea is to generate -% (hopefully) unique label in cases when LABEL is empty (e.g., when -% user says `\eqdef{}'). To customize the autogenerated labels -% redefine \phantomeqlabel. -% -\newcount\phantomeqnumber -\def\phantomeqlabel{PHEQ\the\phantomeqnumber}% -% -\def\hl@define@eqlabel#1{% - % Make all definitions global so they are not shadowed by groups - % (\@eqdef depends on this). - \ifempty{#1}% - \global\advance\phantomeqnumber by1 - \xdef\hl@eqlabel{\phantomeqlabel}% - \else - \gdef\hl@eqlabel{#1}% - \fi -}% -% -% Cross-reference macros call hyperlink macros, so define them to -% produce nothing by default. However, we still want \hldest and -% \hlstart to produce \leavevmode and/or \ignorespaces, to make -% cross-reference macros consistent. Note that this, strictly -% speaking, makes cross-reference macros incompatible with -% pre-hyperlink releases of eplain, in cases where paragraph is -% started by a cross-reference macro. It is quite unlikely though -% that any problem will arise. -\let\hldeston\relax \let\hldestoff\relax -\let\hlon\relax \let\hloff\relax -\@@hloff -\@@hldestoff -% -% -% -% Support for LaTeX packages under plain TeX. -% -% We use miniltx.tex from the LaTeX graphics collection and build on -% it to provide package options support, package version check, -% recursive package loading with \RequirePackage, proper handling of -% \AtBeginDocument and \AtEndOfPackage. -% -% Much of the following was borrowed from LaTeX. -% -% The internal variables are quite a mess, so here is a hint: -% -% - \usepkg@pkg, \usepkg@options, \usepkg@date are used by -% \usepackage to save its parameters. -% -% - When \RequirePackage is called within a package, the above -% variables are saved in \usepkg@save@VAR@RECURSIONLEVEL, where -% VAR={pkg,options,date}, and RECURSIONLEVEL is incremented for -% each nested package inclusion. This way the variables can be -% restored after the (nested) package will have been loaded. -% -% - Options for package PACKAGE (no .sty extension) are accumulated -% in \usepkg@options@PACKAGE. -% -% - For each declared option OPTION in package PACKAGE, we save the -% code which enables OPTION in \usepkg@option@PACKAGE@OPTION. -% There may be a star (`*') option declaration, the code from which -% will be used to process options not declared by the package -% (without it, an undeclared option will cause an error). -% -% - For each loaded PACKAGE / FILE.EXT we declare \ver@PACKAGE.sty / -% \ver@FILE.EXT. We use \ver@PACKAGE.sty to detect reloading -% of packages. Some packages also use these macros. -% -% - Calls to \AtBeginDocument accumulate the code in -% \usepkg@at@begin@document. We will expand it at the end of the -% \beginpackages...\endpackages `environment'. -% -% - Calls to \AtEndOfPackage accumulate the code in -% \usepkg@at@end@of@package. We will expand it after the package -% is loaded. To allow recursive package loading, \RequirePackage -% saves \usepkg@at@end@of@package analogous to \usepkg@pkg. -% -\newif\ifusepkg@miniltx@loaded -\newcount\usepkg@recursion@level -\def\usepkg@rcrs{\the\usepkg@recursion@level}% -\let\usepkg@at@begin@document\empty -\let\usepkg@at@end@of@package\empty -\def\usepkg@word@autopict{autopict}% -\def\usepkg@word@psfrag{psfrag}% -% \beginpackages...\endpackages -% -% All packages must be loaded within this `environment' (a kind of -% LaTeX's preamble). This is so to give us a chance to expand the -% accumulated \AtBeginDocument commands. Usually, you will want to -% restrict all \usepackage's to a single \beginpackages...\endpackages, -% just like in LaTeX, where you load all packages within a (single) -% preamble. -\long\def\beginpackages#1\endpackages{% - \let\usepackage\real@usepackage - #1% - \usepkg@at@begin@document - \global\let\usepkg@at@begin@document\empty - \global\let\usepackage\fake@usepackage -}% -% \fake@usepackage -% -% This is what \usepackage is defined to outside of -% \beginpackages...\endpackages `environment'. -\def\fake@usepackage{\errmessage{You should not use \string\usepackage\space outside of^^J - \@spaces\string\beginpackages...\string\endpackages\space environment}% -}% -% \RequirePackage[OPTIONS]{PACKAGES}[YYYY/MM/DD] -% -% Save parameters for the package being loaded and call \usepackage to -% load PACKAGES. We depend on \usepackage to restore the saved -% parameters. We allow for nested calls to \RequirePackage. -\def\eplain@RequirePackage{% - \global\ece\let{usepkg@save@pkg\usepkg@rcrs}\usepkg@pkg - \global\ece\let{usepkg@save@options\usepkg@rcrs}\usepkg@options - \global\ece\let{usepkg@save@date\usepkg@rcrs}\usepkg@date - \global\ece\let{usepkg@at@end@of@package\usepkg@rcrs}\usepkg@at@end@of@package - \global\advance\usepkg@recursion@level by\@ne - \real@usepackage -}% -% \usepackage[OPTIONS]{PACKAGES}[YYYY/MM/DD] -% -% Load each of the PACKAGES with OPTIONS, checking that the package -% date is at least YYYY/MM/DD; if it is not, issue a warning. -\let\usepackage\fake@usepackage -\def\real@usepackage{\@getoptionalarg\@finusepackage}% -\def\@finusepackage#1{% - \let\usepkg@options\@optionalarg - \ifempty{#1}% - \errmessage{No packages specified}% - \fi - % Load miniltx.tex, if it is not loaded. - \ifusepkg@miniltx@loaded \else - \testfileexistence[miniltx]{tex}% - \if@fileexists - \input miniltx.tex - \global\usepkg@miniltx@loadedtrue - % Redefine some macros from miniltx.tex - \global\let\RequirePackage\eplain@RequirePackage - \global\let\DeclareOption\eplain@DeclareOption - \global\let\PassOptionsToPackage\eplain@PassOptionsToPackage - \global\let\ExecuteOptions\eplain@ExecuteOptions - \global\let\ProcessOptions\eplain@ProcessOptions - \global\let\AtBeginDocument\eplain@AtBeginDocument - \global\let\AtEndOfPackage\eplain@AtEndOfPackage - \global\let\ProvidesFile\eplain@ProvidesFile - \global\let\ProvidesPackage\eplain@ProvidesPackage - \else - \errmessage{miniltx.tex not found, cannot load LaTeX packages}% - \fi - \fi - % Read the trailing optional arg (YYYY/MM/DD). - \@ifnextchar[%] - {\@finfinusepackage{#1}}% - {\@finfinusepackage{#1}[]}% -}% -% -\def\@finfinusepackage#1[#2]{% - \edef\usepkg@date{#2}% - % Load each package from the list. Do it outside the \for loop to - % avoid clashes with any \for loops executed by the package. - \let\usepkg@load@list\empty - \for\usepkg@pkg:=#1\do{% - \toks@=\expandafter{\usepkg@load@list}% - \edef\usepkg@load@list{% - \the\toks@ - \noexpand\usepkg@load@pkg{\usepkg@pkg}% - }% - }% - \usepkg@load@list - % Restore parameters in case we were called from \RequirePackage. - \ifnum\usepkg@recursion@level>0 - \global\advance\usepkg@recursion@level by\m@ne - \expandafter\let\expandafter\usepkg@pkg\csname usepkg@save@pkg\usepkg@rcrs\endcsname - \expandafter\let\expandafter\usepkg@options\csname usepkg@save@options\usepkg@rcrs\endcsname - \expandafter\let\expandafter\usepkg@date\csname usepkg@save@date\usepkg@rcrs\endcsname - \expandafter\let\expandafter\usepkg@at@end@of@package\csname usepkg@at@end@of@package\usepkg@rcrs\endcsname - % Free the memory. - \global\ece\let{usepkg@save@pkg\usepkg@rcrs}\undefined - \global\ece\let{usepkg@save@options\usepkg@rcrs}\undefined - \global\ece\let{usepkg@save@date\usepkg@rcrs}\undefined - \global\ece\let{usepkg@at@end@of@package\usepkg@rcrs}\undefined - \fi -}% -% Load one package. We assume packages have `sty' extension. -\def\usepkg@load@pkg#1{% - % Special cases for `autopict' and `psfrag' packages: - % - `psfrag' is loaded by psfrag.tex. - % - `autopict' is loaded by picture.tex, but the package file is - % autopict.sty. - \def\usepkg@pkg{#1}% - \ifx\usepkg@pkg\usepkg@word@autopict - \testfileexistence[picture]{tex}% - \if@fileexists \else - \errmessage{Loader `picture.tex' for package `\usepkg@pkg' not found}% - \fi - \else - \ifx\usepkg@pkg\usepkg@word@psfrag - \testfileexistence[psfrag]{tex}% - \if@fileexists \else - \errmessage{Loader `psfrag.tex' for package `\usepkg@pkg' not found}% - \fi - \fi - \fi - % See if the package was loaded. If it was, we just bail out. - % (Maybe we should skip reloading it/warn? We don't want to go into - % checking that the package was first loaded with a subset of - % options which are requested now.) \ProvidePackage and - % \ProvideFile define the macro \ver@PACKAGE.sty (see - % \eplain@pr@videpackage below). - \ifundefined{ver@\usepkg@pkg.sty}\else - \errmessage{Package `\usepkg@pkg' already loaded}% - \fi - \testfileexistence[\usepkg@pkg]{sty}% - \if@fileexists \else - \errmessage{Package `\usepkg@pkg' not found}% - \fi - % Construct option list for the package. Include any options - % passed to us by \PassOptionsToPackage and \RequirePackage. - \expandafter\let\expandafter\temp\csname usepkg@options@\usepkg@pkg\endcsname - \ifx\temp\relax - \let\temp\empty - \fi - \ifx\temp\empty - \let\temp\usepkg@options - \else - \ifx\usepkg@options\empty \else - \edef\temp{\temp,\usepkg@options}% - \fi - \fi - \global\ece\let{usepkg@options@\usepkg@pkg}\temp - % For the duration of the package, we want any calls to \usepackage - % to be mapped to \RequirePackage, to allow nested package loads - % without clobbering up anything. (Maybe packages never use - % \usepackage instead of \RequirePackage, but this won't hurt.) - \let\usepackage\eplain@RequirePackage - % Clear \AtEndOfPackage commands (can be non-empty during recursive - % package loading). - \global\let\usepkg@at@end@of@package\empty - % Load the package. If the package asks to load other package, - % \RequirePackage will save our \usepkg@{pkg,options,date} and - % \AtEndOfPackage commands, and \usepackage will restore them after - % recursively loading that package, so we don't worry about our - % setup being clobbered. - \ifx\usepkg@pkg\usepkg@word@autopict - \input picture.tex - \else - \ifx\usepkg@pkg\usepkg@word@psfrag - \input \usepkg@pkg.tex - \else - \input \usepkg@pkg.sty - \fi - \fi - % Execute the accumulated \AtEndOfPackage commands, and reset them - % to free the memory. - \usepkg@at@end@of@package - \global\let\usepkg@at@end@of@package\empty - % Restore the `real' \usepackage definition. - \let\usepackage\real@usepackage - % Clear the option list for the loaded package (we won't load a - % second copy anyway). - \global\ece\let{usepkg@options@\usepkg@pkg}\undefined - % Set \Url@HyperHook for url.sty - \def\Url@HyperHook##1{\hlstart@impl{url}{\Url@String}##1\hlend@impl{url}}% - % We check package version in \ProvidePackage, before reading the - % rest of the package, so that in case of errors (which can be - % numerous) the warning hopefully comes before the errors. -% \@ifl@ter{sty}\usepkg@pkg\usepkg@date{}% -% {\message{Warning: you have requested package `\usepkg@pkg', version \usepkg@date,^^J -% \@spaces but only version `\csname ver@\usepkg@pkg.sty\endcsname' is available.}}% -}% -% \DeclareOption{OPTION}{CODE} -% -% Save CODE in `usepkg@option@PACKAGE@OPTION'. Starred version is not -% treated any different here, but when defined it will be used by -% \ProcessOptions and \ExecuteOptions to process undeclared options. -\def\eplain@DeclareOption#1#2{% - \toks@{#2}% - \expandafter\xdef\csname usepkg@option@\usepkg@pkg @#1\endcsname{\the\toks@}% -}% -% \PassOptionsToPackage{OPTIONS}{PACKAGES} -% -% Add OPTIONS to the option list for each of the PACKAGES. -\def\eplain@PassOptionsToPackage#1#2{% - \ifempty{#1}\else - \for\usepkg@temp:=#2\do{% - \expandafter\let\expandafter\temp\csname usepkg@options@\usepkg@temp\endcsname - \ifx\temp\relax - \let\temp\empty - \fi - \ifx\temp\empty - \edef\temp{#1}% - \else - \edef\temp{\temp,#1}% - \fi - \global\ece\let{usepkg@options@\usepkg@temp}\temp - }% - \fi -}% -% \ExecuteOptions{OPTIONS} -% \ProcessOptions -% -% \ExecuteOptions executes each option from OPTIONS, \ProcessOptions -% executes each option from the option list for the current package. -% If the star (`*') option is declared, it will be used to process -% undeclared options; otherwise, undeclared option will cause an -% error. -\def\usepkg@exec@options#1{% - % The iterator \CurrentOption below was used purposely. Some - % packages use it in the argument to \DeclareOption. - \for\CurrentOption:=#1\do{% - \expandafter\let\expandafter\usepkg@temp - \csname usepkg@option@\usepkg@pkg @\CurrentOption\endcsname -% - \ifx\usepkg@temp\relax - % Option is not declared. If a `default' option handler is - % declared, use it. - \expandafter\let\expandafter\temp\csname usepkg@option@\usepkg@pkg @*\endcsname - \ifx\temp\relax - \errmessage{Unknown option `\CurrentOption' to package `\usepkg@pkg'}% - \else - \temp - \fi - \else - % Option is declared. - \usepkg@temp - \fi - }% -}% -% -\let\eplain@ExecuteOptions\usepkg@exec@options -\def\eplain@ProcessOptions{% - \expandafter\usepkg@exec@options\csname usepkg@options@\usepkg@pkg\endcsname -}% -% \AtBeginDocument{CODE} -% \AtEndOfPackage{CODE} -% -% miniltx.tex defines \AtBeginDocument to execute its parameter right -% away, but some packages depend on \AtBeginDocument to be executed -% after packages are processed. So we redefine \AtBeginDocument to -% accumulate its argument, to be executed by us at the end of -% \beginpackages...\endpackages. \AtEndOfPackage is not defined by -% miniltx.tex at all; we define it similar to \AtBeginDocument. -\def\usepkg@accumulate@cmds#1#2{% - \toks@=\expandafter{#1}% - \toks@ii={#2}% - \xdef#1{\the\toks@\the\toks@ii}% -}% -\def\eplain@AtBeginDocument{\usepkg@accumulate@cmds\usepkg@at@begin@document}% -\def\eplain@AtEndOfPackage{\usepkg@accumulate@cmds\usepkg@at@end@of@package}% -% \ProvidesFile{FILENAME.EXT}[VERSION] -% \ProvidesPackage{PACKAGENAME}[VERSION] -% -% miniltx.tex defines \ProvidesFile and \ProvidesPackage to only log a -% message. We want to define \ver@PACKAGE.sty / \ver@FILENAME.EXT, as -% we depend on these to know when a package/file has been loaded, and -% some packages depend on them, too. -\def\eplain@ProvidesPackage#1{% - \@ifnextchar[%] - {\eplain@pr@videpackage{#1.sty}}{\eplain@pr@videpackage#1[]}% -}% -\def\eplain@pr@videpackage#1[#2]{% - \wlog{#1: #2}% - % This will flag the package as loaded. - \expandafter\xdef\csname ver@#1\endcsname{#2}% -% \expandafter\edef\expandafter\temp{\csname usepkg@options@\usepkg@pkg\endcsname}% -% \message{^^JPackage:\usepkg@pkg^^JOptions:\usepkg@options^^J+ passed options:\temp^^J}% - % Check package version. - \@ifl@t@r{#2}\usepkg@date{}% - {\message{Warning: you have requested package `\usepkg@pkg', version \usepkg@date,^^J - \@spaces but only version `\csname ver@#1\endcsname' is available.}}% -}% -% -\def\eplain@ProvidesFile#1{% - \@ifnextchar[%] - {\eplain@pr@videfile{#1}}{\eplain@pr@videfile#1[]}% -}% -\def\eplain@pr@videfile#1[#2]{% - \wlog{#1: #2}% - % This will flag the file as loaded. - \expandafter\xdef\csname ver@#1\endcsname{#2}% - % We don't check file version. graphics calls \ProvideFile to - % \includegraphics, and it does not give any date at the beginning - % of #2, so checking the date will cause an error. -}% -% Check package version. From LaTeX. -\def\@ifl@ter#1#2{% - \expandafter\@ifl@t@r - \csname ver@#2.#1\endcsname -}% -\def\@ifl@t@r#1#2{% - \ifnum\expandafter\@parse@version#1//00\@nil<% - \expandafter\@parse@version#2//00\@nil - \expandafter\@secondoftwo - \else - \expandafter\@firstoftwo - \fi -}% -\def\@parse@version#1/#2/#3#4#5\@nil{#1#2#3#4 }% -% Needed by some packages. -\def\@spaces{\space\space\space\space}% -\def\@inmatherr#1{% - \relax - \ifmmode - \errmessage{The command is invalid in math mode}% - \fi -}% -% -% -% -\let\wlog = \@plainwlog -\catcode`@ = \@eplainoldatcode -% -\def\fmtname{eplain}% -\def\eplain{t}% -{\edef\plainversion{\fmtversion}% - \xdef\fmtversion{REPLACE-WITH-VERSION: REPLACE-WITH-DAY-MONTH-YEAR (and plain \plainversion)}% -}% -% -% -% -% -% Local variables: -% page-delimiter: "^% \f" -% End: diff --git a/Master/texmf-dist/source/eplain/eplain-source-3.1.zip b/Master/texmf-dist/source/eplain/eplain-source-3.1.zip Binary files differnew file mode 100644 index 00000000000..bbd0d6cc76d --- /dev/null +++ b/Master/texmf-dist/source/eplain/eplain-source-3.1.zip |