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.