From 1a9eea45468c9c21fac9e57777b76161d23acb34 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 6 Oct 2022 19:59:53 +0000 Subject: eplain (6oct22) git-svn-id: svn://tug.org/texlive/trunk@64637 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/eplain/ChangeLog | 79 + Master/texmf-dist/doc/eplain/INSTALL | 58 +- Master/texmf-dist/doc/eplain/NEWS | 6 +- Master/texmf-dist/doc/eplain/README | 22 +- Master/texmf-dist/doc/eplain/demo/Makefile | 3 +- Master/texmf-dist/doc/eplain/demo/xhyper.tex | 7 +- Master/texmf-dist/doc/eplain/eplain.html | 2723 +++++++++++------------- Master/texmf-dist/doc/eplain/eplain.pdf | Bin 734393 -> 758051 bytes Master/texmf-dist/doc/eplain/lscommnt.jpg | Bin 65795 -> 89453 bytes Master/texmf-dist/doc/eplain/xhyper.jpg | Bin 13812 -> 17721 bytes Master/texmf-dist/doc/info/eplain.info | 1027 ++++----- Master/texmf-dist/doc/man/man1/eplain.1 | 19 +- Master/texmf-dist/doc/man/man1/eplain.man1.pdf | Bin 18764 -> 18523 bytes 13 files changed, 1791 insertions(+), 2153 deletions(-) (limited to 'Master/texmf-dist/doc') diff --git a/Master/texmf-dist/doc/eplain/ChangeLog b/Master/texmf-dist/doc/eplain/ChangeLog index 1c91e5b2bfe..ae2413996d3 100644 --- a/Master/texmf-dist/doc/eplain/ChangeLog +++ b/Master/texmf-dist/doc/eplain/ChangeLog @@ -1,3 +1,82 @@ +2022-10-02 Karl Berry + + * NEWS, + * Makefile (version): 3.12. + * doc/eplain.texi: 3.12, October 2022. Regenerate. + +2022-10-05 Karl Berry + + * xeplain.tex: mailing list is tex-eplain, not bug-eplain. + * README, + * xeplain.tex, + * demo/xrhyper.tex: https not http. + * doc/Makefile (eplain.info, PDF_DEMOS): depend on demo .tex sources. + +2022-10-05 Karl Berry + + * xeplain.tex: document bug in double-columns that marks are not + always preserved. See threads: + https://tug.org/pipermail/tex-eplain/2021/001001.html + https://tug.org/pipermail/tex-eplain/2022/001049.html + * doc/userdef.texi: mention mark bug. + + * doc/Makefile (MAKEINFO_HTML): https for TOP_NODE_UP_URL. + +2022-10-03 Karl Berry + + * Makefile (fetch, fetch1): new targets. + * texnames.sty: update to current (explicit pd statement). + +2022-10-02 Karl Berry + + * doc/*.texi: remove use of @acronym; better to just use capitals. + Also, downcase "url". + +2022-10-02 Karl Berry + + * iftex.sty: new file. + * ifpdf.sty: remove. + * util/mkdist-merge: ifpdf.sty -> iftex.sty. + * xeplain.tex: ifpdf.sty -> iftex.sty. + * doc/userdef.texi (Checking for PDF output): now using iftex.sty; + update description. + * Makefile (sources): now iftex.sty. + +2022-10-02 Karl Berry + + * README: update urls, mention miniltx and optex. + * doc/userdef.texi (Loading LaTeX packages): mention that + miniltx.tex can usually be used on its own, without Eplain. + + * doc/eplain.texi (Top): remove detailed menu, seems + unnecessary (and Emacs commands for updating aren't working well). + * doc/intro.texi: mention alternatives to Eplain (miniltx, optex). + + * doc/progdef.texi (Scratch registers): new section to describe + standard conventions for register usage. + + * doc/eplain.1, + * doc/install.texi, + * doc/invoke.texi: update to something like current reality. + + * doc/*.texi: use svn $Id$. + * doc/*.texi: use https urls; update urls. + + * doc/texinfo.tex: remove; let's just assume it's available. + + * doc/Makefile (TEXFOT): new definition for quieter TeX runs. + +2022-10-02 Karl Berry + + * btxmac.tex (\futurenonspacelet, \@step..., \providecommand): + use \@btxcs instead of \cs, which may be otherwise defined, + e.g., by plain tugboat.sty. Version 0.99q. + +2020-09-19 Karl Berry + + * demo/Makefile (ctan_lion_350x350.png): update ctan_lion url. + Report from Van Ly, 19 Sep 2020 15:12:58. + 2020-07-04 Karl Berry * README: mailing list is tex-eplain, not bug-eplain diff --git a/Master/texmf-dist/doc/eplain/INSTALL b/Master/texmf-dist/doc/eplain/INSTALL index dcd705281b6..8c726e7c0e9 100644 --- a/Master/texmf-dist/doc/eplain/INSTALL +++ b/Master/texmf-dist/doc/eplain/INSTALL @@ -1,46 +1,38 @@ Installation +Invoking Eplain +Installation +Invoking Eplain +Installation ************ Your TeX installation should already contain a version of Eplain -(`eplain.tex') in its main `texmf' tree (usually under -`/usr/share/texmf/tex/eplain/' on Unix systems). To install a newer -version of Eplain, put the new `eplain.tex' (included in Eplain -distributions) in the `tex/eplain/' subdirectory of your local `texmf' -tree. The newer version you install in the local tree should override -the older one in the main tree. - - The location of the local `texmf' tree obviously depends on your -operating system and TeX installation. On Unix systems the usual -location is `/usr/local/share/texmf/'. If you don't have write -permissions for `/usr/local/share/texmf/', many installations read the -`texmf' tree in the user's home directory; `eplain.tex' then should go -under `~/texmf/tex/eplain/'. For more information about TeX directory -structure, please see -`http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds'. - - If you prefer to install `eplain.tex' in a non-standard place, set -an environment variable (`TEXINPUTS' for the Web2C port of TeX to Unix) -to tell TeX how to find it. - - If you want, you can also create a format (`.fmt') file for Eplain, -which will eliminate the time spent reading the macro source file with -`\input'. You do this by issuing a sequence of Unix commands something -like this: - - prompt$ touch eplain.aux - prompt$ initex +('eplain.tex') in its main 'texmf' tree; with TeX Live, it's in +'.../texmf-dist/tex/eplain/eplain.tex'. + + Generally, you can just use that version and there is no need to do +anything else. But if you want to use a newer version of Eplain for a +given document, you can put the new 'eplain.tex' in the document's +directory, and it will be found. + + If you want to install a new 'eplain.tex' in some other place, set an +environment variable (commonly, 'TEXINPUTS') to tell TeX how to find it. + + Distributions should also create and maintain the 'eplain.fmt' file +file. But if you want to do it yourself, you can: + + $ touch eplain.aux + $ initex This is TeX, ... **&plain eplain (eplain.tex) *\dump ... MESSAGES ... -You must make sure that `eplain.aux' exists _before_ you run `initex'; +You must make sure that 'eplain.aux' exists _before_ you run 'initex'; otherwise, warning messages about undefined labels will never be issued. - You then have to install the resulting `eplain.fmt' in your local -`texmf' tree or set an environment variable to tell TeX how to find it. -For the Web2C port of TeX to Unix, format files are usually installed -under `/usr/local/share/texmf/web2c/' or `/var/lib/texmf/web2c/'; the -environment variable is `TEXFORMATS'. + You then have to install the resulting 'eplain.fmt' in your local +'texmf' tree or set an environment variable ('TEXFORMATS' to tell TeX +how to find it. You'll need to consult your distribution's documentation +about that. diff --git a/Master/texmf-dist/doc/eplain/NEWS b/Master/texmf-dist/doc/eplain/NEWS index 74813c40a6d..9b144ca60ec 100644 --- a/Master/texmf-dist/doc/eplain/NEWS +++ b/Master/texmf-dist/doc/eplain/NEWS @@ -1,6 +1,10 @@ -$Id: NEWS 50 2020-07-04 16:08:52Z karl $ +$Id: NEWS 61 2022-10-05 22:43:49Z karl $ This file records noteworthy changes. This file is public domain. + 3.12 (5 October 2022) +* btxmac.tex: avoid use of \cs control sequence, conflicts with tugboat.sty. +* iftex.sty: use this instead of the now-obsolete ifpdf.sty. + 3.11 (4 July 2020) * Support YYYY-MM-DD date syntax in \ProvidesPackage. diff --git a/Master/texmf-dist/doc/eplain/README b/Master/texmf-dist/doc/eplain/README index bfff96b2eed..2c5ed6d0669 100644 --- a/Master/texmf-dist/doc/eplain/README +++ b/Master/texmf-dist/doc/eplain/README @@ -1,4 +1,4 @@ -$Id: README 51 2020-07-04 21:01:29Z karl $ +$Id: README 60 2022-10-05 22:42:54Z karl $ (This file is public domain.) This file describes the Eplain (expanded or extended plain, take your @@ -27,9 +27,19 @@ domain. Other pieces are covered by other licenses; see the file headers for specifics. It is entirely free software. Eplain was originally developed for the book TeX for the Impatient, -published by Addison-Wesley in 1990. That book is now freely available, -from http://www.gnu.org/software/teximpatient, along with several -translations. +published by Addison-Wesley in 1990. That book is now freely available, +from https://ctan.org/pkg/impatient, along with several translations. + +Mailing list: https://lists.tug.org/tex-eplain (tex-eplain@tug.org) +The Eplain home page is https://tug.org/eplain. + +P.S. Alternatives to Eplain: +1) If you just want to load the LaTeX color or graphics package, +the LaTeX team's miniltx.tex suffices: + \input miniltx.tex + \input graphicx.tex + +2) If you're interested in a fully-fledged format that shares much of +Eplain's (and plain.tex's) philosophy, check out OpTeX: + https://ctan.org/pkg/optex -Mailing list: http://lists.tug.org/tex-eplain (tex-eplain@tug.org) -The Eplain home page is http://tug.org/eplain. diff --git a/Master/texmf-dist/doc/eplain/demo/Makefile b/Master/texmf-dist/doc/eplain/demo/Makefile index 7a578663f38..dd8a4eaa61d 100644 --- a/Master/texmf-dist/doc/eplain/demo/Makefile +++ b/Master/texmf-dist/doc/eplain/demo/Makefile @@ -1,3 +1,4 @@ +# $Id: Makefile 52 2020-09-19 21:03:24Z karl $ # Makefile for the Eplain demos. This file is public domain. PDFTEX = pdftex @@ -23,7 +24,7 @@ lscommnt.pdf: lscommnt.tex ctan_lion_350x350.png: @echo "Please download" - @echo " ftp://tug.ctan.org/ftpmaint/CTAN_lion/ctan_lion_350x350.png" + @echo " https://www.ctan.org/lion/files/ctan_lion_350x350.png" @echo "and place it in the demo subdirectory." exit 1 diff --git a/Master/texmf-dist/doc/eplain/demo/xhyper.tex b/Master/texmf-dist/doc/eplain/demo/xhyper.tex index 54742cb50b5..6527244fae5 100644 --- a/Master/texmf-dist/doc/eplain/demo/xhyper.tex +++ b/Master/texmf-dist/doc/eplain/demo/xhyper.tex @@ -1,3 +1,4 @@ +% $Id: xhyper.tex 60 2022-10-05 22:42:54Z karl $ % (This file is public domain.) % % This file demonstrates the following features of Eplain: @@ -10,7 +11,7 @@ % % The compiled demo can be downloaded from % -% http://tug.org/eplain/demo +% https://tug.org/eplain/demo % % In order to compile this file yourself, you will need the CTAN lion % drawing by Duane Bibby from @@ -170,7 +171,7 @@ Show me % |url.sty|. Remember that we have customized the color of |url| % hyperlinks, so this one will show up with a different color than the % default dark-red. -Take me to \url{http://tug.org/eplain}. +Take me to \url{https://tug.org/eplain}. % The second approach is to create an explicit URL link. We specify % yet another border highlighting mode, |P|, which means that the @@ -184,7 +185,7 @@ Take me to \url{http://tug.org/eplain}. \definecolor{mycolor}{rgb}{0.4,0.1,0.4} Take me to -\hlstart{url}{hlight=P,colormodel=,color=mycolor}{http://tug.org/eplain} +\hlstart{url}{hlight=P,colormodel=,color=mycolor}{https://tug.org/eplain} Eplain homepage\hlend. \bye diff --git a/Master/texmf-dist/doc/eplain/eplain.html b/Master/texmf-dist/doc/eplain/eplain.html index 15e602336a6..7e7da4278c0 100644 --- a/Master/texmf-dist/doc/eplain/eplain.html +++ b/Master/texmf-dist/doc/eplain/eplain.html @@ -1,7 +1,10 @@ - + + + - - - Eplain: Expanded Plain TeX @@ -22,17 +22,20 @@ updates throughout. --> + + - + + @@ -58,25 +62,32 @@ ul.no-bullet {list-style: none} - -

Short Table of Contents

-
- +
+
+

+Next: , Up: (dir)   [Contents][Index]

+

Eplain

+ +

This manual documents the Eplain macros, version 3.12, +October 2022. Eplain provides functionality for plain TeX that +is intended to be useful regardless of how your document is actually +formatted. +

+

Most of this manual is in the public domain, like most of the Eplain +code. It was originally written by Karl Berry, starting in 1989. +Steven Smith wrote the documentation for the commutative diagram +macros; this chapter is under the GNU General Public License. Adam +Lewenberg has made additions and corrections. Oleg Katsitadze wrote +the section on LaTeX packages and the chapter on hyperlinks, and +updates throughout. +

+

The Eplain home page is https://tug.org/eplain. +

+ - +

Table of Contents

@@ -222,7 +233,10 @@ ul.no-bullet {list-style: none}
  • 7 Programming definitions
  • - - -
    -

    -Next: , Up: (dir)   [Contents][Index]

    -

    Eplain

    - -

    This manual documents the Eplain macros, version 3.11, -July 2020. Eplain provides functionality for plain TeX that -is intended to be useful regardless of how your document is actually -formatted. -

    -

    Most of this manual is in the public domain, like most of the Eplain -code. It was originally written by Karl Berry, starting in 1989. -Steven Smith wrote the documentation for the commutative diagram -macros; this chapter is under the GNU General Public License. Adam -Lewenberg has made additions and corrections. Oleg Katsitadze wrote -the section on LaTeX packages and the chapter on hyperlinks, and -updates throughout. -

    -

    The Eplain home page is https://tug.org/eplain. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    -
    +
    +

    -Next: , Previous: , Up: Top   [Contents][Index]

    +Next: , Previous: , Up: Eplain   [Contents][Index]

    1 Introduction

    @@ -644,7 +312,7 @@ does LaTeX (originally written by Leslie Lamport) and Texinfo -(Originally written by Richard Stallman). +(originally written by Richard Stallman). Instead, it provides definitions that are intended to be useful @@ -689,18 +357,11 @@ defined as the macro \fmtversion at the end of the source file eplain.tex. When corresponding, please refer to it.

    -

    To get on this mailing list yourself, email -tex-eplain-request@tug.org with a message whose body contains -a line -

    -
    -
    subscribe you@your.preferred.address
    -
    - -

    or visit http://lists.tug.org/tex-eplain. +

    To subscribe to this mailing list (anyone can subscribe, and archives +are public), visit https://lists.tug.org/tex-eplain.

    -

    David Walden had reported his experience with Eplain as a new user. +

    David Walden reported his experience with Eplain as a new user. The article is available online at https://tug.org/pracjourn/2005-4/walden. An introductory article (written for @@ -708,10 +369,30 @@ article (written for TUGboat) is also available online at https://tug.org/eplain/misc/tb84katsi.pdf.

    +

    Finally, here are two alternatives to Eplain: +

    +
      +
    1. If you just want to load the LaTeX color or graphics package, +the LaTeX team’s miniltx.tex suffices: + +
      +
      \input miniltx.tex
      +\input graphicx.tex
      +
      + +
    2. +If you’re interested in a fully-fledged format that shares much of +Eplain’s (and plain.tex’s) philosophy, check out OpTeX: +https://ctan.org/pkg/optex. + +
    +
    -
    +
    +
    +

    -Next: , Previous: , Up: Top   [Contents][Index]

    +Next: , Previous: , Up: Eplain   [Contents][Index]

    2 Installation

    @@ -720,38 +401,28 @@ Next: , P

    Your TeX installation should already contain a version of Eplain -(eplain.tex) in its main texmf tree (usually under -/usr/share/texmf/tex/eplain/ on Unix systems). To install a -newer version of Eplain, put the new eplain.tex (included in -Eplain distributions) in the tex/eplain/ subdirectory of your -local texmf tree. The newer version you install in the local -tree should override the older one in the main tree. -

    -

    The location of the local texmf tree obviously depends on your -operating system and TeX installation. On Unix systems the usual -location is /usr/local/share/texmf/. If you don’t have write -permissions for /usr/local/share/texmf/, many installations read -the texmf tree in the user’s home directory; eplain.tex -then should go under ~/texmf/tex/eplain/. For more information -about TeX directory structure, please see -http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds. +(eplain.tex) in its main texmf tree; with TeX Live, +it’s in .../texmf-dist/tex/eplain/eplain.tex. +

    +

    Generally, you can just use that version and there is no need to do +anything else. But if you want to use a newer version of Eplain for a +given document, you can put the new eplain.tex in the +document’s directory, and it will be found.

    -

    If you prefer to install eplain.tex in a non-standard place, set -an environment variable (TEXINPUTS for the Web2C port of TeX -to Unix) to tell TeX how to find it. +

    If you want to install a new eplain.tex in some other place, +set an environment variable (commonly, TEXINPUTS) to tell +TeX how to find it.

    -

    If you want, you can also create a format (.fmt) -file for Eplain, which will eliminate the time spent reading the macro -source file with \input. You do this by issuing a sequence of -Unix commands something like this: +

    Distributions should also create and maintain the eplain.fmt +file file. But if you want to do it yourself, you can:

    -
    prompt$ touch eplain.aux
    -prompt$ initex
    +
    $ touch eplain.aux
    +$ initex
     This is TeX, ...
     **&plain eplain
     (eplain.tex)
    @@ -761,22 +432,22 @@ This is TeX, ...
     
     
     
    -

    You must make sure that eplain.aux exists before you -run initex; otherwise, warning messages about undefined labels -will never be issued. +

    You must make sure that eplain.aux exists +before you run initex; otherwise, warning messages about +undefined labels will never be issued.

    You then have to install the resulting eplain.fmt in your local -texmf tree or set an environment variable to tell TeX how to -find it. For the Web2C port of TeX to Unix, format files are usually -installed under /usr/local/share/texmf/web2c/ or -/var/lib/texmf/web2c/; the environment variable is -TEXFORMATS. +texmf tree or set an environment variable (TEXFORMATS to +tell TeX how to find it. You’ll need to consult your +distribution’s documentation about that.


    -
    +
    +
    +

    -Next: , Previous: , Up: Top   [Contents][Index]

    +Next: , Previous: , Up: Eplain   [Contents][Index]

    3 Invoking Eplain

    @@ -787,26 +458,25 @@ Next: ,
    \input eplain
     
    -

    at the beginning of your input file. The macro file is small -enough that reading it does not take an unbearably long time—at least on -contemporary machines. +

    at the beginning of your (plain TeX) input file. The +macro file is small enough that reading it does not take long.

    -

    In addition, if a format (.fmt) +

    However, if a format (.fmt) file has been created for Eplain (see the previous section), you can -eliminate the time spent reading the macro source file. You do this +eliminate even the time spent reading the macro source file. You do this by responding &eplain to TeX’s ‘**’ prompt. For example:

    -
    initex
    +
    $ tex
     This is TeX, ...
     **&eplain myfile
     
    -

    Depending on the implementation of TeX which you are using, you might -also be able to invoke TeX as eplain and have the format file -automatically read. +

    In TeX Live and other distributions, a command-line executable +named eplain is provided which reads the eplain.fmt file +automatically.

    If you write something which you will be distributing to others, you won’t know if the Eplain format will be loaded already. If it is, then @@ -815,8 +485,8 @@ load it. To solve this, Eplain defines the control sequence \eplain to be the letter t (a convention borrowed from Lisp; it doesn’t -actually matter what the definition is, only that the definition -exists). Therefore, you can do the following: +matter what the definition is, only that the definition exists). +Therefore, you can do the following:

    \ifx\eplain\undefined \input eplain \fi
    @@ -826,32 +496,32 @@ exists).  Therefore, you can do the following:
     

    Eplain consists of several source files:

    -
    xeplain.tex
    +
    xeplain.tex

    most of the macros;

    -
    arrow.tex
    +
    arrow.tex

    commutative diagram macros (see Arrow theoretic diagrams), written by Steven Smith;

    -
    btxmac.tex
    +
    btxmac.tex

    bibliography-related macros (see Citations);

    -
    ifpdf.sty
    -

    sets the switch \ifpdf, which can be used to detect pdfTeX -in PDF mode (see Checking for PDF output), written by Heiko -Oberdiek; +

    iftex.sty
    +

    sets the switch \ifpdf (among other things), which can be used +to detect direct PDF output (see Checking for PDF output), +originally written by Heiko Oberdiek;

    -
    path.sty
    +
    path.sty

    macro for allowing line breaks at punctuation characters within long pathnames, electronic mail addresses, etc., (see Paths), written by Philip Taylor;

    -
    texnames.sty
    +
    texnames.sty

    abbreviations for various TeX-related names (see Logos), edited by Nelson Beebe.

    @@ -860,7 +530,7 @@ by Nelson Beebe.

    The file eplain.tex is all of these files merged together, with comments removed. The original sources can be found in -Eplain source zip archive in your TeX distribution, on CTAN +Eplain source zip archive in your TeX distribution, on CTAN or on Eplain’s home page at https://tug.org/eplain.

    All of these files except xeplain.tex can be input individually, @@ -879,7 +549,7 @@ example, you could start your input file like this: \input eplain

    -

    By default, \nobibtex is undefined, and so the +

    By default, \nobibtex is not defined, and so the bibliography definitions are made.

    @@ -914,26 +584,28 @@ Eplain and before using \ref. .tex file in order to produce and typeset indexes, resolve undefined cross-references and/or citations. The shell script texi2dvi from the Texinfo documentation system (see -http://www.gnu.org/software/texinfo) can automate this process: +https://www.gnu.org/software/texinfo) can automate this process: it runs BibTeX, MakeIndex and TeX as many times as needed to complete the compilation process. You will need to set the LATEX environment variable to ‘tex’. For example, in a Bourne-compatible shell, the following command will do all the work:

    -
    prompt$ LATEX=tex texi2dvi file.tex
    +
    $ LATEX=tex texi2dvi file.tex
     
    -

    (Despite the name, texi2dvi can also produce -.pdf files; just set ‘LATEX=pdftex’.) See the output from -the command texi2dvi --help for invoking information and a -full list of options. +

    Despite the name, texi2dvi can also produce +.pdf output (among other formats); set LATEX=pdftex for +this. See the output from texi2dvi --help for a full list +of options.


    -
    +
    +
    +

    -Next: , Previous: , Up: Top   [Contents][Index]

    +Next: , Previous: , Up: Eplain   [Contents][Index]

    4 User definitions

    @@ -941,58 +613,36 @@ Next: , Previous: < in a document. When appropriate, ways to change the default formatting are described in subsections.

    - - - - - - - - - - - - - - - - - - - - - - - - - +
    -
    +
    + @@ -1047,7 +697,9 @@ Eplain defines it to be the character ^^J.
    -
    +
    +
    +

    Next: , Previous: , Up: User definitions   [Contents][Index]

    @@ -1077,7 +729,9 @@ and \evrule.


    -
    +
    +
    +

    Next: , Previous: , Up: User definitions   [Contents][Index]

    @@ -1150,7 +804,7 @@ which you specify within square brackets, as in LaTeX. This text is simply typeset after the citations. (See the example below.)

    Eplain can create hypertext links for citations pointing to the relevant -bibliography entries (see Citation hyperlinks). +bibliography entries (see Citation hyperlinks: cite, bib).

    Another command, \nocite, @@ -1247,18 +901,16 @@ of numbered, the bibliography style is alpha.)

    - - - - - +
    -
    +
    + @@ -1274,25 +926,22 @@ such as superscripted labels. You can accommodate such formats by redefining the following macros.

    -
    \printcitestart
    -
    \printcitefinish
    -
    - +
    \printcitestart
    +
    \printcitefinish
    +

    Eplain expands these macros at the beginning and end of the list of citations for each \cite command. By default, they produce a ‘[’ and ‘]’, respectively.

    -
    \printbetweencitations
    -
    -

    If a \cite command has multiple citations, as in +

    \printbetweencitations
    +

    If a \cite command has multiple citations, as in \cite{acp,texbook}, Eplain expands this macro in between each pair of citations. By default, it produces a comma followed by a space.

    -
    \printcitenote
    -
    -

    This macro takes one argument, which is the optional note to the +

    \printcitenote
    +

    This macro takes one argument, which is the optional note to the \cite command. If the \cite command had no note, this macro isn’t used. Otherwise, it should print the note. By default, the note is preceded with a comma and a space. @@ -1312,7 +961,9 @@ superscripted labels, with the optional notes in parentheses.


    -
    +
    +
    + @@ -1325,34 +976,30 @@ especially with respect to the fonts that are used. Therefore, Eplain provides the following control sequences:

    -
    \biblabelwidth
    -
    -

    This control sequence represents a \dimen register, and its value +

    \biblabelwidth
    +

    This control sequence represents a \dimen register, and its value is the width of the widest label in the bibliography. Although it is unlikely you will ever want to redefine it, you might want to use it if you redefine \biblabelprint, below.

    -
    \biblabelprint
    -
    -

    This macro takes one argument, the label to print. By default, the +

    \biblabelprint
    +

    This macro takes one argument, the label to print. By default, the label is put in a box of width \biblabelwidth, and is followed by an enspace. When you want to change the spacing around the labels, this is the right macro to redefine.

    -
    \biblabelcontents
    -
    -

    This macro also takes one argument, the label to print. By default, the +

    \biblabelcontents
    +

    This macro also takes one argument, the label to print. By default, the label is printed using the font \bblrm (below), and enclosed in brackets. When you want to change the appearance of the label, but not the spacing around it, this is the right macro to redefine.

    -
    \biblabelprecontents
    -
    \biblabelpostcontents
    -
    - +
    \biblabelprecontents
    +
    \biblabelpostcontents
    +

    Macros expanded before and after \biblabelcontents, respectively. For example, to get left-justified numeric labels (they are right-justified by default): @@ -1363,32 +1010,27 @@ are right-justified by default):

    -
    \bblrm
    -
    - +
    \bblrm
    +

    The default font used for printing the bibliography.

    -
    \bblem
    -
    -

    The font used for printing the titles and other “emphasized” material. +

    \bblem
    +

    The font used for printing the titles and other “emphasized” material.

    -
    \bblemph
    -
    - +
    \bblemph
    +

    Typesets its argument using \bblem, then inserts an italic correction.

    -
    \bblsc
    -
    -

    In some styles, authors’ names are printed in a caps-and-small-caps +

    \bblsc
    +

    In some styles, authors’ names are printed in a caps-and-small-caps font. In those cases, this font is used.

    -
    \bblnewblock
    -
    -

    This is invoked between each of the parts of a bibliography entry. The +

    \bblnewblock
    +

    This is invoked between each of the parts of a bibliography entry. The default is to leave some extra space between the parts; you could redefine it to start each part on a new line (for example). A part is simply a main element of the entry; for example, the author is a part. @@ -1396,17 +1038,15 @@ simply a main element of the entry; for example, the author is a part. concerned) term ‘block’ for this.)

    -
    \biblabelextraspace
    -
    -

    Bibliography entries are typeset with a hanging indentation of +

    \biblabelextraspace
    +

    Bibliography entries are typeset with a hanging indentation of \biblabelwidth plus this. The default is .5em, where the em width is taken from the \bblrm font. If you want to change this, you should do it inside \bblhook.

    -
    \bblhook
    -
    - +
    \bblhook
    +

    This is expanded before reading the .bbl file. By default, it does nothing. You could, for example, define it to set the bibliography fonts, or produce the heading for the references. Two @@ -1424,7 +1064,9 @@ file that BibTeX produces to do anything you wish.


    -
    +
    +
    + @@ -1441,36 +1083,32 @@ following. In all cases, an existing definition (e.g., from packages) will not be overwritten. Here is the list:

    -
    \newcommand
    -
    \renewcommand
    -
    \providecommand
    -
    - +
    \newcommand
    +
    \renewcommand
    +
    \providecommand
    +

    Defining new commands in various ways. The Eplain versions do not support the *-form of these; use miniltx for that.

    -
    \em
    -
    \emph
    -
    \sc
    -
    \textbf
    -
    - +
    \em
    +
    \emph
    +
    \sc
    +
    \textbf
    +

    Selecting fonts.

    -
    \mbox
    -
    -

    A horizontal box. +

    \mbox
    +

    A horizontal box.

    -
    \newblock
    -
    -

    Starts elements of a bibliography entry. +

    \newblock
    +

    Starts elements of a bibliography entry.

    @@ -1478,7 +1116,10 @@ support the *-form of these; use miniltx for that.


    -
    +
    +
    +
    +

    Next: , Previous: , Up: User definitions   [Contents][Index]

    @@ -1532,14 +1173,14 @@ up to produce either left-aligned or right-aligned equation numbers. (\leqalignno). Default is \righteqnumbers (right-aligned equation numbers).

    - - - +
    -
    +
    +

    Up: Displays   [Contents][Index]

    @@ -1560,7 +1201,10 @@ the token register \previouseverydisplay.


    -
    +
    +
    +
    +

    Next: , Previous: , Up: User definitions   [Contents][Index]

    @@ -1596,7 +1240,9 @@ produces the current date, as in ‘23 April 1964’.


    -
    +
    +
    + @@ -1613,10 +1259,9 @@ enumerated. Plain TeX defines one macro to help with creating lists, Eplain provides two pairs of commands:

    -
    \numberedlist … \endnumberedlist
    -
    \orderedlist … \endorderedlist
    -
    - +
    \numberedlist … \endnumberedlist
    +
    \orderedlist … \endorderedlist
    +

    These commands (they are synonyms) produce a list with the items @@ -1626,9 +1271,8 @@ nested \numberedlist labels the items with roman numerals. Yet more deeply nested numbered lists label items with ‘*’.

    -
    \unorderedlist … \endunorderedlist
    -
    - +
    \unorderedlist … \endunorderedlist
    +

    This produces a list with the items labelled with small black boxes (“square bullets”). A nested \unorderedlist labels items with em-dashes. Doubly (and deeper) nested unordered lists label items with @@ -1650,7 +1294,7 @@ if the list items are numbered. You can produce the value of the label with \xrefn. See Cross-references.

    Eplain can create hypertext links for the markers produced by -\xrefn pointing to the relevant list item (see List hyperlinks). +\xrefn pointing to the relevant list item (see List hyperlinks: li).

    You can also say \listcompact @@ -1670,14 +1314,14 @@ The second paragraph of the second item. \endnumberedlist

    - - - +
    -
    +
    +

    Up: Lists   [Contents][Index]

    @@ -1689,21 +1333,18 @@ Up: Lists   [ -
    \abovelistskipamount, \belowlistskipamount
    -
    - +
    \abovelistskipamount, \belowlistskipamount
    +

    The vertical glue inserted before and after every list, respectively.

    -
    \interitemskipamount
    -
    -

    The vertical glue inserted before each item except the first. +

    \interitemskipamount
    +

    The vertical glue inserted before each item except the first. \listcompact resets this to zero, as mentioned above.

    -
    \listleftindent, \listrightindent
    -
    - +
    \listleftindent, \listrightindent
    +

    \listrightindent is the amount of space by which the list is indented on the right; i.e., it is added to \rightskip. \listleftindent is the amount of space, relative to @@ -1741,15 +1382,13 @@ or \unorderedmarker. The following registers might be useful if you do:

    -
    \numberedlistdepth, \unorderedlistdepth
    -
    - +
    \numberedlistdepth, \unorderedlistdepth
    +

    These keep track of the depth of nesting of the two kinds of lists.

    -
    \itemnumber, \itemletter
    -
    - +
    \itemnumber, \itemletter
    +

    These keep track of the number of items that have been seen in the current numbered list. They are both integer registers. The difference is that \itemnumber starts at one, and \itemletter starts at 97, @@ -1773,7 +1412,10 @@ lists.


    -
    +
    +
    +
    +

    Next: , Previous: , Up: User definitions   [Contents][Index]

    @@ -1819,9 +1461,8 @@ consists exclusively of boxes at the top level (i.e., any

    -

    You can use the form feed control character (ASCII -code 12, typed as CTRL-L) in the file to force a page break -in the output. +

    You can use the form feed control character (ASCII code 12, typed +as CTRL-L) in the file to force a page break in the output.

    You can produce in-line verbatim text in your document with \verbatim. @@ -1887,7 +1528,9 @@ help you (see Category codes).


    -
    +
    +
    + @@ -1903,22 +1546,19 @@ Eplain uses an auxiliary file with extension .toc (and the same root name as your document) to save the information.

    - - - - - - +
    -
    +
    +

    4.8.1 Writing the .toc file

    @@ -2012,9 +1652,11 @@ contents. To continue the previous examples:
    -
    +
    +
    +

    4.8.2 Reading the .toc file

    @@ -2048,9 +1690,11 @@ manuscript, you can set \rewritetocfilefalse.


    -
    +
    +
    +

    4.8.3 Changing the .toc file’s root name

    @@ -2075,9 +1719,11 @@ files from a single TeX job, use \definecontentsfile


    -
    +
    +
    +

    4.8.4 Alternative contents files

    @@ -2099,7 +1745,10 @@ the control sequence names.
    -
    +
    +
    +
    + @@ -2133,18 +1782,17 @@ codes of plain TeX), but ‘%#\{’ has no valid characters and list items. See Citations, and Lists.

    Eplain can create hypertext links for the cross-references -(see Cross-reference hyperlinks). +(see Cross-reference hyperlinks: definexref, ref).

    - - - - +
    -
    +
    + @@ -2177,7 +1825,9 @@ commands. See the next section.


    -
    +
    +
    + @@ -2194,10 +1844,10 @@ the previous section), Eplain provides the following macros:
    -
    \refn{label}
    +
    \refn{label}
    -
    \xrefn{label}
    +
    \xrefn{label}

    \refn and \xrefn (they are synonyms) produce the bare definition of label. If label isn’t defined, issue a warning, and produce label itself instead, in typewriter. (The @@ -2206,7 +1856,7 @@ warning isn’t given if \xrefwarningfalse.)

    -
    \ref{label}
    +
    \ref{label}

    Given the class c for label (see the description of \definexref in the previous section), expand the control sequence \c word (if it’s defined) followed by a tie. Then call @@ -2214,7 +1864,7 @@ warning isn’t given if \xrefwarningfalse.)

    -
    \refs{label}
    +
    \refs{label}

    Like \ref, but append the letter ‘s’ to the \…word.

    @@ -2238,7 +1888,10 @@ See \refs{sec-intro} and \refn{sec-next} …


    -
    +
    +
    +
    + @@ -2248,15 +1901,13 @@ Next:
    +

    Define label to be the current page number. This produces no printed output, and ignores following spaces.

    -
    \xref{label}
    -
    -

    Produce the text ‘p. pageno’, which is the usual form for +

    \xref{label}
    +

    Produce the text ‘p. pageno’, which is the usual form for cross-references. The pageno is actually label’s definition; if label isn’t defined, the text of the label itself is printed. The ‘p. ’ prefix is defined by \xrefpageword. @@ -2266,11 +1917,13 @@ Its default definition is p.\thinspace.

    -

    Eplain can create hypertext links for the page references (see Page reference hyperlinks). +

    Eplain can create hypertext links for the page references (see Page reference hyperlinks: xrdef, xref).


    -
    +
    +
    + @@ -2288,9 +1941,8 @@ numbered equation.

    Here are the commands to define equation labels and then refer to them:

    -
    \eqdef{label}
    -
    - +
    \eqdef{label}
    +

    This defines label to be the current value of \eqnumber, and, if the current context is not inner, then produces a \eqnum command (see Displays). (The condition makes it possible to use @@ -2318,9 +1970,8 @@ definition between the original definition and the reference, the reference will start to refer to the new empty-labeled equation.

    -
    \eqdefn{label}
    -
    - +
    \eqdefn{label}
    +

    This is like \eqdef, except it always omits the \eqnum command. It can therefore be used in places where \eqdef can’t; for example, in a non-displayed equation. The text of the equation @@ -2329,16 +1980,14 @@ unusual) circumstance when you want to define an equation label but not print that label.

    -
    \eqref{label}
    -
    -

    This produces a formatted reference to label. If label is +

    \eqref{label}
    +

    This produces a formatted reference to label. If label is undefined (perhaps because it is a forward reference), it just produces the text of the label itself. Otherwise, it calls \eqprint.

    -
    \eqrefn{label}
    -
    -

    This produces the cross-reference text for label. That is, it +

    \eqrefn{label}
    +

    This produces the cross-reference text for label. That is, it is like \eqref, except it doesn’t call \eqprint.

    @@ -2349,19 +1998,18 @@ is like \eqref, except it doesn’t call \eqprint. general cross-references.

    Eplain can create hypertext links for the equation references -(see Equation reference hyperlinks). +(see Equation reference hyperlinks: eq).

    - - - - +
    -
    +
    + @@ -2475,7 +2123,9 @@ therefore we first put the argument in a box, thus causing


    -
    +
    +
    + @@ -2530,13 +2180,16 @@ like. For example, this definition makes the labels print as ‘2a’, }
    -

    Sadly, we must define a new count register, \subref, +

    We must define a new count register, \subref, instead of using the scratch count register \count255, because ‘#1’ might include other macro calls which use \count255.


    -
    +
    +
    +
    + @@ -2551,7 +2204,7 @@ collection and sorting of terms, because TeX itself has no support for sorting.

    Eplain can create hypertext links pointing from the index to the index -terms (see Index hyperlinks). +terms (see Index hyperlinks: idx).

    Eplain’s indexing commands were designed to work with the program @@ -2626,18 +2279,16 @@ will not write index entries there. This may be useful for draft compilations of a manuscript, e.g., to avoid the overhead of index file input/output.

    - - - - - +
    -
    +
    + @@ -2669,20 +2320,17 @@ makes an index entry that will eventually be typeset (by default) as

    Also, the silent commands ignore trailing spaces. The non-silent ones do not.

    - - - - - - +
    -
    +
    + @@ -2789,7 +2437,9 @@ could do:
    -
    +
    +
    + @@ -2813,10 +2463,9 @@ is independent of these.

    Here are the possibilities:

    -
    begin
    -
    end
    -
    - +
    begin
    +
    end
    +

    These mark an index entry as the beginning or end of a range. The index @@ -2837,9 +2486,8 @@ Example:

    -
    see
    -
    - +
    see
    +

    This marks an index entry as pointing to another; the real index term is @@ -2859,9 +2507,8 @@ decided not to index. Example:

    -
    seealso
    -
    -

    Similar to see (the previous item), but also allows for normal +

    seealso
    +

    Similar to see (the previous item), but also allows for normal index entries of the referencing term. The normal index entries have to be created separately—seealso does not contribute a page number to the index entry. For example, if you have indexed a @@ -2884,7 +2531,7 @@ took these dichotomous examples from is Laurence Berman’s The Musical Image, which I happened to co-design and typeset.)

    -
    pagemarkup=cs
    +
    pagemarkup=cs

    This puts \cs before the page number in the typeset index, thus allowing you to underline definitive entries, italicize examples, and the like. You do not precede the control sequence cs @@ -2907,7 +2554,9 @@ it is up to you to define the control sequences you want to use. Example:


    -
    +
    +
    + @@ -2980,9 +2629,9 @@ processing the above input. now we’ll describe the exceptions.

    The following characters are reset to their usual meanings because -they are not useful verbatim: multiple consequent spaces are -converted into a single space; ASCII tab characters are -treated as spaces; ASCII return is treated as end-of-line +they are not useful verbatim: multiple consecutive spaces are +converted into a single space; ASCII tab characters are +treated as spaces; ASCII return is treated as end-of-line (this means, among other things, that long terms can be broken across several lines).

    @@ -3031,7 +2680,9 @@ the subentry with the brackets in it:
    -
    +
    +
    + @@ -3088,7 +2739,10 @@ the appropriate time.


    -
    +
    +
    +
    + @@ -3125,8 +2779,8 @@ a group, naturally, since there is a primitive \end). -

    Eplain calls \indexfonts, sets \parindent = 0pt, and does -\doublecolumns (see Multiple columns) at the +

    Eplain calls \indexfonts, sets \parindent = 0pt, and +does \doublecolumns (see Multiple columns) at the \begin{theindex}. \indexfonts does nothing by default; it’s just there for you to override. (Indexes are usually typeset in smaller type than the main text.) @@ -3183,7 +2837,9 @@ entries in the .ind file. Eplain makes this equivalent to


    -
    +
    +
    + @@ -3210,24 +2866,20 @@ delim_2 "\\afterindexterm "

    You can also change the keywords Eplain recognizes (see Modifying index entries):

    -
    \idxrangebeginword
    -
    -

    ‘begin’ +

    \idxrangebeginword
    +

    ‘begin’

    -
    \idxrangeendword
    -
    -

    ‘end’ +

    \idxrangeendword
    +

    ‘end’

    -
    \idxseecmdword
    -
    -

    ‘see’ +

    \idxseecmdword
    +

    ‘see’

    -
    \idxseealsocmdword
    -
    -

    ‘seealso’ +

    \idxseealsocmdword
    +

    ‘seealso’

    @@ -3236,24 +2888,20 @@ delim_2 "\\afterindexterm " .idx file, in case you’ve changed them in the .ist file:

    -
    \idxsubentryseparator
    -
    -

    !’ +

    \idxsubentryseparator
    +

    !

    -
    \idxencapoperator
    -
    -

    |’ +

    \idxencapoperator
    +

    |

    -
    \idxbeginrangemark
    -
    -

    (’ +

    \idxbeginrangemark
    +

    (

    -
    \idxendrangemark
    -
    -

    )’ +

    \idxendrangemark
    +

    )

    @@ -3319,7 +2967,7 @@ file (assuming the name of the .idx file is myfile.idx and the trimsee script is placed in the current directory):

    -
    prompt$ cat myfile.idx | makeindex | ./trimsee > myfile.ind
    +
    $ cat myfile.idx | makeindex | ./trimsee >myfile.ind
     

    By default, trimsee uses default page list separators and @@ -3330,28 +2978,28 @@ and \indexseealso commands, it is possible to adjust the following:

    -
    -i is
    +
    -i is

    Use is as a regular expression matching separator before “see …” commands in the input (default: ‘, \+’).

    -
    -o os
    +
    -o os

    Use os as a separator to replace is before “see …” commands (default: ‘ ’).

    -
    -s see
    +
    -s see

    Use see as a regular expression matching “see …” commands (default: ‘\\indexsee’).

    -
    -h
    -
    --help
    +
    -h
    +
    --help

    Print a usage message.

    -
    -v
    -
    --version
    +
    -v
    +
    --version

    Print version.

    @@ -3361,7 +3009,10 @@ output to the standard output.


    -
    +
    +
    +
    +

    Next: , Previous: , Up: User definitions   [Contents][Index]

    @@ -3463,7 +3114,9 @@ be necessary.
    -
    +
    +
    +

    Next: , Previous: , Up: User definitions   [Contents][Index]

    @@ -3533,7 +3186,9 @@ Text after the table.


    -
    +
    +
    +

    Next: , Previous: , Up: User definitions   [Contents][Index]

    @@ -3548,12 +3203,11 @@ TeX conceive of the page laid out in this way. Therefore, Eplain provides commands to directly assign and increment the margins.

    -
    \topmargin = dimen
    -
    \bottommargin = dimen
    -
    \leftmargin = dimen
    -
    \rightmargin = dimen
    -
    - +
    \topmargin = dimen
    +
    \bottommargin = dimen
    +
    \leftmargin = dimen
    +
    \rightmargin = dimen
    +

    These commands set the specified margin to the dimen given. @@ -3563,12 +3217,11 @@ therefore, commands like \showthe\topmargin will not do what you expect.

    -
    \advancetopmargin by dimen
    -
    \advancebottommargin by dimen
    -
    \advanceleftmargin by dimen
    -
    \advancerightmargin by dimen
    -
    - +
    \advancetopmargin by dimen
    +
    \advancebottommargin by dimen
    +
    \advanceleftmargin by dimen
    +
    \advancerightmargin by dimen
    +

    These commands change the specified margin by the dimen given. @@ -3591,14 +3244,12 @@ help: you must tell it the full width and height of the final output page. It defines two new parameters for this:

    -
    \paperheight
    -
    -

    The height of the output page; default is 11truein. +

    \paperheight
    +

    The height of the output page; default is 11truein.

    -
    \paperwidth
    -
    -

    The width of the output page; default is 8.5truein. +

    \paperwidth
    +

    The width of the output page; default is 8.5truein.

    @@ -3612,7 +3263,9 @@ reassign to these parameters, as in
    -
    +
    +
    +

    Next: , Previous: , Up: User definitions   [Contents][Index]

    @@ -3651,7 +3304,7 @@ merely inserts an unbreakable space of (essentially) size multicolumns, Eplain multiplies \vsize itself by the number of columns). In most circumstances, a column break will be forced after this space (during the column splitting operation when the whole page -is output). Bugs are easily possible, unfortunately. +is output).

    The columns are separated by the value of the dimen parameter @@ -3666,6 +3319,14 @@ define

    \def\gutterbox{\vbox to \dimen0{\vfil\hbox{\vrule height\dimen0}\vfil}}%
     
    +

    There are known bugs in the multiple-column code such that +\topmark and possibly other marks can have an incorrect value +on the last page of multiple-column material when using +\singlecolumn to balance the columns. Unfortunately this is +quite difficult to fix, and at present (volunteers welcome), it’s +going to remain. A suboptimal workaround is to insert +\columnfill at the appropriate place. +

    The dimension counter \dimen0 contains the height of the column. @@ -3690,7 +3351,9 @@ provision for column-width insertions.


    -
    +
    +
    + @@ -3763,12 +3426,14 @@ rule is 0.4 points high, 2 true inches wide, with 2.6 points below it. by the glue register \skip\footins. The default is a plain TeX \bigskip.

    -

    Eplain can create hypertext links for the footnote marks (see Footnote hyperlinks). +

    Eplain can create hypertext links for the footnote marks (see Footnote hyperlinks: foot, footback).


    -
    +
    +
    +

    Next: , Previous: , Up: User definitions   [Contents][Index]

    @@ -3793,7 +3458,9 @@ delimited macro arguments.)


    -
    +
    +
    +

    Next: , Previous: , Up: User definitions   [Contents][Index]

    @@ -3840,14 +3507,16 @@ character for \path, you can set still be used.) TeX then processes the \path argument about four times more slowly.

    - +

    The \path macro comes from path.sty, written by Nelson Beebe and Philip Taylor, and available at https://ctan.org/pkg/path.


    -
    +
    +
    +

    Next: , Previous: , Up: User definitions   [Contents][Index]

    @@ -3902,12 +3571,14 @@ here.) Some spelling variants of these are also supported.

    Most of these macros come from texnames.sty, compiled by Nelson Beebe and available at -http://mirror.ctan.org/info/biblio/texnames.sty +https://mirror.ctan.org/info/biblio/texnames.sty (part of the biblio package, https://ctan.org/pkg/biblio).


    -
    +
    +
    + @@ -3966,49 +3637,46 @@ easily adjust the thicknesses of the box rules. See Rules.


    -
    +
    +
    +

    4.22 Checking for PDF output

    - - -

    pdfTeX is an extended TeX that can output both .dvi and -.pdf (Adobe’s Portable Document Format) files (see -https://ctan.org/pkg/pdftex). You might sometimes want to know -whether the target format is .pdf or .dvi. The -\ifpdf -switch can be used to detect pdfTeX in PDF mode: +

    You might sometimes want to test whether the target format is +.pdf or .dvi. The \ifpdf conditional can be used +for this:

    \ifpdf
    -   This text is produced when pdfTeX is in PDF mode.
    +   This text is produced when the engine outputs PDF.
     \else
    -   This text is produced when pdfTeX is in DVI mode,
    -   or when some program other than pdfTeX is used.
    +   This text is produced when the engine outputs DVI (or similar).
     \fi
     
    -

    Keep in mind that \ifpdf is set based on the value of the -\pdfoutput - -primitive of pdfTeX at the time Eplain is loaded. If you change -the value of \pdfoutput after you load Eplain, \ifpdf -will not reflect the change. +

    At this writing, \ifpdf will be true when running pdfTeX +or LuaTeX with PDF output. It will be false when running XeTeX, +or (of course) original TeX, etc.

    - - -

    Eplain defines \ifpdf by incorporating Heiko Oberdiek’s -ifpdf.sty, which is available at -https://ctan.org/pkg/ifpdf. + + +

    Eplain defines \ifpdf by incorporating iftex.sty, a +package now maintained by the LaTeX Project Team. +iftex.sty, and therefore Eplain, defines numerous related +conditionals to test for different engines; see its package +documentation for details: https://ctan.org/pkg/ifpdf.


    -
    +
    +
    + @@ -4036,21 +3704,19 @@ the list, please report it to the Eplain mailing list miniltx.tex (https://ctan.org/pkg/miniltx) from the LaTeX graphics collection, written by David Carlisle and Sebastian Rahtz. Eplain extends miniltx.tex to provide (primarily) -support for package options. -

    - - - - - - +support for package options; in many cases, you can use +miniltx.tex directly without loading Eplain at all. +

    +
    -
    +
    + @@ -4086,9 +3752,11 @@ packages are dated 2005/08/29 or newer.


    -
    +
    +
    +

    4.23.2 Environment for loading packages

    @@ -4159,7 +3827,9 @@ to \eplaininput before loading each package. For example:
    -
    +
    +
    + @@ -4173,9 +3843,8 @@ these packages. Some of the short descriptions of the packages were taken from the documentation for those packages.

    -
    autopict (‘2001/06/04 v1.1j Picture mode autoload file’)
    -
    -

    https://tug.org/eplain/misc/ltpictur.pdf +

    autopict (‘2001/06/04 v1.1j Picture mode autoload file’)
    +

    https://tug.org/eplain/misc/ltpictur.pdf

    @@ -4187,15 +3856,14 @@ the LaTeX kernel). It provides commands to draw simple figures inside your document without resorting to any external tools.

    -
    color (‘1999/02/16 v1.0i Standard LaTeX Color (DPC)’)
    +
    color (‘1999/02/16 v1.0i Standard LaTeX Color (DPC)’)
    -
    graphics (‘2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR)’)
    +
    graphics (‘2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR)’)
    -
    graphicx (‘1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)’)
    -
    -

    https://ctan.org/pkg/graphics +

    graphicx (‘1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)’)
    +

    https://ctan.org/pkg/graphics

    @@ -4222,7 +3890,7 @@ TeX) installed on your system. The problem was fixed in supp-mis.tex version 2004.10.26. You can obtain up-to-date versions of supp-mis.tex and the accompanying supp-pdf.tex from -http://mirror.ctan.org/macros/pdftex/graphics. +https://mirror.ctan.org/macros/pdftex/graphics. To convince TeX to use the new files, you have the following options:

    @@ -4233,8 +3901,7 @@ options:
  • install the new supp-mis.tex and supp-pdf.tex files in the relevant subdirectory of your local texmf tree (for info on -TeX directory structure see https://tug.org/tds/ and -http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds); +TeX directory structure, see https://tug.org/tds/);
  • upgrade your ConTeXt installation.
  • @@ -4252,7 +3919,7 @@ the system texmf tree.
    End of warning 1. pdfTeX, the cause may be an outdated pdfTeX color and graphics driver pdftex.def. The problem was fixed in pdftex.def version 0.03p. You can obtain an up-to-date version from -http://ctan.org/pkg/pdftex-def.
    +https://ctan.org/pkg/graphics-def.
    End of warning 2.

    The \fcolorbox macro provided by the color package @@ -4288,7 +3955,7 @@ equivalent to plain TeX’s \tt.

    -

    See Hyperlinks (xhyper.tex), for the demonstration of text rotation and +

    See Hyperlinks (xhyper.tex), for the demonstration of text rotation and graphics inclusion using the graphicx package, and using the color package to colorize hypertext links.

    @@ -4300,9 +3967,8 @@ packages and different graphics formats. You can download it from
    -
    epstopdf (‘2009/07/16 v2.2 Conversion with epstopdf on the fly (HO)’)
    -
    -

    https://ctan.org/pkg/epstopdf-pkg +

    epstopdf (‘2009/07/16 v2.2 Conversion with epstopdf on the fly (HO)’)
    +

    https://ctan.org/pkg/epstopdf-pkg

    @@ -4312,21 +3978,20 @@ packages and different graphics formats. You can download it from

    This package does on-the-fly conversion of Encapsulated PostScript -(EPS) graphics into Portable Document Format (PDF) +(EPS) graphics into Portable Document Format (PDF) graphics for inclusion with the \includegraphics command from the graphics/graphicx packages, so that you do not have to explicitly call the epstopdf script.

    -
    psfrag (‘1998/04/11 v3.04 PSfrag (MCG)’)
    -
    -

    https://ctan.org/pkg/psfrag +

    psfrag (‘1998/04/11 v3.04 PSfrag (MCG)’)
    +

    https://ctan.org/pkg/psfrag

    PSfrag allows the user to precisely overlay Encapsulated PostScript -(EPS) files with arbitrary (La)TeX constructions. In order to +(EPS) files with arbitrary (La)TeX constructions. In order to accomplish this, the user places a simple text “tag” in the graphics file, as a “position marker” of sorts. Then, using simple (La)TeX commands, the user instructs PSfrag to remove that tag from @@ -4334,9 +3999,8 @@ the figure, and replace it with a properly sized, aligned, and rotated (La)TeX equation.

    -
    soul (‘2003/11/17 v2.4 letterspacing/underlining (mf)’)
    -
    -

    https://ctan.org/pkg/soul +

    soul (‘2003/11/17 v2.4 letterspacing/underlining (mf)’)
    +

    https://ctan.org/pkg/soul

    @@ -4352,9 +4016,8 @@ soul.sty. If you intend to use the highlighting macros of soul, don’t forget to load the color package.

    -
    url (‘2005/06/27 ver 3.2 Verb mode for urls, etc.’)
    -
    -

    https://ctan.org/pkg/url +

    url (‘2005/06/27 ver 3.2 Verb mode for urls, etc.’)
    +

    https://ctan.org/pkg/url

    @@ -4366,7 +4029,7 @@ another command. It is intended for email addresses, hypertext links, directories/paths, etc., which normally have no spaces.

    Eplain can create hypertext links with the \url command -(see URL hyperlinks). +(see URL hyperlinks: url).

    Be sure to get a version dated at least 2005/06/27, as older versions have problems in plain TeX. @@ -4375,7 +4038,9 @@ have problems in plain TeX.


    -
    +
    +
    + @@ -4386,35 +4051,35 @@ Previous:

    https://ctan.org/pkg/hyperref +

    hyperref
    +

    https://ctan.org/pkg/hyperref

    This package depends heavily on LaTeX, so that it is essentially unusable outside of LaTeX. Eplain provides its own macros for creating hyperlinks; see Hyperlinks.

    -
    microtype (‘2013/05/23 v2.51 Micro-typographical refinements (RS)’)
    -
    -

    https://ctan.org/pkg/microtype +

    microtype (‘2013/05/23 v2.51 Micro-typographical refinements (RS)’)
    +

    https://ctan.org/pkg/microtype

    -
    pict2e (‘2005/07/15 v0.2r Improved picture commands (HjG,RN)’)
    -
    -

    https://ctan.org/pkg/pict2e +

    pict2e (‘2005/07/15 v0.2r Improved picture commands (HjG,RN)’)
    +

    https://ctan.org/pkg/pict2e

    -
    xcolor (‘2005/06/06 v2.03 LaTeX color extensions (UK)’)
    -
    -

    https://ctan.org/pkg/xcolor +

    xcolor (‘2005/06/06 v2.03 LaTeX color extensions (UK)’)
    +

    https://ctan.org/pkg/xcolor


    -
    +
    +
    +
    +
    -
    raw
    -
    -

    The link specification (in the form of a pdfTeX command or a dvipdfm +

    +

    The link specification (in the form of a pdfTeX command or a dvipdfm \special primitive) is taken from the command sequence \cs, where cs is the value of the @@ -6312,9 +5961,8 @@ intended to be used with linkgroups (see

    pdftex-specific link types

    -
    num
    -
    - +
    +

    Go to a “numbered destination”. The label is the destination @@ -6326,9 +5974,11 @@ number.


    -
    +
    + + +
    -
    hookaction name actions
    +
    hookaction name actions
    -
    hookappend name actions
    +
    hookappend name actions
    -
    hookprepend name actions
    +
    hookprepend name actions

    Each of these adds actions to the hook name. (Any previously-defined actions are retained.) name is not a control sequence, but rather the characters of the name.

    -
    hookactiononce name \cs
    +
    hookactiononce name \cs

    \hookactiononce adds cs to name, like the macros above, but first it adds

    @@ -8309,9 +7975,11 @@ other actions (as long as the other actions use \hookprepend and
    -
    +
    +
    +

    -Next: , Previous: , Up: Expansion   [Contents][Index]

    +Next: , Previous: , Up: Expansion   [Contents][Index]

    7.6.4 Properties

    @@ -8328,14 +7996,14 @@ control sequence names.
    -
    \setproperty atom propname value
    +
    \setproperty atom propname value

    \setproperty defines the property property on the atom atom to be value. atom and propname can be anything acceptable to \csname. value can be anything.

    -
    \getproperty atom propname
    +
    \getproperty atom propname

    \getproperty expands to the value stored for propname on atom. If propname is undefined, it expands to nothing (i.e., \empty). @@ -8357,9 +8025,11 @@ conceptual.


    -
    +
    +
    +

    -Next: , Previous: , Up: Expansion   [Contents][Index]

    +Next: , Previous: , Up: Expansion   [Contents][Index]

    7.6.5 \expandonce

    @@ -8380,9 +8050,11 @@ TeX primitives. This is most useful in an \edef.
    -
    +
    +
    +

    -Next: , Previous: , Up: Expansion   [Contents][Index]

    +Next: , Previous: , Up: Expansion   [Contents][Index]

    7.6.6 \ifundefined

    @@ -8402,9 +8074,11 @@ within another conditional—TeX can’t match up the \if&r


    -
    +
    +
    +

    7.6.7 \ifempty

    @@ -8437,9 +8111,11 @@ within another conditional—TeX can’t match up the \if&r


    -
    +
    +
    +

    -Next: , Previous: , Up: Expansion   [Contents][Index]

    +Next: , Previous: , Up: Expansion   [Contents][Index]

    7.6.8 \ifinteger and \isinteger

    @@ -8477,13 +8153,15 @@ even compile outside math mode).

    These macros come from the TeX Frequently Asked Questions -(http://www.tex.ac.uk/cgi-bin/texfaq2html). +(https://texfaq.org).


    -
    +
    +
    +

    7.6.9 \futurenonspacelet

    @@ -8504,7 +8182,10 @@ first, and then expands the second. For example:
    -
    +
    +
    +
    + @@ -8539,7 +8220,9 @@ program like expand instead.)


    -
    +
    +
    + @@ -8553,7 +8236,9 @@ produces the written-out form of its argument, i.e., ‘zero’ through


    -
    +
    +
    + @@ -8575,7 +8260,9 @@ math mode.)


    -
    +
    +
    + @@ -8614,7 +8301,9 @@ name. For example, if you want to test for the file
    -
    +
    +
    + @@ -8658,7 +8347,9 @@ environment that should not be nested.


    -
    +
    +
    + @@ -8726,9 +8417,12 @@ need to design a macro which also takes care of the lists, you can extend \ituline with an additional call to \idxparselist.


    -
    +
    +
    +
    +

    -Next: , Previous: , Up: Top   [Contents][Index]

    +Next: , Previous: , Up: Eplain   [Contents][Index]

    8 Demo files

    @@ -8739,18 +8433,17 @@ Eplain. The files can be found in the demo subdirectory of Eplain distribution. These demos, both the sources and the compiled PDF and PS files, are also available from https://tug.org/eplain/demo.

    - - - - +
    -
    +