eplain[66] trunk: eplain-3.14

commits+karl at tug.org commits+karl at tug.org
Wed Apr 17 18:38:05 CEST 2024


Revision: 66
          https://tug.org/svn/eplain?view=revision&revision=66
Author:   karl
Date:     2024-04-17 18:38:05 +0200 (Wed, 17 Apr 2024)
Log Message:
-----------
eplain-3.14

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/Makefile
    trunk/NEWS
    trunk/doc/Makefile
    trunk/doc/eplain.info
    trunk/doc/eplain.pdf
    trunk/doc/eplain.texi
    trunk/eplain.tex

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2024-04-17 16:37:52 UTC (rev 65)
+++ trunk/ChangeLog	2024-04-17 16:38:05 UTC (rev 66)
@@ -1,3 +1,19 @@
+2022-10-16  Karl Berry  <karl at freefriends.org>
+
+	* NEWS,
+	* Makefile (version): 3.14
+	* doc/eplain.texi: 3.14.
+
+	* xeplain.tex (\readcontentsfile): \immediate\closeout
+	the tocfile before reading it, in case the document mixes
+	reading and writing.
+	* doc/userdef.texi (Reading the .toc file): mention reading the
+	toc after writing all entries.
+	* test/tocwriteread.tex: test file from Andy Bradford.
+	
+	* doc/Makefile (eplain.html): do not build split html; we don't
+	distribute or use it.
+
 2023-10-30  Karl Berry  <karl at freefriends.org>
 
 	* PROJECTS: tweak release commands.

Modified: trunk/Makefile
===================================================================
--- trunk/Makefile	2024-04-17 16:37:52 UTC (rev 65)
+++ trunk/Makefile	2024-04-17 16:38:05 UTC (rev 66)
@@ -1,7 +1,7 @@
 # $Id$
 # Makefile for Eplain.  This file is public domain.
 
-version     = 3.13
+version     = 3.14
 dist_name   = eplain-$(version)
 
 # Categories of the files in the source tree.

Modified: trunk/NEWS
===================================================================
--- trunk/NEWS	2024-04-17 16:37:52 UTC (rev 65)
+++ trunk/NEWS	2024-04-17 16:38:05 UTC (rev 66)
@@ -1,6 +1,9 @@
 $Id$
 This file records noteworthy changes.  This file is public domain.
 
+
 3.14 (17 April 2024)
+* Allow writing and then reading toc files.
+
 
 3.13 (16 October 2022)
 * Fix dumb bug in 3.12 making toc processing fail (\@gobbleminus
   definition was lost).

Modified: trunk/doc/Makefile
===================================================================
--- trunk/doc/Makefile	2024-04-17 16:37:52 UTC (rev 65)
+++ trunk/doc/Makefile	2024-04-17 16:38:05 UTC (rev 66)
@@ -74,9 +74,7 @@
 
 html: eplain.html eplain/index.html
 eplain.html eplain/index.html: *.texi $(JPG_DEMOS)
-	$(MAKEINFO) $(MAKEINFO_HTML) eplain.texi
 	$(MAKEINFO) $(MAKEINFO_HTML) --no-split eplain.texi
-	cp $(JPG_DEMOS) eplain
 
 info: eplain.info
 eplain.info: *.texi $(DEMO_DIR)/*.tex

Modified: trunk/doc/eplain.info
===================================================================
--- trunk/doc/eplain.info	2024-04-17 16:37:52 UTC (rev 65)
+++ trunk/doc/eplain.info	2024-04-17 16:38:05 UTC (rev 66)
@@ -1,6 +1,6 @@
 This is eplain.info, produced by makeinfo version 7.1 from eplain.texi.
 
-This manual documents the Eplain macros, version 3.13, October 2022.
+This manual documents the Eplain macros, version 3.14, April 2024.
 Eplain provides functionality for plain TeX that is intended to be
 useful regardless of how your document is actually formatted.
 
@@ -21,7 +21,7 @@
 Eplain
 ******
 
-This manual documents the Eplain macros, version 3.13, October 2022.
+This manual documents the Eplain macros, version 3.14, April 2024.
 Eplain provides functionality for plain TeX that is intended to be
 useful regardless of how your document is actually formatted.
 
@@ -1029,14 +1029,16 @@
    Each of ‘\writetocentry’, ‘\writenumberedtocentry’ and
 ‘\writenumberedtocline’ opens the .toc file for writing, thereby
 deleting the information from the previous run. You should therefore
-arrange that ‘\readtocfile’ be called _before_ the first call to a
-‘\writetoc...’ macro. ‘\readtocfile’ does not itself delete the
-information from the .toc file, so that you can call it several times,
-e.g., to create both a short and normal table of contents. (To produce
-this in particular, define ‘\tocsectionentry’ to produce nothing while
-you are reading .toc file for a short table of contents (*note Macro
-arguments::).)
+arrange that ‘\readtocfile’ be called before the first call to a
+‘\writetoc...’ macro, or after the last call. You can't arbitrarily mix
+reading and writing.
 
+   ‘\readtocfile’ does not itself delete the information from the .toc
+file, so that you can call it several times, e.g., to create both a
+short and normal table of contents. (To produce this particular case,
+define ‘\tocsectionentry’ to produce nothing while you are reading .toc
+file for a short table of contents (*note Macro arguments::).)
+
    On the other hand, if you don't want to rewrite the .toc file at all,
 perhaps because you are only running TeX on part of your manuscript, you
 can set ‘\rewritetocfilefalse’.
@@ -6372,7 +6374,7 @@
                                                               (line  51)
 * ifpdf <2>:                             Making PDF outlines. (line  16)
 * ifrewritetocfile:                      Reading the .toc file.
-                                                              (line  26)
+                                                              (line  28)
 * ifundefined:                           \ifundefined.        (line   6)
 * includegraphics:                       Hyperlinks (xhyper.tex).
                                                               (line   9)
@@ -6648,7 +6650,7 @@
                                                               (line  35)
 * resetatcatcode <1>:                    Category codes.      (line  23)
 * rewritetocfile (conditional):          Reading the .toc file.
-                                                              (line  26)
+                                                              (line  28)
 * right (destination option):            Destination types for pdftex and dvipdfm.
                                                               (line  66)
 * right (destination option) <1>:        Destination options for pdftex and dvipdfm.
@@ -6985,6 +6987,8 @@
 * contents, and verbatim text:           Writing the .toc file.
                                                               (line  49)
 * contents, hyperlinks:                  Contents hyperlinks. (line   6)
+* contents, short:                       Reading the .toc file.
+                                                              (line  20)
 * ConTeXt:                               Packages known to work.
                                                               (line  30)
 * continued index entries:               Typesetting an index.
@@ -7903,6 +7907,8 @@
                                                               (line  62)
 * see, and index entries, hyperlinks:    Hyperlinks in see and see also entries.
                                                               (line   6)
+* short contents:                        Reading the .toc file.
+                                                              (line  20)
 * silent indexing:                       Indexing terms.      (line   6)
 * skipping tokens:                       \ifundefined.        (line  10)
 * skipping tokens <1>:                   \ifempty.            (line  12)
@@ -7946,7 +7952,7 @@
                                                               (line  49)
 * table of contents, hyperlinks:         Contents hyperlinks. (line   6)
 * table of contents, short:              Reading the .toc file.
-                                                              (line  19)
+                                                              (line  22)
 * table of contents, short <1>:          Macro arguments.     (line  10)
 * tables:                                Tables.              (line   6)
 * tabs:                                  Obeying spaces.      (line  22)
@@ -8051,132 +8057,132 @@
 
 
 Tag Table:
-Node: Top804
-Node: Introduction2222
-Node: Installation5607
-Node: Invoking Eplain6971
-Node: User definitions11709
-Node: Diagnostics13536
-Node: Rules15149
-Node: Citations16016
-Node: Formatting citations22925
-Node: Formatting bibliographies24512
-Node: Commands from LaTeX27860
-Node: Displays28882
-Node: Formatting displays30361
-Node: Time of day31022
-Node: Lists31801
-Node: Formatting lists34001
-Node: Verbatim listing36384
-Node: Contents39732
-Node: Writing the .toc file40405
-Node: Reading the .toc file43343
-Node: Changing the .toc file's root name44802
-Node: Alternative contents files45858
-Node: Cross-references46426
-Node: Defining generic references47914
-Node: Using generic references48806
-Node: Page references50150
-Node: Equation references50985
-Node: Formatting equation references53805
-Node: Subequation references58259
-Node: Indexing60228
-Node: Indexing terms63334
-Node: Indexing commands64466
-Node: Modifying index entries67539
-Node: Index entries with special characters70563
-Node: Proofing index terms74878
-Node: Typesetting an index76763
-Node: Customizing indexing79349
-Node: Justification83238
-Node: Tables86425
-Node: Margins88968
-Node: Multiple columns91181
-Node: Footnotes93670
-Node: Fractions96321
-Node: Paths97136
-Node: Logos98760
-Node: Boxes99608
-Node: Checking for PDF output101446
-Node: Loading LaTeX packages102394
-Node: The \usepackage command103697
-Node: Environment for loading packages104823
-Node: Packages known to work107263
-Node: Packages known not to work114143
-Node: Hyperlinks114928
-Node: Introduction to hyperlinks115581
-Node: Explicit hyperlinks121271
-Node: Implicit hyperlinks123628
-Node: General hyperlinks125469
-Node: URL hyperlinks127032
-Node: Citation hyperlinks129186
-Node: List hyperlinks129937
-Node: Cross-reference hyperlinks130332
-Node: Page reference hyperlinks131767
-Node: Equation reference hyperlinks132452
-Node: Index hyperlinks133882
-Node: Exact destinations for index terms135684
-Node: Page destinations for index terms137904
-Node: Choosing destination placement140586
-Node: Index page list and page range parsers141399
-Node: Hyperlinks in see and see also entries141959
-Node: Footnote hyperlinks142773
-Node: Contents hyperlinks143995
-Node: Hyperlink drivers144386
-Node: Options supported by all drivers145024
-Node: Hyperlink driver hypertex147896
-Node: Destination types for hypertex150889
-Node: Destination options for hypertex151963
-Node: Link types for hypertex152469
-Node: Link options for hypertex154545
-Node: Hyperlink drivers pdftex and dvipdfm155623
-Node: Destination types for pdftex and dvipdfm156284
-Node: Destination options for pdftex and dvipdfm159959
-Node: Link types for pdftex and dvipdfm162514
-Node: Link options for pdftex and dvipdfm166166
-Node: Hyperlink driver nolinks170024
-Node: Setting hyperlink types and options172495
-Node: Setting default types and options173516
-Node: Setting group types174954
-Node: Setting group options176159
-Node: Turning hyperlinks on/off178704
-Node: Turning low-level commands on/off179374
-Node: Turning hyperlinks on/off for a group179899
-Node: Making PDF outlines181056
-Node: Arrow theoretic diagrams184013
-Node: Slanted lines and vectors184380
-Node: Commutative diagrams186546
-Node: Arrows and morphisms187151
-Node: Construction of commutative diagrams191926
-Node: Commutative diagram parameters199207
-Node: Programming definitions201155
-Node: Category codes202156
-Node: Allocation macros204909
-Node: Scratch registers207160
-Node: Iteration208228
-Node: Macro arguments209944
-Node: Converting to characters213391
-Node: Expansion214824
-Node: \csn and \ece215387
-Node: \edefappend215984
-Node: Hooks216551
-Node: Properties218793
-Node: \expandonce219916
-Node: \ifundefined220396
-Node: \ifempty220996
-Node: \ifinteger and \isinteger221762
-Node: \futurenonspacelet222820
-Node: Obeying spaces223437
-Node: Writing out numbers224477
-Node: Mode-specific penalties224804
-Node: Auxiliary files225569
-Node: User-defined environments226512
-Node: Page list and page range parsers227745
-Node: Demo files229941
-Node: Hyperlinks (xhyper.tex)230512
-Node: Highlighting TeX comments in listings (lscommnt.tex)238918
-Node: Macro index241379
-Node: Concept index310101
+Node: Top802
+Node: Introduction2218
+Node: Installation5603
+Node: Invoking Eplain6967
+Node: User definitions11705
+Node: Diagnostics13532
+Node: Rules15145
+Node: Citations16012
+Node: Formatting citations22921
+Node: Formatting bibliographies24508
+Node: Commands from LaTeX27856
+Node: Displays28878
+Node: Formatting displays30357
+Node: Time of day31018
+Node: Lists31797
+Node: Formatting lists33997
+Node: Verbatim listing36380
+Node: Contents39728
+Node: Writing the .toc file40401
+Node: Reading the .toc file43339
+Node: Changing the .toc file's root name44873
+Node: Alternative contents files45929
+Node: Cross-references46497
+Node: Defining generic references47985
+Node: Using generic references48877
+Node: Page references50221
+Node: Equation references51056
+Node: Formatting equation references53876
+Node: Subequation references58330
+Node: Indexing60299
+Node: Indexing terms63405
+Node: Indexing commands64537
+Node: Modifying index entries67610
+Node: Index entries with special characters70634
+Node: Proofing index terms74949
+Node: Typesetting an index76834
+Node: Customizing indexing79420
+Node: Justification83309
+Node: Tables86496
+Node: Margins89039
+Node: Multiple columns91252
+Node: Footnotes93741
+Node: Fractions96392
+Node: Paths97207
+Node: Logos98831
+Node: Boxes99679
+Node: Checking for PDF output101517
+Node: Loading LaTeX packages102465
+Node: The \usepackage command103768
+Node: Environment for loading packages104894
+Node: Packages known to work107334
+Node: Packages known not to work114214
+Node: Hyperlinks114999
+Node: Introduction to hyperlinks115652
+Node: Explicit hyperlinks121342
+Node: Implicit hyperlinks123699
+Node: General hyperlinks125540
+Node: URL hyperlinks127103
+Node: Citation hyperlinks129257
+Node: List hyperlinks130008
+Node: Cross-reference hyperlinks130403
+Node: Page reference hyperlinks131838
+Node: Equation reference hyperlinks132523
+Node: Index hyperlinks133953
+Node: Exact destinations for index terms135755
+Node: Page destinations for index terms137975
+Node: Choosing destination placement140657
+Node: Index page list and page range parsers141470
+Node: Hyperlinks in see and see also entries142030
+Node: Footnote hyperlinks142844
+Node: Contents hyperlinks144066
+Node: Hyperlink drivers144457
+Node: Options supported by all drivers145095
+Node: Hyperlink driver hypertex147967
+Node: Destination types for hypertex150960
+Node: Destination options for hypertex152034
+Node: Link types for hypertex152540
+Node: Link options for hypertex154616
+Node: Hyperlink drivers pdftex and dvipdfm155694
+Node: Destination types for pdftex and dvipdfm156355
+Node: Destination options for pdftex and dvipdfm160030
+Node: Link types for pdftex and dvipdfm162585
+Node: Link options for pdftex and dvipdfm166237
+Node: Hyperlink driver nolinks170095
+Node: Setting hyperlink types and options172566
+Node: Setting default types and options173587
+Node: Setting group types175025
+Node: Setting group options176230
+Node: Turning hyperlinks on/off178775
+Node: Turning low-level commands on/off179445
+Node: Turning hyperlinks on/off for a group179970
+Node: Making PDF outlines181127
+Node: Arrow theoretic diagrams184084
+Node: Slanted lines and vectors184451
+Node: Commutative diagrams186617
+Node: Arrows and morphisms187222
+Node: Construction of commutative diagrams191997
+Node: Commutative diagram parameters199278
+Node: Programming definitions201226
+Node: Category codes202227
+Node: Allocation macros204980
+Node: Scratch registers207231
+Node: Iteration208299
+Node: Macro arguments210015
+Node: Converting to characters213462
+Node: Expansion214895
+Node: \csn and \ece215458
+Node: \edefappend216055
+Node: Hooks216622
+Node: Properties218864
+Node: \expandonce219987
+Node: \ifundefined220467
+Node: \ifempty221067
+Node: \ifinteger and \isinteger221833
+Node: \futurenonspacelet222891
+Node: Obeying spaces223508
+Node: Writing out numbers224548
+Node: Mode-specific penalties224875
+Node: Auxiliary files225640
+Node: User-defined environments226583
+Node: Page list and page range parsers227816
+Node: Demo files230012
+Node: Hyperlinks (xhyper.tex)230583
+Node: Highlighting TeX comments in listings (lscommnt.tex)238989
+Node: Macro index241450
+Node: Concept index310172
 
 End Tag Table
 

Modified: trunk/doc/eplain.pdf
===================================================================
(Binary files differ)

Modified: trunk/doc/eplain.texi
===================================================================
--- trunk/doc/eplain.texi	2024-04-17 16:37:52 UTC (rev 65)
+++ trunk/doc/eplain.texi	2024-04-17 16:38:05 UTC (rev 66)
@@ -3,8 +3,8 @@
 @setfilename eplain.info
 @settitle Eplain:  Expanded Plain @TeX{}
 
- at set UPDATED October 2022
- at set VERSION 3.13
+ at set UPDATED April 2024
+ at set VERSION 3.14
 
 @copying
 This manual documents the Eplain macros, version @value{VERSION},

Modified: trunk/eplain.tex
===================================================================
--- trunk/eplain.tex	2024-04-17 16:37:52 UTC (rev 65)
+++ trunk/eplain.tex	2024-04-17 16:38:05 UTC (rev 66)
@@ -1,10 +1,10 @@
 %% @texfile{
 %%   author = "Karl Berry, Steven Smith, Oleg Katsitadze, and others",
-%%   version = "3.13",
-%%   date = "Sun Oct 16 09:55:26 PDT 2022",
+%%   version = "3.14",
+%%   date = "Wed Apr 17 07:58:30 PDT 2024",
 %%   filename = "eplain.tex",
 %%   email = "tex-eplain at tug.org",
-%%   checksum = "4291   9525 139058",
+%%   checksum = "4294   9539 139235",
 %%   codetable = "ASCII",
 %%   supported = "yes",
 %%   docstring = "This file defines macros that extend and expand on
@@ -23,6 +23,7 @@
   \expandafter\let\expandafter\next\csname endinput\endcsname
 \fi
 \next
+\expandafter\let\csname IFTEX\string @loaded\endcsname \relax
 %% iftex TeX engine tests
 %% LaTeX3 Project
 %%
@@ -2041,6 +2042,8 @@
   \fi
 }%
 \def\readcontentsfile#1{%
+   \immediate\closeout \csname #1file\endcsname
+   \ece\global{@#1fileopenedfalse}% have to reopen if writing again.
    \edef\temp{%
      \noexpand\testfileexistence[\csname #1filebasename\endcsname]{#1}%
    }\temp
@@ -4287,5 +4290,5 @@
 \def\fmtname{eplain}%
 \def\eplain{t}%
 {\edef\plainversion{\fmtversion}%
- \xdef\fmtversion{3.13: 16 October 2022 (and plain \plainversion)}%
+ \xdef\fmtversion{3.14: 17 April 2024 (and plain \plainversion)}%
 }%



More information about the tex-eplain-commits mailing list.