eplain[61] trunk: 3.12 release
commits+karl at tug.org
commits+karl at tug.org
Thu Oct 6 00:43:49 CEST 2022
Revision: 61
http://tug.org/svn/eplain?view=revision&revision=61
Author: karl
Date: 2022-10-06 00:43:49 +0200 (Thu, 06 Oct 2022)
Log Message:
-----------
3.12 release
Modified Paths:
--------------
trunk/ChangeLog
trunk/Makefile
trunk/NEWS
trunk/demo/xhyper.pdf
trunk/doc/eplain.info
trunk/doc/eplain.pdf
trunk/eplain.tex
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2022-10-05 22:42:54 UTC (rev 60)
+++ trunk/ChangeLog 2022-10-05 22:43:49 UTC (rev 61)
@@ -1,3 +1,9 @@
+2022-10-02 Karl Berry <karl at freefriends.org>
+
+ * NEWS,
+ * Makefile (version): 3.12.
+ * doc/eplain.texi: 3.12, October 2022. Regenerate.
+
2022-10-05 Karl Berry <karl at freefriends.org>
* xeplain.tex: mailing list is tex-eplain, not bug-eplain.
Modified: trunk/Makefile
===================================================================
--- trunk/Makefile 2022-10-05 22:42:54 UTC (rev 60)
+++ trunk/Makefile 2022-10-05 22:43:49 UTC (rev 61)
@@ -1,7 +1,7 @@
# $Id$
# Makefile for Eplain. This file is public domain.
-version = 3.11
+version = 3.12
dist_name = eplain-$(version)
# Categories of the files in the source tree.
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2022-10-05 22:42:54 UTC (rev 60)
+++ trunk/NEWS 2022-10-05 22:43:49 UTC (rev 61)
@@ -1,6 +1,10 @@
$Id$
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.
Modified: trunk/demo/xhyper.pdf
===================================================================
(Binary files differ)
Modified: trunk/doc/eplain.info
===================================================================
--- trunk/doc/eplain.info 2022-10-05 22:42:54 UTC (rev 60)
+++ trunk/doc/eplain.info 2022-10-05 22:43:49 UTC (rev 61)
@@ -1711,7 +1711,7 @@
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
+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).
@@ -2160,7 +2160,7 @@
implement 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.
+output).
The columns are separated by the value of the dimen parameter
'\gutter'. Default value is two picas. If you want to add vertical
@@ -2169,6 +2169,13 @@
\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.
All the '\...columns' macros insert the value of the glue parameter
@@ -5604,6 +5611,7 @@
[image src="xhyper.jpg" ]
+% $Id: xhyper.tex 60 2022-10-05 22:42:54Z karl $
% (This file is public domain.)
%
% This file demonstrates the following features of Eplain:
@@ -5616,7 +5624,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
@@ -5776,7 +5784,7 @@
% |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
@@ -5790,7 +5798,7 @@
\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
@@ -5872,7 +5880,7 @@
(line 68)
* @indexproof insertion class: Proofing index terms.
(line 28)
-* abovecolumnskip: Multiple columns. (line 33)
+* abovecolumnskip: Multiple columns. (line 40)
* abovecolumnspenalty: Tables. (line 30)
* abovelistpenalty: Formatting lists. (line 28)
* abovelistskip: Formatting lists. (line 28)
@@ -5930,7 +5938,7 @@
(line 14)
* begin{theindex}: Typesetting an index.
(line 17)
-* belowcolumnskip: Multiple columns. (line 34)
+* belowcolumnskip: Multiple columns. (line 41)
* belowfootnoterulespace: Footnotes. (line 46)
* belowlistskip: Formatting lists. (line 29)
* belowlistskipamount: Formatting lists. (line 10)
@@ -7563,7 +7571,7 @@
* indexing and trailing spaces: Indexing terms. (line 20)
* indexing commands: Indexing commands. (line 6)
* indexing terms: Indexing terms. (line 6)
-* insertion classes: Multiple columns. (line 38)
+* insertion classes: Multiple columns. (line 45)
* inset hyperlink border: Link options for pdftex and dvipdfm.
(line 25)
* installation: Installation. (line 6)
@@ -8070,98 +8078,98 @@
Node: Indexing commands62382
Node: Modifying index entries65343
Node: Index entries with special characters68311
-Node: Proofing index terms72553
-Node: Typesetting an index74366
-Node: Customizing indexing76832
-Node: Justification80521
-Node: Tables83616
-Node: Margins86107
-Node: Multiple columns88260
-Node: Footnotes90297
-Node: Fractions92872
-Node: Paths93655
-Node: Logos95211
-Node: Boxes95995
-Node: Checking for PDF output97781
-Node: Loading LaTeX packages98701
-Node: The \usepackage command99984
-Node: Environment for loading packages101070
-Node: Packages known to work103410
-Node: Packages known not to work110098
-Node: Hyperlinks110871
-Node: Introduction to hyperlinks111520
-Node: Explicit hyperlinks117058
-Node: Implicit hyperlinks119343
-Node: General hyperlinks121164
-Node: URL hyperlinks122687
-Node: Citation hyperlinks124789
-Node: List hyperlinks125516
-Node: Cross-reference hyperlinks125907
-Node: Page reference hyperlinks127278
-Node: Equation reference hyperlinks127939
-Node: Index hyperlinks129329
-Node: Exact destinations for index terms131087
-Node: Page destinations for index terms133247
-Node: Choosing destination placement135865
-Node: Index page list and page range parsers136654
-Node: Hyperlinks in see and see also entries137206
-Node: Footnote hyperlinks138004
-Node: Contents hyperlinks139198
-Node: Hyperlink drivers139581
-Node: Options supported by all drivers140215
-Node: Hyperlink driver hypertex143011
-Node: Destination types for hypertex145932
-Node: Destination options for hypertex146966
-Node: Link types for hypertex147448
-Node: Link options for hypertex149456
-Node: Hyperlink drivers pdftex and dvipdfm150478
-Node: Destination types for pdftex and dvipdfm151123
-Node: Destination options for pdftex and dvipdfm154602
-Node: Link types for pdftex and dvipdfm157053
-Node: Link options for pdftex and dvipdfm160573
-Node: Hyperlink driver nolinks164211
-Node: Setting hyperlink types and options166614
-Node: Setting default types and options167615
-Node: Setting group types169041
-Node: Setting group options170230
-Node: Turning hyperlinks on/off172711
-Node: Turning low-level commands on/off173377
-Node: Turning hyperlinks on/off for a group173890
-Node: Making PDF outlines175043
-Node: Arrow theoretic diagrams177928
-Node: Slanted lines and vectors178295
-Node: Commutative diagrams180369
-Node: Arrows and morphisms180966
-Node: Construction of commutative diagrams185421
-Node: Commutative diagram parameters192586
-Node: Programming definitions194402
-Node: Category codes195403
-Node: Allocation macros198048
-Node: Scratch registers200215
-Node: Iteration201251
-Node: Macro arguments202903
-Node: Converting to characters206278
-Node: Expansion207663
-Node: \csn and \ece208226
-Node: \edefappend208791
-Node: Hooks209338
-Node: Properties211512
-Node: \expandonce212591
-Node: \ifundefined213039
-Node: \ifempty213603
-Node: \ifinteger and \isinteger214345
-Node: \futurenonspacelet215363
-Node: Obeying spaces215964
-Node: Writing out numbers216988
-Node: Mode-specific penalties217311
-Node: Auxiliary files218040
-Node: User-defined environments218959
-Node: Page list and page range parsers220172
-Node: Demo files222304
-Node: Hyperlinks (xhyper.tex)222871
-Node: Highlighting TeX comments in listings (lscommnt.tex)231221
-Node: Macro index233678
-Node: Concept index302400
+Node: Proofing index terms72554
+Node: Typesetting an index74367
+Node: Customizing indexing76833
+Node: Justification80522
+Node: Tables83617
+Node: Margins86108
+Node: Multiple columns88261
+Node: Footnotes90662
+Node: Fractions93237
+Node: Paths94020
+Node: Logos95576
+Node: Boxes96360
+Node: Checking for PDF output98146
+Node: Loading LaTeX packages99066
+Node: The \usepackage command100349
+Node: Environment for loading packages101435
+Node: Packages known to work103775
+Node: Packages known not to work110463
+Node: Hyperlinks111236
+Node: Introduction to hyperlinks111885
+Node: Explicit hyperlinks117423
+Node: Implicit hyperlinks119708
+Node: General hyperlinks121529
+Node: URL hyperlinks123052
+Node: Citation hyperlinks125154
+Node: List hyperlinks125881
+Node: Cross-reference hyperlinks126272
+Node: Page reference hyperlinks127643
+Node: Equation reference hyperlinks128304
+Node: Index hyperlinks129694
+Node: Exact destinations for index terms131452
+Node: Page destinations for index terms133612
+Node: Choosing destination placement136230
+Node: Index page list and page range parsers137019
+Node: Hyperlinks in see and see also entries137571
+Node: Footnote hyperlinks138369
+Node: Contents hyperlinks139563
+Node: Hyperlink drivers139946
+Node: Options supported by all drivers140580
+Node: Hyperlink driver hypertex143376
+Node: Destination types for hypertex146297
+Node: Destination options for hypertex147331
+Node: Link types for hypertex147813
+Node: Link options for hypertex149821
+Node: Hyperlink drivers pdftex and dvipdfm150843
+Node: Destination types for pdftex and dvipdfm151488
+Node: Destination options for pdftex and dvipdfm154967
+Node: Link types for pdftex and dvipdfm157418
+Node: Link options for pdftex and dvipdfm160938
+Node: Hyperlink driver nolinks164576
+Node: Setting hyperlink types and options166979
+Node: Setting default types and options167980
+Node: Setting group types169406
+Node: Setting group options170595
+Node: Turning hyperlinks on/off173076
+Node: Turning low-level commands on/off173742
+Node: Turning hyperlinks on/off for a group174255
+Node: Making PDF outlines175408
+Node: Arrow theoretic diagrams178293
+Node: Slanted lines and vectors178660
+Node: Commutative diagrams180734
+Node: Arrows and morphisms181331
+Node: Construction of commutative diagrams185786
+Node: Commutative diagram parameters192951
+Node: Programming definitions194767
+Node: Category codes195768
+Node: Allocation macros198413
+Node: Scratch registers200580
+Node: Iteration201616
+Node: Macro arguments203268
+Node: Converting to characters206643
+Node: Expansion208028
+Node: \csn and \ece208591
+Node: \edefappend209156
+Node: Hooks209703
+Node: Properties211877
+Node: \expandonce212956
+Node: \ifundefined213404
+Node: \ifempty213968
+Node: \ifinteger and \isinteger214710
+Node: \futurenonspacelet215728
+Node: Obeying spaces216329
+Node: Writing out numbers217353
+Node: Mode-specific penalties217676
+Node: Auxiliary files218405
+Node: User-defined environments219324
+Node: Page list and page range parsers220537
+Node: Demo files222669
+Node: Hyperlinks (xhyper.tex)223236
+Node: Highlighting TeX comments in listings (lscommnt.tex)231638
+Node: Macro index234095
+Node: Concept index302817
End Tag Table
Modified: trunk/doc/eplain.pdf
===================================================================
(Binary files differ)
Modified: trunk/eplain.tex
===================================================================
--- trunk/eplain.tex 2022-10-05 22:42:54 UTC (rev 60)
+++ trunk/eplain.tex 2022-10-05 22:43:49 UTC (rev 61)
@@ -1,10 +1,10 @@
%% @texfile{
%% author = "Karl Berry, Steven Smith, Oleg Katsitadze, and others",
-%% version = "3.11",
-%% date = "Sat Jul 4 08:41:11 PDT 2020",
+%% version = "3.12",
+%% date = "Wed Oct 5 15:43:01 PDT 2022",
%% filename = "eplain.tex",
-%% email = "bug-eplain at tug.org",
-%% checksum = "4139 9298 134361",
+%% email = "tex-eplain at tug.org",
+%% checksum = "4290 9524 139018",
%% codetable = "ASCII",
%% supported = "yes",
%% docstring = "This file defines macros that extend and expand on
@@ -13,7 +13,7 @@
%% files for author credits, etc. The original sources
%% can be found in Eplain sources in your TeX
%% distribution, on CTAN or on Eplain's home page at
-%% http://tug.org/eplain. Please base diffs or
+%% https://tug.org/eplain. Please base diffs or
%% other contributions on xeplain.tex, not the
%% stripped-down eplain.tex.",
%% }
@@ -23,53 +23,204 @@
\expandafter\let\expandafter\next\csname endinput\endcsname
\fi
\next
+%% iftex TeX engine tests
+%% LaTeX3 Project
%%
-%% This is file `ifpdf.sty',
-%% generated with the docstrip utility.
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version.
%%
-%% The original source files were:
+%% Using ideas from:
%%
-%% ifpdf.dtx (with options: `package')
-%%
-%% Source File: ifpdf.dtx
-%% Copyright 2016 Heiko Oberdiek and LaTeX3 project
-%%
-%% This file may be distributed under the terms of the LPPL.
-%% See README for details.
-\ifx\ProvidesPackage\undefined
-\def\next#1#2[#3]{\wlog{#2 #3}}
-\expandafter\next\fi
-\ProvidesPackage{ifpdf}
-[2016/04/04 v3.0 Provides the ifpdf switch]
-\expandafter\ifx\csname ifpdf\endcsname\relax
- \csname newif\expandafter\endcsname\csname ifpdf\endcsname
+%% ifetex Martin Scharrer
+%% ifxetex Will Robertson
+%% iftex 0.2 Persian TeX Group / Vafa Khalighi
+%% ifluatex ifvtex Heiko Oberdiek
+%% ifptex Takayuki YATO
+%% ifpdf Heiko Oberdiek and LaTeX3 Project
+\csname IFTEX\string @loaded\endcsname
+\catcode123=1
+\catcode125=2
+\catcode35=6
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname ProvidesPackage\endcsname\relax\else
+ \ProvidesPackage{iftex}[2022/02/03 v1.0f TeX engine tests]
+\fi
+\expandafter\chardef\csname IFTEX\string @atcatcode\endcsname\catcode64
+\catcode 64 11
+\def\IFTEX at Require#1#2#3{%
+ #1\else
+ \newlinechar 64\relax
+ \errorcontextlines -1\relax
+ \immediate\write20{@
+ ********************************************@
+ * #2 is required to compile this document.@
+ * Sorry!@
+ ********************************************}%
+ \batchmode\read -1 to \@tempa
+ #3%
+}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname protected\endcsname\relax
+ \let\IFTEX at protected\relax
\else
- \ifx\pdftrue\undefined
- \ifx\PackageError\undefined
- \begingroup\def\PackageError#1#2#3{\endgroup\errmessage{#2}}
+ \let\IFTEX at protected\protected
+\fi
+ {
+ \catcode34 12 % "
+ \catcode40 12 % (
+ \catcode41 12 % )
+ \catcode44 12 % ,
+ \catcode46 12 % .
+ \expandafter\ifx\csname directlua\endcsname\relax\else
+ \directlua{tex.enableprimitives("IFTEX@", {"detokenize","protected"})}
\fi
- \PackageError{ifpdf}{incompatible ifpdf definition}{}
- \expandafter\expandafter\expandafter
- \fi
+ }
+\IFTEX at protected\def\RequireeTeX{\IFTEX at Require\ifetex{eTeX}\fi}
+\IFTEX at protected\def\RequirePDFTeX{\IFTEX at Require\ifpdftex{pdfTeX}\fi}
+\IFTEX at protected\def\RequireXeTeX{\IFTEX at Require\ifxetex{XeTeX}\fi}
+\IFTEX at protected\def\RequireLuaTeX{\IFTEX at Require\ifluatex{LuaTeX}\fi}
+\IFTEX at protected\def\RequireLuaHBTeX{\IFTEX at Require\ifluahbtex{LuaHBTeX}\fi}
+\IFTEX at protected\def\RequirepTeX{\IFTEX at Require\ifptex{pTeX}\fi}
+\IFTEX at protected\def\RequireupTeX{\IFTEX at Require\ifuptex{upTeX}\fi}
+\IFTEX at protected\def\RequirepTeXng{\IFTEX at Require\ifptexng{pTeX-ng}\fi}
+\IFTEX at protected\def\RequireVTeX{\IFTEX at Require\ifvtex{VTeX}\fi}
+\IFTEX at protected\def\RequireAlephTeX{\IFTEX at Require\ifalephtex{Aleph}\fi}
+\IFTEX at protected\def\RequireTUTeX{\IFTEX at Require\iftutex{LuaTeX or XeTeX}\fi}
+\IFTEX at protected\def\RequireTexpadTeX{\IFTEX at Require\iftexpadtex{TexpadTeX}\fi}
+\IFTEX at protected\def\RequireHINT{\IFTEX at Require\ifhint{HINT}\fi}
+\def\IFTEX at let#1#2{%
+ \expandafter\let\csname if#1\expandafter\endcsname
+ \csname if#2\endcsname}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname numexpr\endcsname\relax
+ \IFTEX at let{etex}{false}
+\else
+ \IFTEX at let{etex}{true}
\fi
-\let\ifpdf\iffalse
-\ifx\directlua\undefined
+\IFTEX at let{eTeX}{etex}
\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfoutput\endcsname\relax
+\expandafter\ifx\csname pdftexversion\endcsname\relax
+ \IFTEX at let{pdftex}{false}
\else
- \ifnum\pdfoutput>0 %
- \pdftrue
+ \IFTEX at let{pdftex}{true}
+\fi
+\IFTEX at let{PDFTeX}{pdftex}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname XeTeXrevision\endcsname\relax
+ \IFTEX at let{xetex}{false}
+\else
+ \IFTEX at let{xetex}{true}
+\fi
+\IFTEX at let{XeTeX}{xetex}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname directlua\endcsname\relax
+ \IFTEX at let{luatex}{false}
+\else
+ \IFTEX at let{luatex}{true}
+\fi
+\IFTEX at let{LuaTeX}{luatex}
+\IFTEX at let{luahbtex}{false}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname directlua\endcsname\relax
+\else
+ \directlua{\IFTEX at detokenize{
+ if(pcall(require, 'luaharfbuzz')) then
+ tex.print("\\let\\ifluahbtex\\iftrue ")
+ end
+ }}
+\fi
+\IFTEX at let{LuaHBTeX}{luahbtex}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname kanjiskip\endcsname\relax
+ \IFTEX at let{ptex}{false}
+\else
+ \IFTEX at let{ptex}{true}
+\fi
+\IFTEX at let{pTeX}{ptex}
+\ifx\enablecjktoken \@undefined
+ \IFTEX at let{uptex}{false}
+\else
+ \IFTEX at let{uptex}{true}
+\fi
+\IFTEX at let{upTeX}{uptex}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname ngbanner\endcsname\relax
+ \IFTEX at let{ptexng}{false}
+\else
+ \IFTEX at let{ptexng}{true}
+\fi
+\IFTEX at let{pTeXng}{ptexng}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname VTeXversion\endcsname\relax
+ \IFTEX at let{vtex}{false}
+\else
+ \IFTEX at let{vtex}{true}
+\fi
+\IFTEX at let{VTeX}{vtex}
+\IFTEX at let{alephtex}{false}
+\ifptex\else
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname omathchardef\endcsname\relax
+\else
+ \IFTEX at let{alephtex}{true}
+\fi
+\fi
+\IFTEX at let{AlephTeX}{alephtex}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname Umathchardef\endcsname\relax
+ \IFTEX at let{tutex}{false}
+\else
+ \IFTEX at let{tutex}{true}
+\fi
+\IFTEX at let{TUTeX}{tutex}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname TexpadTeXMode\endcsname\relax
+ \IFTEX at let{texpadtex}{false}
+\else
+ \IFTEX at let{texpadtex}{true}
+ \ifcase\TexpadTeXMode\relax
+ \or
+ \IFTEX at let{tutex}{true}
\fi
\fi
+\IFTEX at let{TexpadTeX}{texpadtex}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname HINTversion\endcsname\relax
+ \IFTEX at let{hint}{false}
\else
-\directlua{%
+ \IFTEX at let{hint}{true}
+\fi
+\IFTEX at let{HINT}{hint}
+\def\pdftrue{\let\ifpdf\iftrue}
+\def\pdffalse{\let\ifpdf\iffalse}
+\pdffalse
+\ifluatex
+\directlua{\IFTEX at detokenize{
if (tex.outputmode or tex.pdfoutput or 0) > 0 then
- tex.print('\string\\pdftrue')
+ tex.print('\\pdftrue')
end
-}
+}}
+\else
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname pdfoutput\endcsname\relax
+\ifvtex
+ \ifnum\OpMode=3 %
+ \pdftrue
+ \fi
+\else
+ \iftexpadtex
+ \pdftrue
+ \fi
\fi
-%%
-%% End of file `ifpdf.sty'.
+\else
+ \ifnum\pdfoutput>0 %
+ \pdftrue
+ \fi
+\fi
+\fi
+\catcode64 \IFTEX at atcatcode
\def\makeactive#1{\catcode`#1 = \active \ignorespaces}%
\chardef\letter = 11
\chardef\other = 12
@@ -102,7 +253,6 @@
\def\@emptymarkA{\@emptymarkB}
\def\ifempty#1{\@@ifempty #1\@emptymarkA\@emptymarkB}%
\def\@@ifempty#1#2\@emptymarkB{\ifx #1\@emptymarkA}%
-\def\@gobbleminus#1{\ifx-#1\else#1\fi}%
\def\ifinteger#1{\ifcat_\ifnum9<1\@gobbleminus#1 _\else A\fi}%
\def\isinteger{TT\fi\ifinteger}%
\def\@gobblemeaning#1:->{}%
@@ -184,8 +334,8 @@
\fi
%% @texfile{
%% author = "Karl Berry and Oren Patashnik",
-%% version = "0.99p",
-%% date = "30 May 2019",
+%% version = "0.99q",
+%% date = "2 October 2022",
%% filename = "btxmac.tex",
%% address = "tex-eplain at tug.org",
%% supported = "yes",
@@ -207,7 +357,7 @@
\else
\def\@linenumber{\the\inputlineno:\space}%
\fi
-\long\def\@futurenonspacelet#1{\def\cs{#1}%
+\long\def\@futurenonspacelet#1{\def\@btxcs{#1}%
\afterassignment\@stepone\let\@nexttoken=
}%
\begingroup % The grouping here avoids stepping on an outside use of `\\'.
@@ -214,8 +364,8 @@
\def\\{\global\let\@stoken= }%
\\ % now \@stoken is a space token (\\ is a control symbol, so that
\endgroup
-\def\@stepone{\expandafter\futurelet\cs\@steptwo}%
-\def\@steptwo{\expandafter\ifx\cs\@stoken\let\@@next=\@stepthree
+\def\@stepone{\expandafter\futurelet\@btxcs\@steptwo}%
+\def\@steptwo{\expandafter\ifx\@btxcs\@stoken\let\@@next=\@stepthree
\else\let\@@next=\@nexttoken\fi \@@next}%
\def\@stepthree{\afterassignment\@stepone\let\@@next= }%
\def\@getoptionalarg#1{%
@@ -441,11 +591,11 @@
\long\def\providecommand#1{%
\def\@btxcommandname{#1}%
\expandafter\ifx\@btxcommandname \@undefined
- \let\cs=\@btxcontinuenewcommand % undefined, so we'll define it
+ \let\@btxcs=\@btxcontinuenewcommand % undefined, so we'll define it
\else
- \let\cs=\@gobble % already defined, so ignore it
+ \let\@btxcs=\@gobble % already defined, so ignore it
\fi
- \@getoptionalarg\cs
+ \@getoptionalarg\@btxcs
}%
\fi
\def\@btxcontinuenewcommand{%
@@ -665,10 +815,11 @@
%%% USA
%%% Tel: (801) 581-5254
%%% FAX: (801) 581-4148",
-%%% checksum = "27723 296 1385 12423",
+%%% checksum = "39776 297 1390 12466",
%%% email = "beebe at magna.math.utah.edu (Internet)",
%%% codetable = "ISO/ASCII",
%%% keywords = "TeX names",
+%%% license = "public domain",
%%% supported = "yes",
%%% docstring = "This style file for AmSTeX, LaTeX, and TeX
%%% defines macros for the names of TeX
@@ -4135,5 +4286,5 @@
\def\fmtname{eplain}%
\def\eplain{t}%
{\edef\plainversion{\fmtversion}%
- \xdef\fmtversion{3.11: 4 July 2020 (and plain \plainversion)}%
+ \xdef\fmtversion{3.12: 5 October 2022 (and plain \plainversion)}%
}%
More information about the tex-eplain-commits
mailing list.