texlive[65204] Master: lineno (5dec22)

commits+karl at tug.org commits+karl at tug.org
Mon Dec 5 22:23:49 CET 2022


Revision: 65204
          http://tug.org/svn/texlive?view=revision&revision=65204
Author:   karl
Date:     2022-12-05 22:23:48 +0100 (Mon, 05 Dec 2022)
Log Message:
-----------
lineno (5dec22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/lineno/CHANGEs.txt
    trunk/Master/texmf-dist/doc/latex/lineno/COPYING.txt
    trunk/Master/texmf-dist/doc/latex/lineno/SRCFILEs.txt
    trunk/Master/texmf-dist/doc/latex/lineno/fnlineno.pdf
    trunk/Master/texmf-dist/doc/latex/lineno/lineno.pdf
    trunk/Master/texmf-dist/doc/latex/lineno/lnosuppl.pdf
    trunk/Master/texmf-dist/doc/latex/lineno/ulineno.pdf
    trunk/Master/texmf-dist/tex/latex/lineno/ednmath0.sty
    trunk/Master/texmf-dist/tex/latex/lineno/edtable.sty
    trunk/Master/texmf-dist/tex/latex/lineno/fnlineno.sty
    trunk/Master/texmf-dist/tex/latex/lineno/lineno.sty
    trunk/Master/texmf-dist/tex/latex/lineno/vplref.sty
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/lineno/README.md
    trunk/Master/texmf-dist/doc/latex/lineno/fnlineno.tex
    trunk/Master/texmf-dist/doc/latex/lineno/lineno.tex
    trunk/Master/texmf-dist/doc/latex/lineno/linenoamsmathdemo.pdf
    trunk/Master/texmf-dist/doc/latex/lineno/linenoamsmathdemo.tex
    trunk/Master/texmf-dist/doc/latex/lineno/lnosuppl.tex
    trunk/Master/texmf-dist/doc/latex/lineno/ulineno.tex

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/lineno/README
    trunk/Master/texmf-dist/doc/latex/lineno/README.txt
    trunk/Master/texmf-dist/source/latex/lineno/

Modified: trunk/Master/texmf-dist/doc/latex/lineno/CHANGEs.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lineno/CHANGEs.txt	2022-12-05 10:28:48 UTC (rev 65203)
+++ trunk/Master/texmf-dist/doc/latex/lineno/CHANGEs.txt	2022-12-05 21:23:48 UTC (rev 65204)
@@ -1,165 +1,189 @@
+CHANGES  for lineno pkg v5.0   2022/07/30:
 
-CHANGES  for lineno bundle 2011/02/16:
+1. Merge in `linenoamsmath' patches.
 
-1. new fnlineno.sty for numbering footnote lines + \linelabel, 
+
+CHANGES  for lineno pkg        2011/02/16:
+
+1. new fnlineno.sty for numbering footnote lines + \linelabel,
 described in fnlineno.pdf
 
 2. new overview SRCFILEs.txt
 
+(From README.txt -- KW) numline obsolete, mirror.ctan.org, fnlineno,
+amsmath compatibility, CHANGEs.txt, lineno.tds.zip
 
-CHANGES  for lineno.sty v4.41  2005/11/02: 
 
-1. Loadable after amsmath. 
+CHANGES  for lineno.sty v4.41  2005/11/02:
 
-2. Removed some nonsense from documentation. 
+1. Loadable after amsmath.
 
+2. Removed some nonsense from documentation.
 
-CHANGES  for lineno.sty v4.4  2005/10/27 
-[failed to be uploaded to CTAN, but distributed by mail]: 
 
-1. Proper effective line depth at end of paragraphs. 
-   The spacing bug was quite obvious in two-column mode 
-   when a paragraph end was at a column bottom. 
+CHANGES  for lineno.sty v4.4   2005/10/27:
+[failed to be uploaded to CTAN, but distributed by mail]:
 
-2. Another bug concerning two-column mode that had been 
-   introduced in v4.22 has been removed again. 
+1. Proper effective line depth at end of paragraphs.
+   The spacing bug was quite obvious in two-column mode
+   when a paragraph end was at a column bottom.
 
-3. Support for \addvspace introduced more and more bugs 
-   in versions of v4.32 and v4.33. The reasons seem to 
-   be clear now, and v4.4 should be stable. 
+2. Another bug concerning two-column mode that had been
+   introduced in v4.22 has been removed again.
 
+3. Support for \addvspace introduced more and more bugs
+   in versions of v4.32 and v4.33. The reasons seem to
+   be clear now, and v4.4 should be stable.
 
-CHANGES  for lineno.sty v4.32  2005/10/17: 
 
-1. Support for \addvspace 
-   (a math display or a list meets a heading -- or a sub-heading 
-   follows a heading -- or the like) 
+CHANGES  for lineno.sty v4.32  2005/10/17:
 
-2. Clearly explained former option `displaymath' and its change 
-   to a default. 
+1. Support for \addvspace
+   (a math display or a list meets a heading -- or a sub-heading
+   follows a heading -- or the like)
 
+2. Clearly explained former option `displaymath' and its change
+   to a default.
 
-CHANGES  for lineno.sty v4.31  2005/10/01: 
 
-1. \modulolinenumbers* and a package option `modulo*' for 
-   printing first line number after interrupting editor's 
-   text, regardless of the modulo. 
+CHANGES  for lineno.sty v4.31  2005/10/01:
 
-2. Improved explanation of \firstlinenumber and package 
-   options. 
+1. \modulolinenumbers* and a package option `modulo*' for
+   printing first line number after interrupting editor's
+   text, regardless of the modulo.
 
+2. Improved explanation of \firstlinenumber and package
+   options.
 
-CHANGES  for lineno.sty v4.3  2005/05/16: 
 
-1. Option `displaymath' (proper numbering at paragraphs 
-   containing math displays) becomes default. 
+CHANGES  for lineno.sty v4.3   2005/05/16:
 
-2. Compatibility with hyperref now indeed (at least much more). 
+1. Option `displaymath' (proper numbering at paragraphs
+   containing math displays) becomes default.
 
-3. Tidied up documentation: terrible confusion of \newcounter 
-   vs. \stepcounter; sections on the same matter written at 
-   different times; ... 
+2. Compatibility with hyperref now indeed (at least much more).
 
-4. Additional internal improvements that perhaps hardly are 
-   observable (no more spurious linenumbers in math displays 
-   from vertical mode; some compatibity with packages that use 
-   \holdinginserts; \linelabel in headings etc.). 
+3. Tidied up documentation: terrible confusion of \newcounter
+   vs. \stepcounter; sections on the same matter written at
+   different times; ...
 
+4. Additional internal improvements that perhaps hardly are
+   observable (no more spurious linenumbers in math displays
+   from vertical mode; some compatibity with packages that use
+   \holdinginserts; \linelabel in headings etc.).
 
-CHANGES  for lineno.sty v4.22 2005/05/09: 
 
-1. Restored "global" version of numbering lines of a \parbox or 
-   minipage or ... (I had missed and disabled this in taking 
-   over lineno.sty), explained in documentation (lineno.pdf/dvi 
-   subsec. 7.2). 
+CHANGES  for lineno.sty v4.22  2005/05/09:
 
-2. Enabled \flushbottom in two-column pagewise or switching 
-   mode. 
+1. Restored "global" version of numbering lines of a \parbox or
+   minipage or ... (I had missed and disabled this in taking
+   over lineno.sty), explained in documentation (lineno.pdf/dvi
+   subsec. 7.2).
 
-3. Re-implemented modulo mode -- disabling certain users' tricks 
-   see lineno.pdf sec. 5.5, also for a still supported 
-   substituting trick. 
+2. Enabled \flushbottom in two-column pagewise or switching
+   mode.
 
-4. Tidied up setting the next line number globally vs. locally 
-   (TeXbook p. 301). 
+3. Re-implemented modulo mode -- disabling certain users' tricks
+   see lineno.pdf sec. 5.5, also for a still supported
+   substituting trick.
 
-5. Tidied up discussions (in documentation) of possible changes 
-   in implementation. 
+4. Tidied up setting the next line number globally vs. locally
+   (TeXbook p. 301).
 
+5. Tidied up discussions (in documentation) of possible changes
+   in implementation.
 
-CHANGES  for lineno.sty v4.21 2005/04/28: 
 
-Removed serious flaws with math display, + something ... 
+CHANGES  for lineno.sty v4.21  2005/04/28:
 
+Removed serious flaws with math display, + something ...
 
-CHANGES  for lineno.sty v4.2 2005/04/26: 
 
-1. Re-enabled package option `displaymath' (needed rearrangement 
-   after sec. 5). 
+CHANGES  for lineno.sty v4.2   2005/04/26:
 
-2. New package option `addpageno' for adding page numbers to 
-   line number references -- see sec. 6.1 of lineno.pdf. 
+1. Re-enabled package option `displaymath' (needed rearrangement
+   after sec. 5).
 
-3. Improved support for \includeonly (and improved sec. 5.3, 
-   p. 27). 
+2. New package option `addpageno' for adding page numbers to
+   line number references -- see sec. 6.1 of lineno.pdf.
 
-4. Improved compatibility with other packages that change \output 
-   (tameflts.sty, e.g., for saving footnotes against \marginpar 
-   and floats), added advice on this matter -- sec. 2.3, 
+3. Improved support for \includeonly (and improved sec. 5.3,
+   p. 27).
+
+4. Improved compatibility with other packages that change \output
+   (tameflts.sty, e.g., for saving footnotes against \marginpar
+   and floats), added advice on this matter -- sec. 2.3,
    pp. 7, 14f.
 
 
-CHANGES  for lineno.sty v4.11 2005/03/08: 
+CHANGES  for lineno.sty v4.11  2005/03/08:
 
-1. The `edtable' option now supports math environments like 
-`array'. This requires updating edtable.sty to v1.3. (The claim 
-in previous versions of edtable on this support simply was 
-wrong, sorry.) For how to make use of this support, we urge you 
-to read the usage instructions in edtable.sty (v1.3). These have 
-been extended very much, structured more clearly, and supplied 
-with examples. 
+1. The `edtable' option now supports math environments like
+`array'. This requires updating edtable.sty to v1.3. (The claim
+in previous versions of edtable on this support simply was
+wrong, sorry.) For how to make use of this support, we urge you
+to read the usage instructions in edtable.sty (v1.3). These have
+been extended very much, structured more clearly, and supplied
+with examples.
 
-2. \linelabel now complains when appearing outside line 
-numbering mode. This counters Stephan Boettcher's original 
-intention, but I generalize from my own experience that it is 
-helpful to be told when you have forgotten to switch into line 
-numbering mode and (e.g.) wonder why all the line number 
-references are 1 ... ednotes.sty users profit as well (at least 
-I expect and hope that anybody profits, which, to be sure, does 
-not mean that I hope that anybody forgets to switch ...). 
+2. \linelabel now complains when appearing outside line
+numbering mode. This counters Stephan Boettcher's original
+intention, but I generalize from my own experience that it is
+helpful to be told when you have forgotten to switch into line
+numbering mode and (e.g.) wonder why all the line number
+references are 1 ... ednotes.sty users profit as well (at least
+I expect and hope that anybody profits, which, to be sure, does
+not mean that I hope that anybody forgets to switch ...).
 
-3. The subsection on `edtable' in lineno.sty/tex/pdf was not 
-quite correct or complete -- corrected, improved. 
+3. The subsection on `edtable' in lineno.sty/tex/pdf was not
+quite correct or complete -- corrected, improved.
 
-4. The final list of user commands in lineno.sty/tex/pdf has not 
-been complete. This has not changed, but it is briefly explained 
-what is missing and where it can be found. 
+4. The final list of user commands in lineno.sty/tex/pdf has not
+been complete. This has not changed, but it is briefly explained
+what is missing and where it can be found.
 
 
-CHANGE  2005/01/20: 
+CHANGE  2005/01/20:
 
-We have devised macros for indexing with line numbers, 
-yet we don't take the time to release them officially. 
-If you are interested, please ask via 
+We have devised macros for indexing with line numbers,
+yet we don't take the time to release them officially.
+If you are interested, please ask via
 
-    http://contact-ednotes.sty.de.vu 
+    http://contact-ednotes.sty.de.vu
 
 
-CHANGES  for lineno.sty v4.1 2004/10/19: 
+CHANGES  for lineno.sty v4.1   2004/10/19:
 
-Extension packages from the Ednotes bundle for enabling 
-\linelabel in math mode and tabular environments are now 
-handled through new package options `mathrefs', `edtable', 
-`longtable', and `nolongtablepatch'. Two of these extension 
-packages moved from the ednotes folder to the lineno folder. 
-lineno.tex/pdf has been updated accordingly. 
+Extension packages from the Ednotes bundle for enabling
+\linelabel in math mode and tabular environments are now
+handled through new package options `mathrefs', `edtable',
+`longtable', and `nolongtablepatch'. Two of these extension
+packages moved from the ednotes folder to the lineno folder.
+lineno.tex/pdf has been updated accordingly.
+(From README.txt -- KW) minor fixes (removed `supported/', e.g.);
+bracketed text; lines with `(UL)'; redistribution with README only.
 
+CHANGES  for lineno.sty v4.00  2004/09/03:
 
-CHANGES  for lineno.sty v4.00 2004/09/03: 
+o incorporated earlier extension packages linenox0.sty,
+  linenox1.sty, lnopatch.sty (which belonged to the
+  Ednotes bundle before);
 
-o incorporated earlier extension packages linenox0.sty, 
-  linenox1.sty, lnopatch.sty (which belonged to the 
-  Ednotes bundle before); 
+o adopted LaTeX Project Public License v1.3.
 
-o adopted LaTeX Project Public License v1.3. 
 
+EARLIER CHANGES (From README.txt -- KW)
+
+-  2004-10-19  UL: package options for tabular and math
+-  2004-09-03  UL: merge Ednotes changes, taking over lineno.sty
+-  2002 .. 2003 FMi, UL, SiB: bug fixes
+-  2001-08-04 SiB: linenomath wrapping for \[ \]
+-  2001-07-30 SiB: [hyperref] option obsolete.
+-  2001-01-17 SiB: LaTeX class option [twocolumn] support
+-  2001-01-04 SiB: LaTeX class option [fleqn] support
+-  2000-12-18 SiB: longtable compatibility
+-  2000-07-01 SiB: extra \newlabel items, [hyperref] option
+-  2000-03-10 SiB: indirect call of \output, to work with multicol.
+-  1999-08-28 SiB: fixed the footnote problem using \holdinginserts
+-  1999-06-11 SiB: included the extensions into lineno.sty
+-  1999-03-02 SIB: Added LPPL License

Modified: trunk/Master/texmf-dist/doc/latex/lineno/COPYING.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lineno/COPYING.txt	2022-12-05 10:28:48 UTC (rev 65203)
+++ trunk/Master/texmf-dist/doc/latex/lineno/COPYING.txt	2022-12-05 21:23:48 UTC (rev 65204)
@@ -2,26 +2,24 @@
 %
 % The files in this directory are
 %
-% Copyright 1995--2003 Stephan I. B"ottcher <boettcher at physik.uni-kiel.de>; 
-% Copyright 2002--2005 Uwe L"uck, http://contact-ednotes.sty.de.vu, 
-%                      for versions 4.x and code from former Ednotes 
-%                      bundle--author-maintained. 
-% Copyright 2011       Uwe L"uck, http://contact-ednotes.sty.de.vu, 
-%                      for fnlineno.sty/tex/pdf 
-% 
-% The files can be redistributed and/or modified under 
-% the terms of the LaTeX Project Public License; either 
+% Copyright 1995--2003 Stephan I. Böttcher
+% Copyright 2002--2005 Uwe Lück for versions 4.x and code from former Ednotes
+% Copyright 2011       Uwe Lück for fnlineno.sty/tex/pdf
+% Copyright 2021--2022 Karl Wette for versions 5.x
+%
+% The files can be redistributed and/or modified under
+% the terms of the LaTeX Project Public License; either
 % version 1.3a of the License, or any later version.
 % The latest version of this license is in
 %     http://www.latex-project.org/lppl.txt
-% We did our best to help you, but there is NO WARRANTY. 
+% We did our best to help you, but there is NO WARRANTY.
 %
 % ============================================================================
-<- (UL) End of official declaration. 
+<- (UL) End of official declaration.
 
-History: 
+History:
+Update for version 5.x 2022/12/05 kw
 add. fnlineno          2011/02/16 ul
-This file -> The files 2004/10/12 ul 
+This file -> The files 2004/10/12 ul
 $Id: COPYING,v 3.0.2.1 2004/09/13 20:15:47 stephan Exp $
-LPPL v1.3a 2004/10/26 
-
+LPPL v1.3a 2004/10/26

Deleted: trunk/Master/texmf-dist/doc/latex/lineno/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lineno/README	2022-12-05 10:28:48 UTC (rev 65203)
+++ trunk/Master/texmf-dist/doc/latex/lineno/README	2022-12-05 21:23:48 UTC (rev 65204)
@@ -1,204 +0,0 @@
-README
-                      lineno.sty  v4.41
-                    fnlineno.sty  v0.55
-
-                         2011-02-16 
-
-The LaTeX package lineno.sty provides line numbers on paragraphs.
-After TeX has broken a paragraph into lines there will be line numbers
-attached to them, with the possibility to make references through the
-LaTeX \ref, \pageref cross reference mechanism.
-
-% Copyright 1995--2003 Stephan I. B"ottcher <boettcher at physik.uni-kiel.de>; 
-% Copyright 2002--2005 Uwe L"uck, http://www.contact-ednotes.sty.de.vu, 
-%                      for versions 4.x and code from former Ednotes 
-% Copyright 2011       Uwe L"uck as above, for fnlineno.sty/tex/pdf
-%                      bundle--author-maintained. 
-% 
-% The files listed below can be redistributed and/or modified under 
-% the terms of the LaTeX Project Public License; either 
-% version 1.3a of the License, or any later version.
-% The latest version of this license is in
-%     http://www.latex-project.org/lppl.txt
-% We did our best to help you, but there is NO WARRANTY. 
-
-** [ UL: A few festive words on history and responsibility   **
-**       are next preceding hard facts as to (see lower)     ** 
-**       o `Files'  and                                      ** 
-**       o `Installation and usage'.                       ] ** 
-
-2004-09-13 Uwe L"uck  [(UL)]  is new maintainer for lineno.sty. 
-
-lineno.sty served the purpose for which I wrote it years ago.  Uwe
-L"uck uses lineno.sty with his Ednotes package, which required quite a
-few changes and fixes.  His package depends on lineno, therefore
-Uwe agreed to take over the maintenance of lineno.sty.
-
-lineno.sty v4.0 includes most of the well tested changes that Uwe
-needs for Ednotes.  These changes blend well into the concepts of the
-package, so I am happy to let it go.  
-
-From here on it is Uwe's, and he may proceed to mangle it as he likes.
-Expect some radical changes.  You may find him to be quite a bit
-friendlier towards the poor souls who still use Windows :-).
-Currently, you need some kind of Unix environment to extract the
-source documentation from the sty file.
-
-If some version 3 users run into difficulties with Uwe's newer
-versions, but need a minor bug-fix in version 3, please do not
-hesitate to ask me for help.  But all requests for new features or
-major changes shall go to Uwe.
-
-Cheers
-Stephan
-
-
-[ Thanks!  And please let me know as well should 
-  compatibility problems arise!  The announced radical 
-  changes are postponed again this time (v4.1). 
-  --Ednotes is in 
-    http://mirror.ctan.org/macros/latex/contrib/ednotes.
-                                                   Uwe ] 
-
-
-Changes: see CHANGEs.txt; earlier:
-
-   2004-10-19  UL: package options for tabular and math 
-   2004-09-03  UL: merge Ednotes changes, taking over lineno.sty
-
-   2002 .. 2003 FMi, UL, SiB: bug fixes
-   2001-08-04 SiB: linenomath wrapping for \[ \]
-   2001-07-30 SiB: [hyperref] option obsolete.
-   2001-01-17 SiB: LaTeX class option [twocolumn] support
-   2001-01-04 SiB: LaTeX class option [fleqn] support
-   2000-12-18 SiB: longtable compatibility
-   2000-07-01 SiB: extra \newlabel items, [hyperref] option
-   2000-03-10 SiB: indirect call of \output, to work with multicol.
-   1999-08-28 SiB: fixed the footnote problem using \holdinginserts
-   1999-06-11 SiB: included the extensions into lineno.sty
-   1999-03-02 SIB: Added LPPL License
-
-
-Files (cf. SRCFILEs.txt):
-
-   README.txt    This file.                              (v4.1: UL)
-   CHANGEs.txt   Differences to previous versions.       (v4.1: UL)
-   COPYING.txt   The LPPL header.
-   SCRFILEs.txt  Source file infos                       (UL 2011)
-   lineno.sty    The package itself, ready to use.
-   edtable.sty   Module for tabular environments.        (UL, v4.1) 
-   ednmath0.sty  Module for \linelabel in math mode.     (UL, v4.1) 
-   fnlineno.sty  Add-on for footnote line numbers        (UL, v0.55)
-   lineno.tex    The source for the documentation (generated)
-   lineno.pdf    PDF deriving from the former.           (v4.1: UL)
-   lnosuppl.pdf  PDF listing of present non-PDF files 
-   ulineno.tex   The pathetic attempt of a users' manual. 
-                 [Describes v3.1 currently.]             (UL, v4.1) 
-   ulineno.pdf   PDF of former.
-   vplref.sty    Conditionally include page number in 
-                 line number references                  (UL, v4.2) 
-
-     As of version v3.00, the extension packages for lineno have all been
-     incorporated into lineno.sty itself.  Except for itemrule.sty,
-     which was removed.
-
-Home:
-
-   http://mirror.ctan.org/macros/latex/contrib/lineno/
-
-TDS version:
-
-   http://mirror.ctan.org/install/macros/latex/contrib/lineno.tds.zip
-
-Authors:
-
-   Uwe L"uck <http://contact-ednotes.sty@web.de>
-   Stephan I. B"ottcher <boettcher at physik.uni-kiel.de>
-
-Compatibility with other packages:
-
-   wrapfig.sty   works since v2.05
-
-   multicol.sty  works partly since 3.02.  
-                 Do NOT use \linelabel.  Do NOT put a multicol in
-                 internal vertical mode {table}, {figure}, etc.
-
-   hyperref.sty  \ref to a \linelabel works since v3.03.
-
-   longtable.sty broke with lineno.sty loaded, but not enabled. 
-                 This is fixed in v3.04.
-
-   amsmath.sty   loadable, but not fully supported, with v4.41
-
-Installation and usage (UL, v4.1): 
-
-   For being able to use ALL the new lineno.sty options, the 
-   following files must be "visible" to (La)TeX ("visible" 
-   explained below for beginners): 
-
-     lineno.sty, edtable.sty, ednmath0.sty, ltabptch.sty 
- 
-   as above ("Home", note that clicking on "entire directory" 
-   suffices); 
-
-     longtable.sty -- from the standard LaTeX Tools bundle. 
-
-   Usage always starts with loading lineno.sty by \usepackage. 
-   The remaining .sty files are loaded automatically on the 
-   lineno.sty options (and we recommend not to load them through 
-   [the mandatory argument of] \usepackage). 
- 
-   For details, see lineno.tex/pdf and the .sty files mentioned 
-   above--search especially for tabular and math mode. 
-   (+ `print' below here). 
- 
-   "Visible to (LaTeX)": Some users don't understand this 
-   "visibility" for a while, and indeed it may be somewhat 
-   non-trivial. These users may find help in 
-
-      http://mirror.ctan.org/macros/latex/ednotes/visible.txt .
-
-   E.g., former users of lineno.sty may just put all the .sty 
-   files into the folder (at their workplace) where they had 
-   placed lineno.sty before.                     (/UL, /v4.1)
-
-To print the documented source:
-
-   Take the style-file `lineno.sty', and feed it to a Un*x shell. 
-   (Or download the extracted source documentation `lineno.tex'.)
-
-      csh> source ./lineno.sty
-      sh>  . ./lineno.sty
-
-   [ I.e., type `sh lineno.sty' (e.g.) as a UNIX command line. 
-     Problems with awk may arise. I therefore switched to nawk 
-     in lineno.sty v4.00, but this may trouble you as well.    (UL) ] 
-
-   (Please ignore the error message at the beginning about the iffalse.)
-
-
-Please have a look at a similar work of Michal Jaegermann and James
-Fortune:
-         http://mirror.ctan.org/obsolete/macros/latex/contrib/numline/
-
-
-
-
-
-==============================================================================
-<- End of official README.txt (UL) 
-
-Changes Feb. 2011: numline obsolete, mirror.ctan.org, fnlineno, 
-amsmath compatibility, CHANGEs.txt, lineno.tds.zip
-Changes for v4.1 (Oct. 2004): minor fixes (removed `supported/', e.g.); 
-bracketed text; lines with `(UL)'; redistribution with README only. 
-Formerly: 
-
-                      lineno.sty  v4.0
-
-     $Id: README,v 3.6.2.1 2004/09/13 20:15:47 stephan Exp $
-
-   CTAN:macros/latex/contrib/supported/lineno
-         CTAN:macros/latex/contrib/supported/numline/
-
-

Added: trunk/Master/texmf-dist/doc/latex/lineno/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lineno/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/lineno/README.md	2022-12-05 21:23:48 UTC (rev 65204)
@@ -0,0 +1,146 @@
+# lineno.sty v5.0, fnlineno.sty v0.55
+
+2022-11-29
+
+The LaTeX package lineno.sty provides line numbers on paragraphs.  After TeX has
+broken a paragraph into lines there will be line numbers attached to them, with
+the possibility to make references through the LaTeX \ref, \pageref cross
+reference mechanism.
+
+- Copyright 1995--2003 Stephan I. Böttcher
+- Copyright 2002--2005 Uwe Lück for versions 4.x and code from former Ednotes
+- Copyright 2011       Uwe Lück for fnlineno.sty/tex/pdf
+- Copyright 2021--2022 Karl Wette for versions 5.x
+
+The files can be redistributed and/or modified under
+the terms of the LaTeX Project Public License; either
+version 1.3a of the License, or any later version.
+The latest version of this license is in http://www.latex-project.org/lppl.txt.
+We did our best to help you, but there is NO WARRANTY.
+
+Home: http://mirror.ctan.org/macros/latex/contrib/lineno/
+
+Authors:
+
+- Stephan I. Böttcher
+- Uwe Lück
+- Karl Wette
+
+## Compatibility with other packages:
+
+- `wrapfig.sty`: works since v2.05
+
+- `multicol.sty`: works partly since 3.02.  Do NOT use \linelabel.  Do NOT put a
+  multicol in internal vertical mode {table}, {figure}, etc.
+
+- `hyperref.sty`: \ref to a \linelabel works since v3.03.
+
+- `longtable.sty`: broke with lineno.sty loaded, but not enabled.  This is fixed
+  in v3.04.
+
+- `amsmath.sty`: loadable, but not fully supported, with v4.41.  Fully supported
+  with v5.0.
+
+## Installation and usage (UL, v4.1):
+
+For being able to use ALL the new `lineno.sty` options, the following files must
+be "visible" to (La)TeX ("visible" explained below for beginners):
+
+```lineno.sty, edtable.sty, ednmath0.sty, ltabptch.sty```
+
+as above ("Home", note that clicking on "entire directory" suffices);
+
+`longtable.sty` -- from the standard LaTeX Tools bundle.
+
+Usage always starts with loading lineno.sty by `\usepackage`.  The remaining
+`.sty` files are loaded automatically on the `lineno.sty` options (and we
+recommend not to load them through [the mandatory argument of] `\usepackage`).
+
+For details, see `lineno.tex/pdf` and the `.sty` files mentioned above--search
+especially for tabular and math mode.  (+ `print' below here).
+
+"Visible to (LaTeX)": Some users don't understand this "visibility" for a while,
+and indeed it may be somewhat non-trivial. These users may find help in
+https://mirrors.ctan.org/macros/latex/contrib/ednotes/visible.txt . E.g., former users of
+lineno.sty may just put all the .sty files into the folder (at their workplace)
+where they had placed lineno.sty before.  (/UL, /v4.1)
+
+To print the documented source: Take the style-file `lineno.sty`, and feed it to
+a Un*x shell.  (Or download the extracted source documentation `lineno.tex'.)
+```
+csh> source ./lineno.sty
+sh>  . ./lineno.sty
+```
+[ i.e., type `sh lineno.sty` (e.g.) as a UNIX command line.  Problems with awk
+may arise. I therefore switched to nawk in lineno.sty v4.00, but this may
+trouble you as well.  (UL) ] (Please ignore the error message at the beginning
+about the iffalse.)
+
+## Files
+
+(cf. `SRCFILEs.txt`):
+
+- `README.txt`: This file. (v4.1: UL)
+- `CHANGEs.txt`: Differences to previous versions. (v4.1: UL)
+- `COPYING.txt`: The LPPL header.
+- `SCRFILEs.txt`: Source file infos (UL 2011)
+- `lineno.sty`: The package itself, ready to use.
+- `edtable.sty`: Module for tabular environments. (UL, v4.1)
+- `ednmath0.sty`: Module for \linelabel in math mode. (UL, v4.1)
+- `fnlineno.sty`: Add-on for footnote line numbers (UL, v0.55)
+- `lineno.tex`: The source for the documentation (generated)
+- `lineno.pdf`: PDF deriving from the former. (v4.1: UL)
+- `lnosuppl.pdf`: PDF listing of present non-PDF files
+- `ulineno.tex`: The pathetic attempt of a users' manual. [Describes v3.1 currently.] (UL, v4.1)
+- `ulineno.pdf`: PDF of former.
+- `vplref.sty`: Conditionally include page number in line number references (UL, v4.2)
+- `linenoamsmathdemo.tex`: Demo of making amsmath work with lineno (KW, v5.0)
+
+As of version v3.00, the extension packages for lineno have all been
+incorporated into `lineno.sty` itself.  Except for `itemrule.sty`, which was
+removed.
+
+## History
+
+(Prior to my taking over maintenance of the package -- KW)
+
+    ** [ UL: A few festive words on history and responsibility   **
+    **       are next preceding hard facts as to (see lower)     **
+    **       o `Files'  and                                      **
+    **       o `Installation and usage'.                       ] **
+
+    2004-09-13 Uwe L"uck  [(UL)]  is new maintainer for lineno.sty.
+
+    lineno.sty served the purpose for which I wrote it years ago.  Uwe
+    L"uck uses lineno.sty with his Ednotes package, which required quite a
+    few changes and fixes.  His package depends on lineno, therefore
+    Uwe agreed to take over the maintenance of lineno.sty.
+
+    lineno.sty v4.0 includes most of the well tested changes that Uwe
+    needs for Ednotes.  These changes blend well into the concepts of the
+    package, so I am happy to let it go.
+
+    From here on it is Uwe's, and he may proceed to mangle it as he likes.
+    Expect some radical changes.  You may find him to be quite a bit
+    friendlier towards the poor souls who still use Windows :-).
+    Currently, you need some kind of Unix environment to extract the
+    source documentation from the sty file.
+
+    If some version 3 users run into difficulties with Uwe's newer
+    versions, but need a minor bug-fix in version 3, please do not
+    hesitate to ask me for help.  But all requests for new features or
+    major changes shall go to Uwe.
+
+    Cheers
+    Stephan
+
+    [ Thanks!  And please let me know as well should
+      compatibility problems arise!  The announced radical
+      changes are postponed again this time (v4.1).
+      --Ednotes is in
+        http://mirror.ctan.org/macros/latex/contrib/ednotes.
+                                                       Uwe ]
+
+    Please have a look at a similar work of Michal Jaegermann and James
+    Fortune:
+             http://mirror.ctan.org/obsolete/macros/latex/contrib/numline/


Property changes on: trunk/Master/texmf-dist/doc/latex/lineno/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/latex/lineno/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lineno/README.txt	2022-12-05 10:28:48 UTC (rev 65203)
+++ trunk/Master/texmf-dist/doc/latex/lineno/README.txt	2022-12-05 21:23:48 UTC (rev 65204)
@@ -1,204 +0,0 @@
-README
-                      lineno.sty  v4.41
-                    fnlineno.sty  v0.55
-
-                         2011-02-16 
-
-The LaTeX package lineno.sty provides line numbers on paragraphs.
-After TeX has broken a paragraph into lines there will be line numbers
-attached to them, with the possibility to make references through the
-LaTeX \ref, \pageref cross reference mechanism.
-
-% Copyright 1995--2003 Stephan I. B"ottcher <boettcher at physik.uni-kiel.de>; 
-% Copyright 2002--2005 Uwe L"uck, http://www.contact-ednotes.sty.de.vu, 
-%                      for versions 4.x and code from former Ednotes 
-% Copyright 2011       Uwe L"uck as above, for fnlineno.sty/tex/pdf
-%                      bundle--author-maintained. 
-% 
-% The files listed below can be redistributed and/or modified under 
-% the terms of the LaTeX Project Public License; either 
-% version 1.3a of the License, or any later version.
-% The latest version of this license is in
-%     http://www.latex-project.org/lppl.txt
-% We did our best to help you, but there is NO WARRANTY. 
-
-** [ UL: A few festive words on history and responsibility   **
-**       are next preceding hard facts as to (see lower)     ** 
-**       o `Files'  and                                      ** 
-**       o `Installation and usage'.                       ] ** 
-
-2004-09-13 Uwe L"uck  [(UL)]  is new maintainer for lineno.sty. 
-
-lineno.sty served the purpose for which I wrote it years ago.  Uwe
-L"uck uses lineno.sty with his Ednotes package, which required quite a
-few changes and fixes.  His package depends on lineno, therefore
-Uwe agreed to take over the maintenance of lineno.sty.
-
-lineno.sty v4.0 includes most of the well tested changes that Uwe
-needs for Ednotes.  These changes blend well into the concepts of the
-package, so I am happy to let it go.  
-
-From here on it is Uwe's, and he may proceed to mangle it as he likes.
-Expect some radical changes.  You may find him to be quite a bit
-friendlier towards the poor souls who still use Windows :-).
-Currently, you need some kind of Unix environment to extract the
-source documentation from the sty file.
-
-If some version 3 users run into difficulties with Uwe's newer
-versions, but need a minor bug-fix in version 3, please do not
-hesitate to ask me for help.  But all requests for new features or
-major changes shall go to Uwe.
-
-Cheers
-Stephan
-
-
-[ Thanks!  And please let me know as well should 
-  compatibility problems arise!  The announced radical 
-  changes are postponed again this time (v4.1). 
-  --Ednotes is in 
-    http://mirror.ctan.org/macros/latex/contrib/ednotes.
-                                                   Uwe ] 
-
-
-Changes: see CHANGEs.txt; earlier:
-
-   2004-10-19  UL: package options for tabular and math 
-   2004-09-03  UL: merge Ednotes changes, taking over lineno.sty
-
-   2002 .. 2003 FMi, UL, SiB: bug fixes
-   2001-08-04 SiB: linenomath wrapping for \[ \]
-   2001-07-30 SiB: [hyperref] option obsolete.
-   2001-01-17 SiB: LaTeX class option [twocolumn] support
-   2001-01-04 SiB: LaTeX class option [fleqn] support
-   2000-12-18 SiB: longtable compatibility
-   2000-07-01 SiB: extra \newlabel items, [hyperref] option
-   2000-03-10 SiB: indirect call of \output, to work with multicol.
-   1999-08-28 SiB: fixed the footnote problem using \holdinginserts
-   1999-06-11 SiB: included the extensions into lineno.sty
-   1999-03-02 SIB: Added LPPL License
-
-
-Files (cf. SRCFILEs.txt):
-
-   README.txt    This file.                              (v4.1: UL)
-   CHANGEs.txt   Differences to previous versions.       (v4.1: UL)
-   COPYING.txt   The LPPL header.
-   SCRFILEs.txt  Source file infos                       (UL 2011)
-   lineno.sty    The package itself, ready to use.
-   edtable.sty   Module for tabular environments.        (UL, v4.1) 
-   ednmath0.sty  Module for \linelabel in math mode.     (UL, v4.1) 
-   fnlineno.sty  Add-on for footnote line numbers        (UL, v0.55)
-   lineno.tex    The source for the documentation (generated)
-   lineno.pdf    PDF deriving from the former.           (v4.1: UL)
-   lnosuppl.pdf  PDF listing of present non-PDF files 
-   ulineno.tex   The pathetic attempt of a users' manual. 
-                 [Describes v3.1 currently.]             (UL, v4.1) 
-   ulineno.pdf   PDF of former.
-   vplref.sty    Conditionally include page number in 
-                 line number references                  (UL, v4.2) 
-
-     As of version v3.00, the extension packages for lineno have all been
-     incorporated into lineno.sty itself.  Except for itemrule.sty,
-     which was removed.
-
-Home:
-
-   http://mirror.ctan.org/macros/latex/contrib/lineno/
-
-TDS version:
-
-   http://mirror.ctan.org/install/macros/latex/contrib/lineno.tds.zip
-
-Authors:
-
-   Uwe L"uck <http://contact-ednotes.sty@web.de>
-   Stephan I. B"ottcher <boettcher at physik.uni-kiel.de>
-
-Compatibility with other packages:
-
-   wrapfig.sty   works since v2.05
-
-   multicol.sty  works partly since 3.02.  
-                 Do NOT use \linelabel.  Do NOT put a multicol in
-                 internal vertical mode {table}, {figure}, etc.
-
-   hyperref.sty  \ref to a \linelabel works since v3.03.
-
-   longtable.sty broke with lineno.sty loaded, but not enabled. 
-                 This is fixed in v3.04.
-
-   amsmath.sty   loadable, but not fully supported, with v4.41
-
-Installation and usage (UL, v4.1): 
-
-   For being able to use ALL the new lineno.sty options, the 
-   following files must be "visible" to (La)TeX ("visible" 
-   explained below for beginners): 
-
-     lineno.sty, edtable.sty, ednmath0.sty, ltabptch.sty 
- 
-   as above ("Home", note that clicking on "entire directory" 
-   suffices); 
-
-     longtable.sty -- from the standard LaTeX Tools bundle. 
-
-   Usage always starts with loading lineno.sty by \usepackage. 
-   The remaining .sty files are loaded automatically on the 
-   lineno.sty options (and we recommend not to load them through 
-   [the mandatory argument of] \usepackage). 
- 
-   For details, see lineno.tex/pdf and the .sty files mentioned 
-   above--search especially for tabular and math mode. 
-   (+ `print' below here). 
- 
-   "Visible to (LaTeX)": Some users don't understand this 
-   "visibility" for a while, and indeed it may be somewhat 
-   non-trivial. These users may find help in 
-
-      http://mirror.ctan.org/macros/latex/ednotes/visible.txt .
-
-   E.g., former users of lineno.sty may just put all the .sty 
-   files into the folder (at their workplace) where they had 
-   placed lineno.sty before.                     (/UL, /v4.1)
-
-To print the documented source:
-
-   Take the style-file `lineno.sty', and feed it to a Un*x shell. 
-   (Or download the extracted source documentation `lineno.tex'.)
-
-      csh> source ./lineno.sty
-      sh>  . ./lineno.sty
-
-   [ I.e., type `sh lineno.sty' (e.g.) as a UNIX command line. 
-     Problems with awk may arise. I therefore switched to nawk 
-     in lineno.sty v4.00, but this may trouble you as well.    (UL) ] 
-
-   (Please ignore the error message at the beginning about the iffalse.)
-
-
-Please have a look at a similar work of Michal Jaegermann and James
-Fortune:
-         http://mirror.ctan.org/obsolete/macros/latex/contrib/numline/
-
-
-
-
-
-==============================================================================
-<- End of official README.txt (UL) 
-
-Changes Feb. 2011: numline obsolete, mirror.ctan.org, fnlineno, 
-amsmath compatibility, CHANGEs.txt, lineno.tds.zip
-Changes for v4.1 (Oct. 2004): minor fixes (removed `supported/', e.g.); 
-bracketed text; lines with `(UL)'; redistribution with README only. 
-Formerly: 
-
-                      lineno.sty  v4.0
-
-     $Id: README,v 3.6.2.1 2004/09/13 20:15:47 stephan Exp $
-
-   CTAN:macros/latex/contrib/supported/lineno
-         CTAN:macros/latex/contrib/supported/numline/
-
-

Modified: trunk/Master/texmf-dist/doc/latex/lineno/SRCFILEs.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lineno/SRCFILEs.txt	2022-12-05 10:28:48 UTC (rev 65203)
+++ trunk/Master/texmf-dist/doc/latex/lineno/SRCFILEs.txt	2022-12-05 21:23:48 UTC (rev 65204)
@@ -1,15 +1,10 @@
-
- *File List*
- edtable.sty    2005/10/03 v1.3c arrays with lineno + ednotes (ul)
-ednmath0.sty    2005/01/10 v0.2b math support for lineno/ednotes (ul)
-fnlineno.sty    2011/01/07 v0.55 numbers to footnote lines (UL)
-  lineno.sty    2005/11/02 line numbers on paragraphs v4.41
-  vplref.sty    2005/04/25 v0.2a page-line cross-refs
-fnlineno.tex    2011/02/14 documenting fnlineno.sty (UL)
-lnosuppl.tex    2011/02/16 documenting supplementary files
- ulineno.tex    2001/08/03 lineno.sty users manual
- ***********
-
- List made at 2011/02/16, 12:41
- from script file srcfiles.tex
-
+ednmath0.sty            2005/01/10 v0.2b math support for lineno/ednotes (ul)
+edtable.sty             2005/10/03 v1.3c arrays with lineno + ednotes (ul)
+fnlineno.sty            2011/01/07 v0.55 numbers to footnote lines (UL)
+lineno.sty              2022/07/30 line numbers on paragraphs v5.0
+vplref.sty              2005/04/25 v0.2a page-line cross-refs
+fnlineno.tex            2011/02/14 documenting fnlineno.sty (UL)
+lineno.tex              2022/07/30 line numbers on paragraphs v5.0
+lnosuppl.tex            2011/02/16 documenting supplementary files
+ulineno.tex             2001/08/03 lineno.sty users manual
+linenoamsmathdemo.tex   2021/09/30 Make amsmath work with lineno

Modified: trunk/Master/texmf-dist/doc/latex/lineno/fnlineno.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/lineno/fnlineno.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lineno/fnlineno.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/lineno/fnlineno.tex	2022-12-05 21:23:48 UTC (rev 65204)
@@ -0,0 +1,92 @@
+\ProvidesFile{fnlineno.tex}
+             [2011/02/14 documenting fnlineno.sty (UL)]
+\title{\textsf{fnlineno.sty}\\---\\Numbering Footnote Lines\thanks{This
+       document %%% manual %% 2010/12/28
+       describes version
+       \textcolor{blue}{\UseVersionOf{fnlineno.sty}}
+       of \textsf{fnlineno.sty} as of \UseDateOf{fnlineno.sty}.}}
+% \listfiles                                          %% 2010/12/22
+{ \RequirePackage{makedoc}[2010/12/20] \ProcessLineMessage{}
+  \MakeJobDoc{19}{\SectionLevelThreeParseInput}     %% 2010/12/16
+}
+\documentclass{article}%% TODO paper dimensions!?
+\input{makedoc.cfg} %% shared formatting settings
+%% 2022/07/30   \newcommand*{\lt}{<} \newcommand*{\gt}{>}           %% 2010/12/22
+\providecommand*{\strong}{\textbf}                  %% 2010/12/15
+\ReadPackageInfos{fnlineno}
+\usepackage{color}
+% \hypersetup{bookmarksopen}    %% rm. 2010/12/21, cf. .cfg
+%% 2010/12/21: %% 2010/12/26 not sure, splits code
+% \makeatletter \@beginparpenalty\@highpenalty \makeatother
+%% 2010/12/27:
+\makeatletter \@beginparpenalty\@lowpenalty \makeatother
+\sloppy
+\begin{document}
+\maketitle
+\begin{abstract}\noindent
+'fnlineno.sty' extends
+% Stephan~I. B\"ottcher's
+\CtanPkgRef{lineno}{lineno.sty}\urlpkgfoot{lineno}
+(created by Stephan~I. B\"ottcher)
+such that even
+`\footnote'                                 %% `\' 2010/12/09
+lines are numbered and can be referred to
+using `\linelabel', `\ref', etc.
+%% rm. 2011/02/09:
+% Version v0.5 aims at working as a user expects
+% (just cf.~``Limitations"), otherwise please complain!
+
+Making the package was motivated as support for
+\emph{critical editions}
+% of scientific work from an age when footnotes
+% were a standard in publishing in print,
+%% <- 2011/02/09 ->
+of \emph{printed works with footnotes}
+as opposed to scholarly critical editions of \emph{manuscripts.}
+For this purpose, an extension 'edfnotes' of the \ctanpkgref{ednotes}
+package for critical editions, building on 'fnlineno', is provided
+by the \textit{ednotes} bundle.\urlfoot{CtanPkgRef}{ednotes}
+
+'lineno.sty' has also been used for the revision process
+of \emph{submissions.}
+With 'fnlineno.sty', reference to footnotes
+in the submitted work may become possible.
+
+%% rm. 2011/02/09:
+% Another standalone package 'finstrut' is described.
+As to \emph{implementation:}    %% 2011/02/14
+1.~Some included tools for
+\emph{storing and restoring global settings}
+may be ``exported" as standalone packages later.
+2.~The method of typesetting footnotes on the main vertical list
+may later lead to applying the line numbering method to
+several \emph{parallel} texts (with footnotes) and to
+`inner' material such as table cells.
+%% <- 2011/02/14 ->
+% \dots
+
+%% new 2011/02/09:
+  \smallskip\noindent
+\strong{Keywords:}\quad line numbers; footnotes, pagewise,
+critical editions, revision
+\end{abstract}
+\tableofcontents
+
+%   \newpage                    %% rm. 2011/02/09
+\section{Usage and Features}
+\subsection{Package File Header (Legalize)}
+\input{fnlineno.doc}
+\end{document}
+
+VERSION HISTORY
+
+2010/12/08  for v0.1    very first
+2010/12/09  for v0.2    moved much to .sty
+2010/12/15  for v0.4    \strong
+2010/12/16              \SectionLevelThree...
+2010/12/22ff.           beginparpenalty varied
+2010/12/28  for v0.5    abstract extended
+2011/02/09              removing `finstrut'; mention `edfnotes'
+2011/02/10              using \urlpkgfoot etc.
+2011/02/14              abstract modified
+2022/07/30              comment out \lt, \gt commands


Property changes on: trunk/Master/texmf-dist/doc/latex/lineno/fnlineno.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/lineno/lineno.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/lineno/lineno.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lineno/lineno.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/lineno/lineno.tex	2022-12-05 21:23:48 UTC (rev 65204)
@@ -0,0 +1,3225 @@
+\def\fileversion{v5.0}  \def\filedate{2022/07/30}                     
+
+\title{\texttt{\itshape
+lineno.sty \ \fileversion\ \filedate
+\unskip}\\\ \\
+A \LaTeX\ package  to attach
+\\        line numbers to paragraphs
+\unskip}\author{%
+Stephan I. B\"ottcher
+\\          Uwe L\"uck
+\unskip}\date{%
+boettcher at physik.uni-kiel.de
+\\        http://contact-ednotes.sty.de.vu
+\\}
+
+\documentclass[a4paper,12pt]{article}%D
+\usepackage{lineno}%D
+\usepackage{hyperref}%D
+\catcode`\_\active\let_~
+\def~{\verb~}
+\let\lessthan<
+\catcode`\<\active
+\def<#1>{$\langle${\itshape#1}\/$\rangle$}
+\catcode`\|\active
+\def|#1{\ttfamily\string#1}
+\newenvironment{code}
+{\par\runninglinenumbers
+\modulolinenumbers[1]%
+\linenumbersep.3em
+\footnotesize
+\def\linenumberfont
+{\normalfont\tiny\itshape}}
+{}
+{\makeatletter \gdef\scs#1{\texttt
+{\protect\@backslashchar#1}}}
+\def\old{\par\footnotesize}
+{\catcode`\/\active
+\gdef\path{\begingroup\catcode`\/\active
+\let/\slash\dopath}
+\gdef\dopath#1{\slash\unpenalty#1\endgroup}}
+
+\begin{document}%D
+\pagewiselinenumbers
+\maketitle
+\pagestyle{headings}
+\tableofcontents
+\sloppy
+
+\section{%
+Introductions
+\unskip}
+
+(New v4.00)           Parts of former first section
+have been rendered separate subsections for package
+version_v4.00.                         (/New v4.00)
+
+\subsection{%
+Introduction to versions $\textrm{v}\lessthan4$
+\unskip}
+
+This package provides line numbers on paragraphs.
+After \TeX\ has broken a paragraph into lines there will
+be line numbers attached to them, with the possibility to
+make references  through the \LaTeX\ ~\ref~, ~\pageref~
+cross reference mechanism.  This includes four issues:
+\begin{itemize}
+\item   attach a line number on each line,
+\item   create references to a line number,
+\item   control line numbering mode,
+\item   count the lines and print the numbers.
+\end{itemize}
+The first two points are implemented through patches to
+the output routine.  The third by redefining ~\par~, ~\@par~
+and ~\@@par~.  The counting is easy, as long as you want
+the line numbers run through the text.  If they shall
+start over at the top of each page, the aux-file as well
+as \TeX s memory have to carry a load for each counted line.
+
+I wrote this package for my wife Petra, who needs it for
+transcriptions of interviews.  This allows her to
+precisely refer to passages in the text.  It works well
+together with ~\marginpar~s, but not too well with displaymath.
+~\footnote~s are a problem, especially when they
+are split, but we may get there.
+(New v4.00 UL) Version v4.00 overcomes the problem, I believe.
+(/UL /New v4.00)
+
+lineno.sty works
+surprisingly well with other packages, for
+example, ~wrapfig.sty~.  So please try if it
+works with whatever you need, and if it does,
+please tell me, and if it does not, tell me as
+well, so I can try to fix it.
+
+\subsection{%
+Introduction to versions v4.00ff. (UL)
+\unskip}
+
+~lineno.sty~ has been maintained by Stephan until version_v3.14.
+From version_v4.00 onwards, maintenance is shifting towards
+Uwe L\"uck (UL), who is the author of v4\dots code and of v4\dots
+changes in documentation. This came about as follows.
+
+Since late 2002, Christian Tapp and Uwe L\"uck have employed
+~lineno.sty~ for their ~ednotes.sty~, a package supporting
+critical editions---cf.
+\[\mbox{\tt
+http://ednotes.sty.de.vu
+\unskip}\]
+---while you find ~ednotes.sty~ and surrounding files in
+CTAN folder \path{macros/latex/contrib/ednotes}.
+
+Soon, some weaknesses of ~lineno.sty~ showed up, mainly since
+Christian's critical editions (using ~ednotes.sty~) needed lots
+of ~\linelabel~s and footnotes. (These weaknesses are due to
+weaknesses of \LaTeX's ~\marginpar~ mechanism that Stephan
+used for ~\linelabel~.) So we changed some ~lineno.sty~
+definitions in some extra files, which moreover offered new
+features. We sent these files to Stephan, hoping he would take
+the changes into ~lineno.sty~. However, he was too short of time.
+
+Writing a TUGboat article on Ednotes in 2004, we hoped to
+reduce the number of files in the Ednotes bundle and so asked
+Stephan again. Now he generously offered maintenance to me, so
+I could execute the changes on my own.
+
+The improvements are as follows:
+\begin{itemize}\item
+[(i)]   Footnotes placement approaches intentions better
+(footnotes formerly liked to pile up at late pages).
+\item
+[(ii)]  The number of ~\linelabel~s in one paragraph is no longer
+limited to 18.
+\item
+[(iii)] ~\pagebreak~, ~\nopagebreak~, ~\vspace~, and the star
+and optional versions of ~\\~ work as one would expect
+(section_\ref{s:MVadj}).                                   %% Added for v4.1
+\item
+[(iv)]  A command is offered which chooses the first line number
+to be printed in the margin
+(subsection_\ref{ss:Mod}).                                 %% Added for v4.1
+\item
+[(v)]   (New v4.1) \LaTeX\ tabular environments (optionally)
+get line numbers as well, and you can refer to them in the
+usual automatic way. (It may be considered a shortcoming that,
+precisely, \emph{rows} are numbered, not lines.---See
+subsection_\ref{ss:Tab}.)
+\item
+[(vi)]  We are moving towards referring to math items
+(subsection_\ref{ss:MathRef} and the hooks in
+subsection_\ref{ss:LL}).
+(/New v4.1)
+\end{itemize}
+(Thanks to Stephan for making this possible!)
+
+
+Ednotes moreover profits from Stephan's offer with regard
+to the documentation of our code which yielded these
+improvements formerly. This documentation now becomes
+printable, being part of the ~lineno.sty~ documentation.
+
+Of course, Stephan's previous ~lineno.sty~ versions were a great
+and ingenious work and exhibit greatest \TeX pertise. I never
+could have done this. I learnt a lot in studying the code when
+Christian pointed out strange output results and error
+messages, and there are still large portions of ~lineno.sty~
+which I don't understand (consider only pagewise numbering of
+lines). Fortunately, Stephan has offered future help if
+needed.---My code for attaching line numbers to \emph{tabular
+environments} (as mentioned above, now still in
+~edtable.sty~) %%                                                      %% TODO
+developed from macros which Stephan and Christian experimented
+with in December 2002. Stephan built the basics.
+(However, I then became too proud to follow his advice only to
+use and modify ~longtable.sty~.)
+
+There are some issues concerning use of counters on which I
+don't agree with Stephan and where I would like to change the
+code if ~lineno.sty~ is ``mine'' as Stephan offered. However,
+Stephan is afraid of compatibility problems from which, in
+particular, his wife could suffer in the near future. So he
+demanded that I change as little as possible for my first
+version. Instead of executing changes that I plan I just offer
+my opinions at the single occasions. I hope to get in touch
+this way with users who consider subtle features vital which I
+consider strange.
+
+On the other hand, the sections on improvements of the
+implementation have been blown up very much and may be tiring
+and litte understandable for mere \emph{users}. These users
+may profit from the present presentation just by jumping to
+sections_\ref{s:Opts} and_\ref{s:UserCmds}. There is a user's
+guide ulineno.tex which may be even more helpful, but it has
+not been updated for a while.                                        %% TODO
+
+\subsection{%
+Availability
+\unskip}
+
+In case you have found the present file otherwise than from
+CTAN: A recent version and documentation of this package
+should be available from CTAN folder
+\path{macros/latex/contrib/lineno}.
+Or mail to one of the addresses at top of file.
+
+\subsection{%
+Introductory code
+\unskip}
+
+This style option is written for \LaTeXe, November 1994 or later,
+since we need the ~\protected at write~ macro.
+
+(New v4.00)               And we use ~\newcommand*~ for
+controlling length of user macro arguments, which has been
+available since December 1994.
+\begin{code}\begin{verbatim}
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\ProvidesPackage{lineno}
+  [\filedate\space line numbers on paragraphs \fileversion]
+\end{verbatim}
+\end{code}
+(/New v4.00)
+
+
+\section{%
+Put the line numbers to the lines
+\unskip}
+
+(New v4.00)                    This section contained the most
+basic package code previously. For various purposes of
+version_4\dots, much of these basics have been to be modified.
+Much of my (UL's) reasoning on these modifications has been to
+be reported. Sorry, the present section has been blown up
+awfully thus and contains ramifications that may be difficult
+to trace. We add some ~\subsection~ commands in order to cope
+with the new situation. (/New v4.00)
+
+\subsection{%
+Basic code of \texttt{lineno.sty} \scs{output}
+\unskip}\label{ss:output}
+
+The line numbers have to be attached by the output
+routine.  We simply set the ~\interlinepenalty~ to $-100000$.
+The output routine will be called after each line in the
+paragraph,  except the last,  where we trigger by ~\par~.
+The ~\linenopenalty~ is small enough to compensate a bunch of
+penalties (e.g., with ~\samepage~).
+
+(New v3.04)            Longtable uses
+~\penalty~$-30000$.  The lineno penalty range was
+shrunk to $-188000 \dots -32000$.  (/New v3.04)
+(New v4.00) New values are listed below (11111f.). (/New v4.00)
+\begin{code}\begin{verbatim}
+\newcount\linenopenalty\linenopenalty=-100000
+\end{verbatim}
+\end{code}
+(UL)                              Hm. It is never needed below
+that this is a counter. ~\def\linenopenalty{-100000\relax}~
+would do. (I guess this consumes more memory, but it
+is more important to save counters than to save memory.)
+I was frightened by ~-\linenopenalty~ below, but indeed
+\TeX\ interprets the string ~--100000~ as 100000.
+Has any user or extension package writer ever called
+~\linenopenalty=xxx~, or could I really change this?---The
+counter is somewhat faster than the macro. Together with the
+compatibility question this seems to support keeping the
+counter. (???)
+(/UL)
+\begin{code}\begin{verbatim}
+\mathchardef\linenopenaltypar=32000
+\end{verbatim}
+\end{code}
+So let's make a hook to ~\output~,  the direct way. The \LaTeX\
+macro ~\@reinserts~ puts the footnotes back on the page.
+
+(New v3.01)                ~\@reinserts~ badly
+screws up split footnotes.  The bottom part is
+still on the recent contributions list, and the
+top part will be put back there after the bottom
+part. Thus, since lineno.sty does not play well
+with ~\inserts~ anyway, we can safely experiment
+with ~\holdinginserts~, without making things
+much worse.
+
+Or that's what I thought, but:  Just activating
+~\holdinginserts~ while doing the ~\par~ will
+not do the trick:  The ~\output~ routine may be
+called for a real page break before all line
+numbers are done, and how can we get control
+over ~\holdinginserts~ at that point?
+
+Let's try this:  When the ~\output~ routine is
+run with ~\holdinginserts=3~ for a real page
+break, then we reset ~\holdinginserts~ and
+restart ~\output~.
+
+Then, again, how do we keep the remaining
+~\inserts~ while doing further line numbers?
+
+If we find ~\holdinginserts~=$-3$ we activate it again
+after doing ~\output~.             (/New v3.01)
+
+(New v3.02)                    To work with
+multicol.sty, the original output routine is now
+called indirectly, instead of being replaced.
+When multicol.sty changes ~\output~, it is a
+toks register, not the real thing. (/New v3.02)
+
+(New v4.00)               Two further complications are added.
+\begin{itemize}\item
+[(i)]  Problems with footnotes formerly resulted from
+\LaTeX's ~\@reinserts~ in ~\@specialoutput~ which Stephan's
+~\linelabel~ called via the ~\marginpar~ mechanism.
+\item
+[(ii)] \LaTeX\ commands using ~\vadjust~ formerly didn't work
+as one would have hoped. The problem is as follows:
+Printing the line number results from
+a box that the output routine inserts at the place of the
+~\interlinepenalty~. ~\vadjust~ items appear \emph{above} the
+~\interlinepenalty~ (\TeX book p._105). So ~\pagebreak~, e.g.,
+formerly sent the line number to the next page, while the
+penalty from ~\nopagebreak~ could not tie the following line,
+since it was screened off by the line number box.---Our trick
+is putting the ~\vadjust~ items into a list macro from which
+the output routine transfers them into the vertical list,
+below the line number box.
+\end{itemize}
+In this case_(ii), like in case_(i), footnotes would suffer
+if ~\holdinginserts~ were non-positive. Indeed, in both
+cases_(i) and_(ii) we tackle the footnote problem by extending
+that part of Stephan's output routine that is active when
+~\holdinginserts~ is positive. This extension writes the line
+number ~\newlabel~ to the .aux file (which was formerly done
+under $~\holdinginserts~=-3$) and handles the ~\vadjust~
+items.---To trigger ~\output~ and its ~\linelabel~ or, resp.,
+~\vadjust~ part, the list of signal penalties started
+immediately before is increased here (first for ~\linelabel~,
+second for postponed ~\vadjust~ items):
+\begin{code}\begin{verbatim}
+\mathchardef\@Mllbcodepen=11111
+\mathchardef\@Mppvacodepen=11112
+\end{verbatim}
+\end{code}
+(/New v4.00) (New v4.2) David Kastrup urges to use a private
+name instead of ~\the\output~ (LaTeX-L-list). Otherwise an
+~\output~ routine loaded later and using ~\newtoks\output~
+again may get lost entirely. So we change use of ~\@LN at output~,
+using it for the former purpose. Reference to what appeared
+with the name of ~\output~ here lasts for a few lines and then
+is given away.
+\begin{code}\begin{verbatim}
+\let\@tempa\output
+\newtoks\output
+\let\@LN at output\output
+\output=\expandafter{\the\@tempa}
+\end{verbatim}
+\end{code}
+Now we add two cases to Stephan's output routine. (New v4.00)
+\begin{code}\begin{verbatim}
+\@tempa={%
+\end{verbatim}
+\end{code}
+(/New 4.2)
+\begin{code}\begin{verbatim}
+            \LineNoTest
+            \if at tempswa
+\end{verbatim}
+\end{code}
+(New v4.00)
+We insert recognition of waiting ~\linelabel~ items---
+\begin{code}\begin{verbatim}
+              \ifnum\outputpenalty=-\@Mllbcodepen
+                \WriteLineNo
+\end{verbatim}
+\end{code}
+---and of waiting ~\vadjust~ items:
+\begin{code}\begin{verbatim}
+              \else
+                \ifnum\outputpenalty=-\@Mppvacodepen
+                  \PassVadjustList
+                \else
+\end{verbatim}
+\end{code}
+(/New v4.00) (New v4.2) Outsource ``Standard'' output
+---which occurs so rarely---to subsection_\ref{ss:LLO}:
+\begin{code}\begin{verbatim}
+                  \LineNoLaTeXOutput
+\end{verbatim}
+\end{code}
+(/New v4.2) (New v4.00)
+Two new ~\fi~s for the ~\linelabel~ and ~\vadjust~ tests---
+\begin{code}\begin{verbatim}
+                \fi
+              \fi
+\end{verbatim}
+\end{code}
+---and the remaining is
+Stephan's code again:
+(/New v4.00)
+\begin{code}\begin{verbatim}
+            \else
+              \MakeLineNo
+            \fi
+            }
+\end{verbatim}
+\end{code}
+(New v4.00)                                  Our new macros
+~\WriteLineNo~ and ~\PassVadjustList~ will be dealt with in
+sections_\ref{s:LNref} and_\ref{ss:PVadj}. (/New v4.00)
+
+\subsection{%
+\scs{LineNoTest}
+\unskip}
+
+The float mechanism inserts ~\interlinepenalty~s during
+~\output~.  So carefully reset it before going on.  Else
+we get doubled line numbers on every float placed in
+horizontal mode, e.g, from ~\linelabel~.
+
+Sorry, neither a ~\linelabel~ nor a ~\marginpar~ should
+insert a penalty, else the following linenumber
+could go to the next page. Nor should any other
+float.  So let us suppress the ~\interlinepenalty~
+altogether with the ~\@nobreak~ switch.
+
+Since (ltspace.dtx, v1.2p)[1996/07/26], the ~\@nobreaktrue~ does
+it's job globally.  We need to do it locally here.
+\begin{code}\begin{verbatim}
+\def\LineNoTest{%
+  \let\@@par\@@@par
+  \ifnum\interlinepenalty<-\linenopenaltypar
+     \advance\interlinepenalty-\linenopenalty
+     \@LN at nobreaktrue
+     \fi
+  \@tempswatrue
+  \ifnum\outputpenalty>-\linenopenaltypar\else
+     \ifnum\outputpenalty>-188000\relax
+       \@tempswafalse
+       \fi
+     \fi
+  }
+ 
+\def\@LN at nobreaktrue{\let\if at nobreak\iftrue} % renamed v4.33
+\end{verbatim}
+\end{code}
+(UL)                                      I thought here were
+another case of the save stack problem explained in \TeX book,
+p._301, namely through both local and global changing
+~\if at nobreak~. However, ~\@LN at nobreak~ is called during
+~\@LN at output~ only, while ~\@nobreaktrue~ is called by \LaTeX's
+~\@startsection~ only. The latter never happens during
+~\@LN at output~. So there is no local value of ~\if at nobreak~ on
+save stack when ~\@nobreaktrue~ acts, since ~\the\@LN at output~
+(where ~\@LN at output~ is a new name for the original ~\output~)
+is executed within a group (\TeX book p._21).
+(/UL)
+
+\subsection{%
+Other output routines (v4.2)
+\unskip}\label{ss:LLO}
+
+I had thought of dealing with bad interference of footnotes
+(and ~\enlargethispage~) with (real) ~\marginpar~s and floats
+\emph{here}. Yet this is done in
+\[
+~http://~\mbox{[CTAN]}
+~/macros/latex/contrib/tamefloats/tameflts.sty~
+\]
+now, and I prefer striving for compatibility with the latter.
+(See there for expanding on the problem.)
+This requires returning the special absolute value of
+~\holdinginserts~ that ~lineno.sty~ finds at the end of a newly
+typeset paragraph---now done in subsection_\ref{ss:calls}
+(~\linenumberpar~).
+The former ~\LineNoHoldInsertsTest~ has been filled into here.
+Note: when the following code is invoked, we have
+~\if at tempswa~_ =_~\iftrue~.
+WARNING: I am still not sure whether the present code is good
+for cooperating with other packages that use ~\holdinginserts~.
+\begin{code}\begin{verbatim}
+\def\LineNoLaTeXOutput{%
+  \ifnum \holdinginserts=\thr@@   % v4.33 without \@tempswafalse
+    \global\holdinginserts-\thr@@
+    \unvbox\@cclv
+    \ifnum \outputpenalty=\@M \else \penalty\outputpenalty \fi
+  \else
+    \if at twocolumn \let\@makecol\@LN at makecol \fi
+    \the\@LN at output % finally following David Kastrup's advice.
+    \ifnum \holdinginserts=-\thr@@
+      \global\holdinginserts\thr@@ \fi
+  \fi
+}
+\end{verbatim}
+\end{code}
+\textit{More on dealing with output routines from other
+packages:}
+Since ~lineno.sty~'s output routine is called at least once
+for each output line, I think it should be in \TeX's
+original ~\output~, while output routines dealing with
+building pages and with floats etc.\ should be filled into
+registers addressed by ~\output~ after ~\newtoks\output~.
+Therefore                                                  \begin{enumerate}
+\item
+~tameflts.sty~ should be loaded \emph{after} ~lineno.sty~;
+\item
+if a class changes ~\output~ (APS journal class revtex4,
+e.g.), ~lineno.sty~ should be loaded by ~\RequirePackage~
+[here presumably following some options in
+brackets]~{lineno}~ \emph{preceding} ~\documentclass~.
+\item
+If you actually maintain such a class, please consider
+loading ~lineno.sty~ on some draft option. The bunch of
+lineno's package options may be a problem, but perhaps the
+purpose of your class is offering only very few of lineno's
+options anyway, maybe just one.
+\end{enumerate}
+The latter may also be needed with classes that don't follow
+David Kastrup's rule on changing ~\output~.
+
+\subsection{%
+\scs{MakeLineNo}: Actually attach line number
+\unskip}\label{ss:MLN}
+
+We have to return all the page to the current page, and
+add a box with the line number, without adding
+breakpoints, glue or space.  The depth of our line number
+should be equal to the previous depth of the page, in
+case the page breaks here,  and the box has to be moved up
+by that depth.
+
+The ~\interlinepenalty~ comes after the ~\vadjust~ from a
+~\linelabel~,  so we increment the line number \emph{after}
+printing it. The macro ~\makeLineNumber~ produces the
+text of the line number, see section \ref{appearance}.
+
+(UL)                        I needed a while to understand
+the sentence on incrementing. Correctly: writing the
+~\newlabel~ to the .aux file is triggered by the signal
+penalty that ~\end at float~ inserts via ~\vadjust~.
+However, this could be changed by our new ~\PostponeVadjust~.
+After ~\c at linenumber~ has been introduced as a \LaTeX\
+counter, it might be preferable that it behaved like standard
+\LaTeX\ counters which are incremented shortly before printing.
+But this may be of little practical relevance in this case,
+as ~\c at linenumber~ is driven in a very non-standard
+way.---However still, this behaviour of ~\c at linenumber~
+generates a problem with our ~edtable.sty~.
+(/UL).
+
+Finally we put in the natural ~\interlinepenalty~, except
+after the last line.
+
+(New v3.10) Frank Mittelbach points out that box255 may be
+less deep than the last box inside, so he proposes to
+measure the page depth with ~\boxmaxdepth=\maxdimen~.
+(/New v3.10)
+
+(UL, New v4.00)               We also resume the matter of
+~\vadjust~ items that was started in section_\ref{ss:output}.
+
+\TeX\ puts only nonzero interline
+penalties into the vertical list (\TeX book p._105), while
+~lineno.sty~ formerly replaced the signal interline penalty by
+something closing with an explicit penalty of the value that
+the interline penalty would have without ~lineno.sty~.
+This is usually 0. Now, explicit vertical penalties can be
+very nasty with respect to ~\nopagebreak~, e.g., a low (even
+positive) ~\widowpenalty~ may force a widow where you
+explicitly tried to forbid it by ~\nopagebreak~
+(see explanation soon below).
+The ~\nopagebreak~ we create here would never work if all
+those zero penalties were present.---On
+the other hand, we cannot just omit Stephan's zero penalties,
+because \TeX\ puts a penalty of 10000 after what ~lineno.sty~
+inserts (\TeX book p._125). This penalty must be overridden
+to allow page breaks between ordinary lines. To revive
+~\nopagebreak~, we therefore replace those zero (or low)
+penalties by penalties that the user demanded by
+~\nopagebreak~.---This mechanism is not perfect and does not
+exactly restore the original \LaTeX\ working of ~\pagebreak~
+and ~\nopagebreak~. Viz., if there are several vertical
+penalties after a line which were produced by closely sitting
+~\[no]pagebreak~s, without ~lineno.sty~ the lowest penalty would
+be effective (cf._\TeX book exercise_14.10). Our mechanism, by
+contrast, chooses the \emph{last} user-set penalty of the line
+as the effective one. It would not be very difficult to come
+more close to the original mechanism, but until someone urges
+us we will cling to the present simple way. You may consider an
+advantage of the difference between our mechanism and the
+original one that the user here can actually override low
+penalties by ~\nopagebreak~, which may be what a lay \LaTeX\
+user would expect.
+(/UL, /New v4.00)
+\begin{code}\begin{verbatim}
+\def\MakeLineNo{%
+   \@LN at maybe@normalLineNumber                        % v4.31
+   \boxmaxdepth\maxdimen\setbox\z@\vbox{\unvbox\@cclv}%
+   \@tempdima\dp\z@ \unvbox\z@
+   \sbox\@tempboxa{\hb at xt@\z@{\makeLineNumber}}%
+\end{verbatim}
+\end{code}
+(New v4.00) Previously,
+\begin{old}\begin{verbatim}
+%    \stepcounter{linenumber}%
+\end{verbatim}
+\end{old}
+followed. (Of course, there was no
+comment mark; I put it there to make
+reading the actual code easy.)
+
+(New v4.22: improved) Why not just
+\[~\global\advance\c at linenumber\@ne~?\]
+~\stepcounter~ additionally resets ``subordinate''
+counters, but which could these (usefully) be?
+Again, may be column counters with ~edtable.sty~!?
+
+But then, our ~edtable.sty~ and its ~longtable~ option
+should use it as well. So use a shorthand supporting
+uniformity. You can even use it as a hook for choosing
+~\global\advance\c at linenumber\@ne~ instead of our choice.
+(/New v4.22)
+\begin{code}\begin{verbatim}
+   \stepLineNumber
+\end{verbatim}
+\end{code}
+(New v4.4)   Now
+\begin{code}\begin{verbatim}
+   \ht\@tempboxa\z@ \@LN at depthbox
+\end{verbatim}
+\end{code}
+appends the box containing the line number without changing
+~\prevdepth~---see end of section.
+Now is the time for inserting the $\dots$ (/New v4.4)
+~\vadjust~ items. We cannot do this much later, because
+their right place is above the artificial interline
+penalty which Stephan's code will soon insert
+(cf._\TeX book p._105). The next command is just ~\relax~
+if no ~\vadjust~ items have been accumulated for the
+current line. Otherwise it is a list macro inserting
+the ~\vadjust~ items and finally resetting itself.
+(This is made in section_\ref{ss:PVadj} below.)
+If the final item is a penalty, it is stored so it can
+compete with other things about page breaking.
+\begin{code}\begin{verbatim}
+   \@LN at do@vadjusts
+   \count@\lastpenalty
+\end{verbatim}
+\end{code}
+At this place,
+\begin{old}\begin{verbatim}
+%    \ifnum\outputpenalty=-\linenopenaltypar\else
+\end{verbatim}
+\end{old}
+originally followed. We need something \emph{before} the
+~\else~:
+\begin{code}\begin{verbatim}
+   \ifnum\outputpenalty=-\linenopenaltypar
+     \ifnum\count@=\z@ \else
+\end{verbatim}
+\end{code}
+So final ~\pagebreak[0]~ or ~\nopagebreak[0]~ has no
+effect---but this will make a difference after headings only,
+where nobody should place such a thing anyway.
+\begin{code}\begin{verbatim}
+       \xdef\@LN at parpgbrk{%
+         \penalty\the\count@
+         \global\let\noexpand\@LN at parpgbrk
+                      \noexpand\@LN at screenoff@pen}% v4.4
+\end{verbatim}
+\end{code}
+That penalty will replace former ~\kern\z@~ in
+~\linenumberpar~, see subsection_\ref{ss:calls}.---A
+few days earlier, I tried to send just a penalty value.
+However, the ~\kern\z@~ in ~\linenumberpar~ is crucial,
+as I then found out. See below.---The final penalty is
+repeated, but this does no harm. (It would not be very
+difficult to avoid the repeating, but it may even be
+less efficient.) It may be repeated due to the previous
+~\xdef~, but it may be repeated as well below in the
+present macro where artificial interline penalty is to
+be overridden.
+\begin{code}\begin{verbatim}
+     \fi
+   \else
+\end{verbatim}
+\end{code}
+(/New v4.00)
+\begin{code}\begin{verbatim}
+     \@tempcnta\outputpenalty
+     \advance\@tempcnta -\linenopenalty
+\end{verbatim}
+\end{code}
+(New v4.00)
+\begin{old}\begin{verbatim}
+%        \penalty\@tempcnta
+\end{verbatim}
+\end{old}
+followed previously. To give ~\nopagebreak~ a chance,
+we do
+\begin{code}\begin{verbatim}
+     \penalty \ifnum\count@<\@tempcnta \@tempcnta \else \count@ \fi
+\end{verbatim}
+\end{code}
+instead.---In ~linenox0.sty~, the ~\else~ thing once was omitted.
+Sergei Mariev's complaint (thanks!) showed that it is vital
+(see comment before ~\MakeLineNo~).
+The remaining ~\fi~ from previous package version closes the
+~\ifnum\outputpenalty~\dots
+(/New v4.00)
+\begin{code}\begin{verbatim}
+   \fi
+   }
+\end{verbatim}
+\end{code}
+(New v4.00)
+\begin{code}\begin{verbatim}
+\newcommand\stepLineNumber{\stepcounter{linenumber}}
+\end{verbatim}
+\end{code}
+For reason, see use above. (/New v4.00)
+
+(New v4.4)   The depth preserving trick is drawn here from
+~\MakeLineNo~ because it will be used again in
+section_\ref{ss:calls}.
+\begin{code}\begin{verbatim}
+\def\@LN at depthbox{%
+  \dp\@tempboxa=\@tempdima
+  \nointerlineskip \kern-\@tempdima \box\@tempboxa}
+\end{verbatim}
+\end{code}
+(/New v4.4)
+
+\section{%
+Control line numbering
+\unskip}
+\subsection{%
+Inserting \scs{output} calls           %% own subsec. v4.4.
+\unskip}\label{ss:calls}
+The line numbering is controlled via ~\par~.  \LaTeX\
+saved the \TeX-primitive ~\par~ in ~\@@par~.  We push it
+one level further out, and redefine ~\@@par~ to insert
+the ~\interlinepenalty~ needed to trigger the
+line numbering. And we need to allow pagebreaks after a
+paragraph.
+
+New (2.05beta): the prevgraf test.  A paragraph that ends with a
+displayed equation, a ~\noindent\par~ or ~wrapfig.sty~ produce empty
+paragraphs. These should not get a spurious line number via
+~\linenopenaltypar~.
+\begin{code}\begin{verbatim}
+\let\@@@par\@@par
+\newcount\linenoprevgraf
+\end{verbatim}
+\end{code}
+(UL)                          And needs ~\linenoprevgraf~
+to be a counter? Perhaps there may be a paragraph having
+thousands of lines, so ~\mathchardef~ doesn't suffice (really??).
+A macro ending on ~\relax~ might suffice, but would be
+somewhat slow. I think I will use ~\mathchardef~ next time.
+Or has any user used ~\linenoprevgraf~? (/UL)
+\begin{code}\begin{verbatim}
+\def\linenumberpar{%
+  \ifvmode \@@@par \else
+    \ifinner \@@@par \else
+      \xdef\@LN at outer@holdins{\the\holdinginserts}% v4.2
+      \advance \interlinepenalty \linenopenalty
+      \linenoprevgraf \prevgraf
+      \global \holdinginserts \thr@@
+      \@@@par
+      \ifnum\prevgraf>\linenoprevgraf
+        \penalty-\linenopenaltypar
+      \fi
+\end{verbatim}
+\end{code}
+(New v4.00)
+\begin{old}\begin{verbatim}
+%          \kern\z@
+\end{verbatim}
+\end{old}
+was here previously. What for?
+According to \TeX book p._125, Stephan's
+interline penalty is changed into 10000. At the end of a
+paragraph, the ~\parskip~ would follow that penalty of 10000,
+so there could be a page break neither at the
+~\parskip~ nor at the ~\baselineskip~ (\TeX book p._110)---so
+there could never be a page break between two paragraphs.
+So something must screen off the 10000 penalty.
+Indeed, the ~\kern~ is a place to break.
+(Stephan once knew this: see `allow pagebreaks' above.)
+
+Formerly, I tried to replace ~\kern\z@~ by
+\begin{old}\begin{verbatim}
+%         \penalty\@LN at parpgpen\relax
+\end{verbatim}
+\end{old}
+---but this allows a page break after heading. So:
+\begin{code}\begin{verbatim}
+      \@LN at parpgbrk
+\end{verbatim}
+\end{code}
+
+These and similar changes were formerly done by ~linenox1.sty~.
+(/New v4.00)
+
+(New v4.4)
+A ~\belowdisplayskip~ may precede the previous when the paragraph
+ends on a display-math; or there may be a ~\topsep~ from a list, etc.
+~\addvspace~ couldn't take account for it with ~\kern\z@~
+here. v4.32 therefore moved the space down -- with at least two
+bad consequences.
+Moreover, David Josef Dev observes that ~\kern\z@~ may
+inappropriately yield column depth 0pt.
+For these reasons, we introduce ~\@LN at screenoff@pen~ below.
+(/New v4.4)
+\begin{code}\begin{verbatim}
+      \global\holdinginserts\@LN at outer@holdins % v4.2
+      \advance\interlinepenalty -\linenopenalty
+    \fi     % from \ifinner ... \else
+  \fi}      % from \ifvmode ... \else
+\end{verbatim}
+\end{code}
+(New v4.00, v4.4) Initialize ~\@LN at parpgbrk~, accounting
+for earlier space and for appropriate columndepth.
+We use former ~\MakeLineNo~'s depth-preverving trick
+~\@LN at depthbox~ again:
+\begin{code}\begin{verbatim}
+\def\@LN at screenoff@pen{%
+  \ifdim\lastskip=\z@
+    \@tempdima\prevdepth \setbox\@tempboxa\null
+    \@LN at depthbox                           \fi}
+ 
+\global\let\@LN at parpgbrk\@LN at screenoff@pen
+\end{verbatim}
+\end{code}
+(/New v4.4, v4.00)
+\subsection{%
+Turning on/off                         %% own subsec. v4.4.
+\unskip}\label{ss:OnOff}
+The basic commands to enable and disable line numbers.
+~\@par~ and ~\par~ are only touched, when they are ~\let~
+to ~\@@@par~/~\linenumberpar~.  The line number may be
+reset to 1 with the star-form, or set by an optional
+argument ~[~<number>~]~.
+
+(New v4.00)        We add ~\ifLineNumbers~ etc.\ since
+a number of our new adjustments need to know whether
+linenumbering is active. This just provides a kind of
+shorthand for ~\ifx\@@par\linenumberpar~; moreover it is
+more stable: who knows what may happen to ~\@@par~?---A
+caveat: ~\ifLineNumbers~ may be wrong. E.g., it may be
+~\iffalse~ where it acts, while a ~\linenumbers~ a few
+lines below---in the same paragraph---brings about that
+the line where the ~\ifLineNumbers~ appears gets a
+marginal number.
+(New v4.3)        Just noticed: Such tricks have been
+disallowed with v4.11, see subsections_\ref{ss:LL}
+and_\ref{ss:OnOff}.---Moreover, the switching between
+meanings of ~\linelabel~ for a possible error message
+as of v4.11 is removed. Speed is difficult to esteem
+and also depends on applications. Just use the most
+simple code you find.                      (/New v4.3)
+\begin{code}\begin{verbatim}
+\newif\ifLineNumbers \LineNumbersfalse
+\end{verbatim}
+\end{code}
+(/New v4.00)
+\begin{code}\begin{verbatim}
+\def\linenumbers{%
+     \LineNumberstrue                            % v4.00
+     \xdef\@LN at outer@holdins{\the\holdinginserts}% v4.3
+\end{verbatim}
+\end{code}
+(New v4.3) The previous line is for ~{linenomath}~
+in a first numbered paragraph.         (/New v4.3)
+\begin{code}\begin{verbatim}
+     \let\@@par\linenumberpar
+ %      \let\linelabel\@LN at linelabel % v4.11, removed v4.3
+     \ifx\@par\@@@par\let\@par\linenumberpar\fi
+     \ifx\par\@@@par\let\par\linenumberpar\fi
+     \@LN at maybe@moduloresume         % v4.31
+     \@ifnextchar[{\resetlinenumber}%]
+                 {\@ifstar{\resetlinenumber}{}}%
+     }
+ 
+\def\nolinenumbers{%
+  \LineNumbersfalse                              % v4.00
+  \let\@@par\@@@par
+ %   \let\linelabel\@LN at LLerror      % v4.11, removed v4.3
+  \ifx\@par\linenumberpar\let\@par\@@@par\fi
+  \ifx\par\linenumberpar\let\par\@@@par\fi
+  }
+\end{verbatim}
+\end{code}
+(New v4.00)               Moreover, it is useful to switch to
+~\nolinenumbers~ in ~\@arrayparboxrestore~. We postpone this
+to section_\ref{ss:ReDef} where we'll have an appending macro
+for doing this.                                  (/New v4.00)
+
+What happens with a display math?  Since ~\par~ is not executed,
+when breaking the lines before a display, they will not get
+line numbers.  Sorry, but I do not dare to change
+~\interlinepenalty~ globally, nor do I want to redefine
+the display math environments here.
+\begin{displaymath}
+display \ math
+\end{displaymath}
+See the subsection below, for a wrapper environment to make
+it work.  But that requires to wrap each and every display
+in your \LaTeX\ source %%.
+(see option ~displaymath~ in subsections_\ref{ss:v3opts}
+and_\ref{ss:display} for some relief [UL]).
+
+The next two commands are provided to turn on line
+numbering in a specific mode. Please note the difference:
+for pagewise numbering, ~\linenumbers~ comes first to
+inhibit it from seeing optional arguments, since
+re-/presetting the counter is useless.
+\begin{code}\begin{verbatim}
+\def\pagewiselinenumbers{\linenumbers\setpagewiselinenumbers}
+\def\runninglinenumbers{\setrunninglinenumbers\linenumbers}
+\end{verbatim}
+\end{code}
+Finally, it is a \LaTeX\ style, so we provide for the use
+of environments, including the suppression of the
+following paragraph's indentation.
+
+(UL)                                I am drawing the following
+private thoughts of Stephan's to publicity so that others may
+think about them---or to remind myself of them in an efficient
+way.                                                     (/UL)
+\begin{old}\begin{verbatim}
+% TO DO: add \par to \linenumbers, if called from an environment.
+% To DO: add an \@endpe hack if \linenumbers are turned on
+%        in horizontal mode. {\par\parskip\z@\noindent} or
+%        something.
+\end{verbatim}
+\end{old}
+(UL)     However, I rather think that ~\linenumbers~ and        %% v4.31
+~\nolinenumbers~ should execute a ~\par~ already. (Then the
+~\par~s in the following definitions should be removed.) (/UL)
+\begin{code}\begin{verbatim}
+\@namedef{linenumbers*}{\par\linenumbers*}
+\@namedef{runninglinenumbers*}{\par\runninglinenumbers*}
+ 
+\def\endlinenumbers{\par\@endpetrue}
+\let\endrunninglinenumbers\endlinenumbers
+\let\endpagewiselinenumbers\endlinenumbers
+\expandafter\let\csname endlinenumbers*\endcsname\endlinenumbers
+\expandafter\let\csname endrunninglinenumbers*\endcsname\endlinenumbers
+\let\endnolinenumbers\endlinenumbers
+\end{verbatim}
+\end{code}
+
+\subsection{%
+Display math
+\unskip}\label{ss:DM}
+
+Now we tackle the problem to get display math working.
+There are different options.
+\begin{enumerate}\item[
+1.]  Precede every display math with a ~\par~.
+Not too good.
+\item[
+2.]  Change ~\interlinepenalty~ and associates globally.
+Unstable.
+\item[
+3.]  Wrap each display math with a ~{linenomath}~
+environment.
+\end{enumerate}
+We'll go for option 3.  See if it works:
+\begin{linenomath}
+\begin{equation}
+display \ math
+\end{equation}
+\end{linenomath}
+The star form ~{linenomath*}~ should also number the lines
+of the display itself,
+\begin{linenomath*}
+\begin{eqnarray}
+multi   && line \\
+display && math \\
+&
+\begin{array}{c}
+with \\
+array
+\end{array}
+&
+\end{eqnarray}
+\end{linenomath*}
+including multline displays.
+
+First, here are two macros to turn
+on linenumbering on paragraphs preceeding displays, with
+numbering the lines of the display itself, or without.
+The ~\ifx..~ tests if line numbering is turned on.  It
+does not harm to add these wrappers in sections that are
+not numbered.  Nor does it harm to wrap a display
+twice, e.q, in case you have some ~{equation}~s wrapped
+explicitely, and later you redefine ~\equation~ to do it
+automatically.
+
+(New v4.3)  To avoid the spurious line number above a
+display in vmode, I insert ~\ifhmode~.       (/New v4.3)
+\begin{code}\begin{verbatim}
+\newcommand\linenomathNonumbers{%
+  \ifLineNumbers
+    \ifnum\interlinepenalty>-\linenopenaltypar
+      \global\holdinginserts\thr@@
+      \advance\interlinepenalty \linenopenalty
+     \ifhmode                                   % v4.3
+      \advance\predisplaypenalty \linenopenalty
+     \fi
+    \fi
+  \fi
+  \ignorespaces
+  }
+ 
+\newcommand\linenomathWithnumbers{%
+  \ifLineNumbers
+    \ifnum\interlinepenalty>-\linenopenaltypar
+      \global\holdinginserts\thr@@
+      \advance\interlinepenalty \linenopenalty
+     \ifhmode                                   % v4.3
+      \advance\predisplaypenalty \linenopenalty
+     \fi
+      \advance\postdisplaypenalty \linenopenalty
+      \advance\interdisplaylinepenalty \linenopenalty
+    \fi
+  \fi
+  \ignorespaces
+  }
+\end{verbatim}
+\end{code}
+The ~{linenomath}~ environment has two forms, with and
+without a star.  The following two macros define the
+environment, where the stared/non-stared form does/doesn't number the
+lines of the display or vice versa.
+\begin{code}\begin{verbatim}
+\newcommand\linenumberdisplaymath{%
+  \def\linenomath{\linenomathWithnumbers}%
+  \@namedef{linenomath*}{\linenomathNonumbers}%
+  }
+ 
+\newcommand\nolinenumberdisplaymath{%
+  \def\linenomath{\linenomathNonumbers}%
+  \@namedef{linenomath*}{\linenomathWithnumbers}%
+  }
+ 
+\def\endlinenomath{%
+  \ifLineNumbers                            % v4.3
+   \global\holdinginserts\@LN at outer@holdins % v4.21
+  \fi
+   \global % v4.21 support for LaTeX2e earlier than 1996/07/26.
+   \@ignoretrue
+}
+\expandafter\let\csname endlinenomath*\endcsname\endlinenomath
+\end{verbatim}
+\end{code}
+The default is not to number the lines of a display.  But
+the package option ~mathlines~ may be used to switch
+that behavior.
+\begin{code}\begin{verbatim}
+\nolinenumberdisplaymath
+\end{verbatim}
+\end{code}
+
+\section{%
+Line number references
+\unskip}\label{s:LNref}
+\subsection{%
+Internals                              %% New subsec. v4.3.
+\unskip}
+The only way to get a label to a line number in a
+paragraph is to ask the output routine to mark it.
+
+(New v4.00) The following two paragraphs don't hold any
+longer, see below. (/New v4.00)
+\begin{old}\begin{verbatim}
+% We use the marginpar mechanism to hook to ~\output~ for a
+% second time.  Marginpars are floats with number $-1$, we
+% fake marginpars with No $-2$. Originally, every negative
+% numbered float was considered to be a marginpar.
+%
+% The float box number ~\@currbox~ is used to transfer the
+% label name in a macro called ~\@LNL@~<box-number>.
+\end{verbatim}
+\end{old}
+A ~\newlabel~ is written to the aux-file.  The reference
+is to ~\theLineNumber~, \emph{not} ~\thelinenumber~.
+This allows to hook in, as done below for pagewise line
+numbering.
+
+(New v3.03) The ~\@LN at ExtraLabelItems~ are added for a hook
+to keep packages like ~{hyperref}~ happy.      (/New v3.03)
+
+(New v4.00)
+We fire the ~\marginpar~ mechanism, so we leave \LaTeX's
+~\@addmarginpar~ untouched.
+\begin{old}\begin{verbatim}
+% \let\@LN at addmarginpar\@addmarginpar
+% \def\@addmarginpar{%
+%    \ifnum\count\@currbox>-2\relax
+%      \expandafter\@LN at addmarginpar
+%    \else
+%      \@cons\@freelist\@currbox
+%      \protected at write\@auxout{}{%
+%          \string\newlabel
+%             {\csname @LNL@\the\@currbox\endcsname}%
+%             {{\theLineNumber}{\thepage}\@LN at ExtraLabelItems}}%
+%    \fi}
+\end{verbatim}
+\end{old}
+OK, we keep Stephan's ~\@LN at ExtraLabelItems~:
+(/New v4.00)
+\begin{code}\begin{verbatim}
+\let\@LN at ExtraLabelItems\@empty
+\end{verbatim}
+\end{code}
+(New v4.00)
+We imitate the ~\marginpar~ mechanism without using the
+~\@freelist~ boxes. ~\linelabel~ will indeed place a signal
+penalty (~\@Mllbcodepen~, new), and it will put a label into
+some list macro ~\@LN at labellist~. A new part of the output
+routine will take the labels from the list and will write
+~\newlabel~s to the .aux file.
+
+The following is a version of \LaTeX's ~\@xnext~.
+\begin{code}\begin{verbatim}
+\def\@LN at xnext#1\@lt#2\@@#3#4{\def#3{#1}\gdef#4{#2}}
+\end{verbatim}
+\end{code}
+This takes an item ~#1~ from a list ~#4~ into ~#3~;
+to be used as ~\expandafter\@LN at xnext#4\@@#3#4~.
+Our lists use ~\@lt~ after each item for separating.
+Indeed, there will be another list macro which can
+appear as argument ~#4~, this will be used for moving
+~\vadjust~ items (section_\ref{ss:PVadj}).
+The list for ~\linelabel~s is the following:
+\begin{code}\begin{verbatim}
+\global\let\@LN at labellist\@empty
+\end{verbatim}
+\end{code}
+The next is the new part of the output routine writing the
+~\newlabel~ to the .aux file. Since it is no real page output,
+the page is put back to top of the main vertical list.
+\begin{code}\begin{verbatim}
+\def\WriteLineNo{%
+  \unvbox\@cclv
+  \expandafter \@LN at xnext \@LN at labellist \@@
+                          \@LN at label \@LN at labellist
+  \protected at write\@auxout{}{\string\newlabel{\@LN at label}%
+         {{\theLineNumber}{\thepage}\@LN at ExtraLabelItems}}%
+}
+\end{verbatim}
+\end{code}
+(/New v4.00)
+
+\subsection{%
+The \scs{linelabel} command
+\unskip}\label{ss:LL}
+To refer to a place in line ~\ref{~<foo>~}~ at page
+~\pageref{~<foo>~}~ you place a ~\linelabel{~<foo>~}~ at
+that place.
+
+\linelabel{demo}
+\marginpar{\tiny\raggedright
+See if it works: This paragraph
+starts on page \pageref{demo}, line
+\ref{demo}.
+\unskip}%
+(New v4.11)
+\begin{old}\begin{verbatim}
+% If you use this command outside a ~\linenumbers~
+% paragraph, you will get references to some bogus
+% line numbers, sorry.  But we don't disable the command,
+% because only the ~\par~ at the end of a paragraph  may
+% decide whether to print line numbers on this paragraph
+% or not.  A ~\linelabel~ may legally appear earlier than
+% ~\linenumbers~.
+\end{verbatim}
+\end{old}
+This trick is better not allowed---see subsections_\ref{ss:LL}
+and_\ref{ss:OnOff}.
+(/New v4.11)
+
+~\linelabel~
+\begin{old}\begin{verbatim}
+%, via a fake float number $-2$, %% new mechanism v4.00
+\end{verbatim}
+\end{old}
+puts a
+~\penalty~ into a ~\vadjust~, which triggers the
+pagebuilder after putting the current line to the main
+vertical list.  A ~\write~ is placed on the main vertical
+list, which prints a reference to the current value of
+~\thelinenumber~ and ~\thepage~ at the time of the
+~\shipout~.
+
+A ~\linelabel~ is allowed only in outer horizontal mode.
+In outer vertical mode we start a paragraph, and ignore
+trailing spaces (by fooling ~\@esphack~).
+
+(New v4.00) We aim at relaxing the previous condition.
+We insert a hook ~\@LN at mathhook~ and a shorthand
+~\@LN at postlabel~ to support the ~mathrefs~ option which
+allows ~\linelabel~ in math mode.
+
+The next paragraph is no longer valid.
+\begin{old}\begin{verbatim}
+% The argument of ~\linelabel~ is put into a macro with a
+% name derived from the number of the allocated float box.
+% Much of the rest is dummy float setup.
+\end{verbatim}
+\end{old}
+(/New v4.00)
+
+(New v4.11)
+\begin{old}\begin{verbatim}
+% \def\linelabel#1{%
+\end{verbatim}
+\end{old}
+I forgot ~\linenumbers~ today, costed me hours or so.
+\begin{code}\begin{verbatim}
+\def\@LN at LLerror{\PackageError{lineno}{%
+  \string\linelabel\space without \string\linenumbers}{%
+  Just see documentation. (New feature v4.11)}\@gobble}
+\end{verbatim}
+\end{code}
+(New v4.3)         Here some things have changed for v4.3.
+The previous ~#1~ has been replaced by ~\@gobble~.
+Ensuing, the ~\linelabel~ error message is re-implemented.
+I find it difficult to compare efficiency of slight
+alternatives---so choose an easy one. Explicit switching
+in ~\linenumbers~ and ~\nolinenumbers~ is an additional
+command that may better be avoided.
+\begin{code}\begin{verbatim}
+\newcommand\linelabel{%
+  \ifLineNumbers \expandafter \@LN at linelabel
+  \else          \expandafter \@LN at LLerror   \fi}
+ 
+\gdef\@LN at linelabel#1{%
+\end{verbatim}
+\end{code}
+~\gdef~ for hyperref ``symbolically''. (/New v4.11)
+\begin{code}\begin{verbatim}
+  \ifx\protect\@typeset at protect
+\end{verbatim}
+\end{code}
+$\gets$ And a ~\linelabel~ should never be replicated in a
+mark or a TOC entry.                           (/New v4.3)
+\begin{code}\begin{verbatim}
+   \ifvmode
+       \ifinner \else
+          \leavevmode \@bsphack \@savsk\p@
+       \fi
+   \else
+       \@bsphack
+   \fi
+   \ifhmode
+     \ifinner
+       \@parmoderr
+     \else
+\end{verbatim}
+\end{code}
+(New v4.00)
+\begin{code}\begin{verbatim}
+       \@LN at postlabel{#1}%
+\end{verbatim}
+\end{code}
+\begin{old}\begin{verbatim}
+%        \@floatpenalty -\@Mii
+%        \@next\@currbox\@freelist
+%            {\global\count\@currbox-2%
+%             \expandafter\gdef\csname @LNL@\the\@currbox\endcsname{#1}}%
+%            {\@floatpenalty\z@ \@fltovf \def\@currbox{\@tempboxa}}%
+%        \begingroup
+%            \setbox\@currbox \color at vbox \vbox \bgroup \end at float
+%        \endgroup
+%        \@ignorefalse \@esphack
+\end{verbatim}
+\end{old}
+(/New v4.00)
+\begin{code}\begin{verbatim}
+       \@esphack
+\end{verbatim}
+\end{code}
+(New v4.00)
+The ~\@ignorefalse~ was appropriate before because the
+~\@Esphack~ in ~\end at float~ set ~\@ignoretrue~. Cf._\LaTeX's
+~\@xympar~. (/New v4.00)
+\begin{code}\begin{verbatim}
+     \fi
+   \else
+\end{verbatim}
+\end{code}
+(New v4.00)
+\begin{code}\begin{verbatim}
+     \@LN at mathhook{#1}%
+\end{verbatim}
+\end{code}
+\begin{old}\begin{verbatim}
+%     \@parmoderr
+\end{verbatim}
+\end{old}
+Instead of complaining, you may just do your job.
+(/New v4.00)
+\begin{code}\begin{verbatim}
+   \fi
+  \fi
+   }
+\end{verbatim}
+\end{code}
+(New v4.00)   The shorthand just does what happened
+with ~linenox0.sty~ before ~ednmath0.sty~ (New v4.1:
+now ~mathrefs~ option) appeared, and
+the hook is initialized to serve the same purpose.
+So errors come just where Stephan had built them in,
+and this is just the \LaTeX\ ~\marginpar~ behaviour.
+\begin{code}\begin{verbatim}
+\def\@LN at postlabel#1{\g at addto@macro\@LN at labellist{#1\@lt}%
+       \vadjust{\penalty-\@Mllbcodepen}}
+\def\@LN at mathhook#1{\@parmoderr}
+\end{verbatim}
+\end{code}
+(/New v4.00)
+
+\modulolinenumbers[3]
+\firstlinenumber{1}
+\section{%
+The appearance of the line numbers
+\unskip}\label{appearance}
+\subsection{%
+Basic code                             %% own subsec. v4.2.
+\unskip}
+
+The line numbers are set as ~\tiny\sffamily\arabic{linenumber}~,
+$10pt$ left of the text.  With options to place it
+right of the text, or . . .
+
+. . . here are the hooks:
+\begin{code}\begin{verbatim}
+\def\makeLineNumberLeft{%
+  \hss\linenumberfont\LineNumber\hskip\linenumbersep}
+ 
+\def\makeLineNumberRight{%
+  \linenumberfont\hskip\linenumbersep\hskip\columnwidth
+  \hb at xt@\linenumberwidth{\hss\LineNumber}\hss}
+ 
+\def\linenumberfont{\normalfont\tiny\sffamily}
+ 
+\newdimen\linenumbersep
+\newdimen\linenumberwidth
+ 
+\linenumberwidth=10pt
+\linenumbersep=10pt
+\end{verbatim}
+\end{code}
+Margin switching requires ~pagewise~ numbering mode, but
+choosing the left or right margin for the numbers always
+works.
+\begin{code}\begin{verbatim}
+\def\switchlinenumbers{\@ifstar
+    {\let\makeLineNumberOdd\makeLineNumberRight
+     \let\makeLineNumberEven\makeLineNumberLeft}%
+    {\let\makeLineNumberOdd\makeLineNumberLeft
+     \let\makeLineNumberEven\makeLineNumberRight}%
+    }
+ 
+\def\setmakelinenumbers#1{\@ifstar
+  {\let\makeLineNumberRunning#1%
+   \let\makeLineNumberOdd#1%
+   \let\makeLineNumberEven#1}%
+  {\ifx\c at linenumber\c at runninglinenumber
+      \let\makeLineNumberRunning#1%
+   \else
+      \let\makeLineNumberOdd#1%
+      \let\makeLineNumberEven#1%
+   \fi}%
+  }
+ 
+\def\leftlinenumbers{\setmakelinenumbers\makeLineNumberLeft}
+\def\rightlinenumbers{\setmakelinenumbers\makeLineNumberRight}
+ 
+\leftlinenumbers*
+\end{verbatim}
+\end{code}
+~\LineNumber~ is a hook which is used for the modulo stuff.
+It is the command to use for the line number, when you
+customize ~\makeLineNumber~.  Use ~\thelinenumber~ to
+change the outfit of the digits.
+
+
+We will implement two modes of operation:
+\begin{itemize}
+\item  numbers ~running~ through (parts of) the text
+\item  ~pagewise~ numbers starting over with one on top of
+each page.
+\end{itemize}
+Both modes have their own count register, but only one is
+allocated as a \LaTeX\ counter, with the attached
+facilities serving both.
+\begin{code}\begin{verbatim}
+\newcounter{linenumber}
+\newcount\c at pagewiselinenumber
+\let\c at runninglinenumber\c at linenumber
+\end{verbatim}
+\end{code}
+Only the running mode counter may be reset, or preset,
+for individual paragraphs.  The pagewise counter must
+give a unique anonymous number for each line.
+
+(New v4.3)                  ~\newcounter{linenumber}~
+was the only ~\newcounter~ in the whole package, and
+formerly I was near using ~\newcount~ instead. Yet
+~\newcounter~ may be quite useful for ~\includeonly~.
+It also supports resetting ``subcounters'', but what
+could these be? Well, ~edtable~ might introduce a
+subcounter for columns.
+(Note that \LaTeX's setting commands would work with
+~\newcount\c at linenumber~ already, apart from this.
+And perhaps sometimes ~\refstepcounter{linenumber}~
+wouldn't work---cf._my discussion of ~\stepcounter~ in
+subsection_\ref{ss:MLN}, similarly ~\refstep...~ would
+be quite useless.
+Even the usual redefinitions of ~\thelinenumber~ would
+work. It is nice, on the other hand, that
+~\thelinenumber~ is predefined here. \LaTeX's
+initialization of the value perhaps just serves making
+clear \LaTeX\ counters should always be changed
+globally.---Shortened and improved the discussion here.)
+(/New v4.3)
+
+(New v4.22)
+~\c at linenumber~ usually is---globally---incremented by
+~\stepcounter~ (at present), so resetting it locally would
+raise the save stack problem of \TeX book p._301, moreover
+it would be is useless, there is no hope of keeping the
+values local (but see subsection_\ref{ss:ILN}). So I insert
+~\global~:        (/New v4.22)
+\begin{code}\begin{verbatim}
+\newcommand*\resetlinenumber[1][\@ne]{%
+  \global                             % v4.22
+  \c at runninglinenumber#1\relax}
+\end{verbatim}
+\end{code}
+(New v4.00)
+\begin{old}\begin{verbatim}
+% \newcommand\resetlinenumber[1][1]{\c at runninglinenumber#1}
+\end{verbatim}
+\end{old}
+Added ~\relax~, being quite sure that this does no harm
+and is quite important, as with ~\setcounter~ etc.
+I consider this a bug fix (although perhaps no user has
+ever had a problem with this).    (/New v4.00)
+
+(v4.22: I had made much fuss about resetting subordinate
+counters here---removed, somewhat postponed.)
+
+
+\subsection{%
+Running line numbers
+\unskip}
+
+Running mode is easy,  ~\LineNumber~ and ~\theLineNumber~
+produce ~\thelinenumber~, which defaults to
+~\arabic{linenumber}~, using the ~\c at runninglinenumber~
+counter.  This is the default mode of operation.
+\begin{code}\begin{verbatim}
+\def\makeRunningLineNumber{\makeLineNumberRunning}
+ 
+\def\setrunninglinenumbers{%
+   \def\theLineNumber{\thelinenumber}%
+   \let\c at linenumber\c at runninglinenumber
+   \let\makeLineNumber\makeRunningLineNumber
+   }
+ 
+\setrunninglinenumbers\resetlinenumber
+\end{verbatim}
+\end{code}
+
+\subsection{%
+Pagewise line numbers
+\unskip}\label{ss:PW}
+
+Difficult, if you think about it.  The number has to be
+printed when there is no means to know on which page it
+will end up,  except through the aux-file.  My solution
+is really expensive, but quite robust.
+
+With version ~v2.00~ the hashsize requirements are
+reduced, because we do not need one controlsequence for
+each line any more.  But this costs some computation time
+to find out on which page we are.
+
+~\makeLineNumber~ gets a hook to log the line and page
+number to the aux-file.  Another hook tries to find out
+what the page offset is, and subtracts it from the counter
+~\c at linenumber~.  Additionally, the switch
+~\ifoddNumberedPage~ is set true for odd numbered pages,
+false otherwise.
+\begin{code}\begin{verbatim}
+\def\setpagewiselinenumbers{%
+   \let\theLineNumber\thePagewiseLineNumber
+   \let\c at linenumber\c at pagewiselinenumber
+   \let\makeLineNumber\makePagewiseLineNumber
+   }
+ 
+\def\makePagewiseLineNumber{\logtheLineNumber\getLineNumber
+  \ifoddNumberedPage
+     \makeLineNumberOdd
+  \else
+     \makeLineNumberEven
+  \fi
+  }
+\end{verbatim}
+\end{code}
+Each numbered line gives a line to the aux file
+\begin{verse}
+~\@LN{~<line>~}{~<page>~}~
+\end{verse}
+very similar to the ~\newlabel~ business, except that we need
+an arabic representation of the page number, not what
+there might else be in ~\thepage~.
+\begin{code}\begin{verbatim}
+\def\logtheLineNumber{\protected at write\@auxout{}{%
+\end{verbatim}
+\end{code}
+(New v4.00) (UL)
+As Daniel Doherty observed, the earlier line
+\begin{old}\begin{verbatim}
+%    \string\@LN{\the\c at linenumber}{\noexpand\the\c at page}}}
+\end{verbatim}
+\end{old}
+here may lead into an infinite loop when the user resets
+the page number (think of ~\pagenumbering~, e.g.).
+Stephan and I brief\/ly discussed the matter and decided
+to introduce a ``physical''-page counter to which
+~\logtheLineNumber~ refers. It was Stephan's idea to use
+~\cl at page~ for reliably augmenting the ``physical''-page
+counter. However, this relies on the output routine once
+doing ~\stepcounter{page}~. Before Stephan's
+suggestion, I had thought of appending the stepping to
+\LaTeX's ~\@outputpage~.---So the macro definition ends
+as follows.
+\begin{code}\begin{verbatim}
+   \string\@LN{\the\c at linenumber}{%
+\end{verbatim}
+\end{code}
+(New v4.2)
+The `truepage' counter must start with ~\c@~ so it works
+with ~\include~, and the ~\@addtoreset~ below is needed
+for the same purpose.
+\begin{code}\begin{verbatim}
+     \noexpand\the\c at LN@truepage}}}
+ 
+\newcount\c at LN@truepage
+\g at addto@macro\cl at page{\global\advance\c at LN@truepage\@ne}
+\@addtoreset{LN at truepage}{@ckpt}
+\end{verbatim}
+\end{code}
+(/New v4.2)                I had thought of offering more
+features of a \LaTeX\ counter. However, the user should
+better \emph{not} have access to this counter. ~\c at page~
+should suffice as a pagewise master counter.---To be sure,
+along the present lines the user \emph{can} manipulate
+~\c at LN@truepage~ by ~\stepcounter{page}~. E.g., she might
+do this in order to manually insert a photograph. Well,
+seems not to harm.
+
+The above usage of ~\g at addto@macro~ and ~\cl at page~ may be
+not as stable as Stephan intended. His proposal used
+~\xdef~ directly. But he used ~\cl at page~ as well, and who
+knows \dots{} And as to ~\g at addto@macro~, I have introduced
+it for list macros anyway.
+(/UL) (/New v4.00)
+
+From the aux-file we get one macro ~\LN at P~<page> for each
+page with line numbers on it.  This macro calls four other
+macros with one argument each.  These macros are
+dynamically defined to do tests and actions, to find out
+on which page the current line number is located.
+
+We need sort of a pointer to the first page with line
+numbers, initiallized to point to nothing:
+\begin{code}\begin{verbatim}
+\def\LastNumberedPage{first}
+\def\LN at Pfirst{\nextLN\relax}
+\end{verbatim}
+\end{code}
+The four dynamic macros are initiallized to reproduce
+themselves in an ~\xdef~
+\begin{code}\begin{verbatim}
+\let\lastLN\relax  % compare to last line on this page
+\let\firstLN\relax % compare to first line on this page
+\let\pageLN\relax  % get the page number, compute the linenumber
+\let\nextLN\relax  % move to the next page
+\end{verbatim}
+\end{code}
+During the end-document run through the aux-files, we
+disable ~\@LN~.  I may put in a check here later, to give
+a rerun recommendation.
+\begin{code}\begin{verbatim}
+\AtEndDocument{\let\@LN\@gobbletwo}
+\end{verbatim}
+\end{code}
+Now, this is the tricky part.  First of all, the whole
+definition of ~\@LN~ is grouped, to avoid accumulation
+on the save stack. Somehow ~\csname~<cs>~\endcsname~ pushes
+an entry, which stays after an ~\xdef~ to that <cs>.
+
+If ~\LN at P~<page> is undefined, initialize it with the
+current page and line number, with the
+\emph{pointer-to-the-next-page} pointing to nothing.  And
+the macro for the previous page will be redefined to point
+to the current one.
+
+If the macro for the current page already exists, just
+redefine the \emph{last-line-number} entry.
+
+Finally, save the current page number, to get the pointer to the
+following page later.
+\begin{code}\begin{verbatim}
+\def\@LN#1#2{{\expandafter\@@LN
+                 \csname LN at P#2C\@LN at column\expandafter\endcsname
+                 \csname LN at PO#2\endcsname
+                 {#1}{#2}}}
+ 
+\def\@@LN#1#2#3#4{\ifx#1\relax
+    \ifx#2\relax\gdef#2{#3}\fi
+    \expandafter\@@@LN\csname LN at P\LastNumberedPage\endcsname#1%
+    \xdef#1{\lastLN{#3}\firstLN{#3}%
+            \pageLN{#4}{\@LN at column}{#2}\nextLN\relax}%
+  \else
+    \def\lastLN##1{\noexpand\lastLN{#3}}%
+    \xdef#1{#1}%
+  \fi
+  \xdef\LastNumberedPage{#4C\@LN at column}}
+\end{verbatim}
+\end{code}
+The previous page macro gets its pointer to the
+current one, replacing the ~\relax~ with the cs-token
+~\LN at P~<page>.
+\begin{code}\begin{verbatim}
+\def\@@@LN#1#2{{\def\nextLN##1{\noexpand\nextLN\noexpand#2}%
+                \xdef#1{#1}}}
+\end{verbatim}
+\end{code}
+Now, to print a line number, we need to find the page,
+where it resides.  This will most probably be the page where
+the last one came from, or maybe the next page.  However, it can
+be a completely different one.  We maintain a cache,
+which is ~\let~ to the last page's macro.  But for now
+it is initialized to expand ~\LN at first~, where the poiner
+to the first numbered page has been stored in.
+\begin{code}\begin{verbatim}
+\def\NumberedPageCache{\LN at Pfirst}
+\end{verbatim}
+\end{code}
+To find out on which page the current ~\c at linenumber~ is,
+we define the four dynamic macros to do something usefull
+and execute the current cache macro.  ~\lastLN~ is run
+first, testing if the line number in question may be on a
+later page.  If so, disable ~\firstLN~, and go on to the
+next page via ~\nextLN~.
+\begin{code}\begin{verbatim}
+\def\testLastNumberedPage#1{\ifnum#1<\c at linenumber
+      \let\firstLN\@gobble
+  \fi}
+\end{verbatim}
+\end{code}
+Else, if ~\firstLN~ finds out that we need an earlier
+page,  we start over from the beginning. Else, ~\nextLN~
+will be disabled, and ~\pageLN~ will run
+~\gotNumberedPage~ with four arguments: the first line
+number on this column, the page number, the column
+number, and the first line on the page.
+\begin{code}\begin{verbatim}
+\def\testFirstNumberedPage#1{\ifnum#1>\c at linenumber
+     \def\nextLN##1{\testNextNumberedPage\LN at Pfirst}%
+  \else
+      \let\nextLN\@gobble
+      \def\pageLN{\gotNumberedPage{#1}}%
+  \fi}
+\end{verbatim}
+\end{code}
+We start with ~\pageLN~ disabled and ~\nextLN~ defined to
+continue the search with the next page.
+\begin{code}\begin{verbatim}
+\long\def \@gobblethree #1#2#3{}
+ 
+\def\testNumberedPage{%
+  \let\lastLN\testLastNumberedPage
+  \let\firstLN\testFirstNumberedPage
+  \let\pageLN\@gobblethree
+  \let\nextLN\testNextNumberedPage
+  \NumberedPageCache
+  }
+\end{verbatim}
+\end{code}
+When we switch to another page, we first have to make
+sure that it is there.  If we are done with the last
+page, we probably need to run \TeX\ again, but for the
+rest of this run, the cache macro will just return four
+zeros. This saves a lot of time, for example if you have
+half of an aux-file from an aborted run,  in the next run
+the whole page-list would be searched in vain again and
+again for the second half of the document.
+
+If there is another page, we iterate the search.
+\begin{code}\begin{verbatim}
+\def\testNextNumberedPage#1{\ifx#1\relax
+     \global\def\NumberedPageCache{\gotNumberedPage0000}%
+     \PackageWarningNoLine{lineno}%
+                    {Linenumber reference failed,
+      \MessageBreak  rerun to get it right}%
+   \else
+     \global\let\NumberedPageCache#1%
+   \fi
+   \testNumberedPage
+   }
+\end{verbatim}
+\end{code}
+\linelabel{demo2}
+\marginpar{\tiny\raggedright
+Let's see if it finds the label
+on page \pageref{demo},
+line \ref{demo}, and back here
+on page \pageref{demo2}, line
+\ref{demo2}.
+\unskip}%
+To separate the official hooks from the internals there is
+this equivalence, to hook in later for whatever purpose:
+\begin{code}\begin{verbatim}
+\let\getLineNumber\testNumberedPage
+\end{verbatim}
+\end{code}
+So, now we got the page where the number is on.  We
+establish if we are on an odd or even page, and calculate
+the final line number to be printed.
+\begin{code}\begin{verbatim}
+\newif\ifoddNumberedPage
+\newif\ifcolumnwiselinenumbers
+\columnwiselinenumbersfalse
+ 
+\def\gotNumberedPage#1#2#3#4{\oddNumberedPagefalse
+  \ifodd \if at twocolumn #3\else #2\fi\relax\oddNumberedPagetrue\fi
+  \advance\c at linenumber\@ne
+  \ifcolumnwiselinenumbers
+     \subtractlinenumberoffset{#1}%
+  \else
+     \subtractlinenumberoffset{#4}%
+  \fi
+  }
+\end{verbatim}
+\end{code}
+You might want to run the pagewise mode with running line
+numbers, or you might not.  It's your choice:
+\begin{code}\begin{verbatim}
+\def\runningpagewiselinenumbers{%
+  \let\subtractlinenumberoffset\@gobble
+  }
+ 
+\def\realpagewiselinenumbers{%
+  \def\subtractlinenumberoffset##1{\advance\c at linenumber-##1\relax}%
+  }
+ 
+\realpagewiselinenumbers
+\end{verbatim}
+\end{code}
+For line number references, we need a protected call to
+the whole procedure, with the requested line number stored
+in the ~\c at linenumber~ counter.  This is what gets printed
+to the aux-file to make a label:
+\begin{code}\begin{verbatim}
+\def\thePagewiseLineNumber{\protect
+       \getpagewiselinenumber{\the\c at linenumber}}%
+\end{verbatim}
+\end{code}
+And here is what happens when the label is refered to:
+\begin{code}\begin{verbatim}
+\def\getpagewiselinenumber#1{{%
+  \c at linenumber #1\relax\testNumberedPage
+  \thelinenumber
+  }}
+\end{verbatim}
+\end{code}
+%
+A summary of all per line expenses:
+\begin{description}\item
+[CPU:]  The ~\output~ routine is called for each line,
+and the page-search is done.
+\item
+[DISK:] One line of output to the aux-file for each
+numbered line
+\item
+[MEM:]  One macro per page. Great improvement over v1.02,
+which had one control sequence per line in
+addition.  It blew the hash table after some five
+thousand lines.
+\end{description}
+
+\subsection{%
+Twocolumn mode (New v3.06)
+\unskip}
+
+Twocolumn mode requires another patch to the ~\output~
+routine, in order to print a column tag to the .aux
+file.
+\begin{code}\begin{verbatim}
+\AtBeginDocument{% v4.2, revtex4.cls (e.g.).
+ % <- TODO v4.4+: Or better in \LineNoLaTeXOutput!?
+  \let\@LN at orig@makecol\@makecol}
+\def\@LN at makecol{%
+   \@LN at orig@makecol
+   \setbox\@outputbox \vbox{%
+      \boxmaxdepth \@maxdepth
+      \protected at write\@auxout{}{%
+          \string\@LN at col{\if at firstcolumn1\else2\fi}%
+      }%
+      \box\@outputbox
+   }% \vbox
+} %% TODO cf. revtexln.sty.
+ 
+\def\@LN at col{\def\@LN at column} % v4.22, removed #1.
+\@LN at col{1}
+\end{verbatim}
+\end{code}
+
+\subsection{%
+Numbering modulo $m$, starting at $f$
+\unskip}\label{ss:Mod}
+
+Most users want to have only one in five lines numbered.
+~\LineNumber~ is supposed to produce the outfit of the
+line number attached to the line,  while ~\thelinenumber~
+is used also for references, which should appear even if
+they are not multiples of five.
+
+(New v4.00)                   Moreover, some users want to
+control which line number should be printed first. Support
+of this is now introduced here---see ~\firstlinenumber~
+below.---~numline.sty~ by Michael Jaegermann and
+James Fortune offers controlling which \emph{final}
+line numbers should not be printed. What is
+it good for? We ignore this here until some user demands
+it.---Peter Wilson's ~ledmac.sty~ offers much different
+choices of line numbers to be printed, due to Wayne Sullivan.
+(/New v4.00)
+
+(New v4.22)   ~\c at linenumbermodulo~ is rendered a
+fake counter, as discussed since v4.00. So it can
+no longer be set by ~\setcounter~. ~\modulolinenumbers~
+serves this purpose. Well, does anybody want to do
+what worked with ~\addtocounter~? (Then please tell
+me.)---At least, ~\value~ still works. For the same
+purpose I rename the fake `firstlinenumber' counter
+~\n at ...~ to ~\c at ...~.                  (/New v4.22)
+\begin{old}\begin{verbatim}
+% \newcount\c at linenumbermodulo % removed for v4.22
+\end{verbatim}
+\end{old}
+
+
+(New v4.00)                                                             \par
+~\themodulolinenumber~ waits for being declared
+~\LineNumber~ by ~\modulolinenumbers~. (This has
+been so before, no change.) Here is how it
+looked before:
+\begin{old}\begin{verbatim}
+% \def\themodulolinenumber{{\@tempcnta\c at linenumber
+%   \divide\@tempcnta\c at linenumbermodulo
+%   \multiply\@tempcnta\c at linenumbermodulo
+%   \ifnum\@tempcnta=\c at linenumber\thelinenumber\fi
+%   }}
+\end{verbatim}
+\end{old}
+(UL)                   This was somewhat slow. This arithmetic
+happens at every line. This time I tend to declare an extra
+line counter (as opposed to my usual recommendations to use
+counters as rarely as possible) which is stepped every line.
+It could be incremented in the same way as ~\c at LN@truepage~
+is incremented via ~\cl at page~! This is another point in favour
+of ~{linenumber}~ being a \LaTeX\ counter!
+When this new counter equals ~\c at linenumbermodulo~, it is reset,
+and ~\thelinenumber~ is executed.---It gets much slower by my
+support of controlling the first line number below. I should
+improve this.---On
+the other hand, time expense means very little nowadays,
+while the number of \TeX\ counters still is limited.
+
+For the same purpose, moreover, attaching the line number
+box could be intercepted earlier (in ~\MakeLineNo~),
+without changing ~\LineNumber~. However, this may be
+bad for the latter's announcement as a wizard interface
+in section_\ref{s:UserCmds}.
+(/UL)
+
+Here is the new code. It is very near to my ~lnopatch.sty~
+code which introduced the first line number feature
+before.---I add starting with a ~\relax~ which is so often
+recommended---without understanding this really. At least,
+it will not harm.---Former group braces appear as
+~\begingroup~/~\endgroup~ here.
+\begin{code}\begin{verbatim}
+\def\themodulolinenumber{\relax
+  \ifnum\c at linenumber<\c at firstlinenumber \else
+    \begingroup
+      \@tempcnta\c at linenumber
+      \advance\@tempcnta-\c at firstlinenumber
+      \divide\@tempcnta\c at linenumbermodulo
+      \multiply\@tempcnta\c at linenumbermodulo
+      \advance\@tempcnta\c at firstlinenumber
+      \ifnum\@tempcnta=\c at linenumber \thelinenumber \fi
+    \endgroup
+  \fi
+}
+\end{verbatim}
+\end{code}
+(/New v4.00)
+
+The user command to set the modulo counter:
+(New v4.31) \dots\ a star variant is introduced to implement
+Hillel Chayim Yisraeli's idea to print the first line number
+after an interruption of the edited text by some editor's
+text, regardless of the modulo. If it is 1, it is printed only
+with ~\firstlinenumber{1}~. I.e., you use ~\modulolinenumbers*~
+for the new feature, without the star you get the simpler
+behaviour that we have had so far. And you can switch back
+from the refined behaviour to the simple one by using
+~\modulolinenumbers~ without the star.---This enhancement
+is accompanied by a new package option ~modulo*~ which just
+executes ~\modulolinenumbers*~
+(subsection_\ref{ss:v3opts}).---`With ~\firstlinenumber{1}~'
+exactly means: `1' is printed if and only if the last
+~\firstlinenumber~ before or in the paragraph that follows
+the ``interruption'' has argument `1' (or something
+\emph{expanding} to `1', or (to) something that \TeX\
+``reads'' as 1, e.g.: a \TeX\ count register storing
+1).---At present, this behaviour may be unsatisfactory with
+pagewise line-numbering $\dots$ I'll make an experimental
+extra package if someone complains \dots
+\begin{code}\begin{verbatim}
+\newcommand\modulolinenumbers{%
+  \@ifstar
+    {\def\@LN at maybe@moduloresume{%
+       \global\let\@LN at maybe@normalLineNumber
+                            \@LN at normalLineNumber}%
+                                       \@LN at modulolinenos}%
+    {\let\@LN at maybe@moduloresume\relax \@LN at modulolinenos}%
+}
+ 
+\global\let\@LN at maybe@normalLineNumber\relax
+\let\@LN at maybe@moduloresume\relax
+\gdef\@LN at normalLineNumber{%
+  \ifnum\c at linenumber=\c at firstlinenumber \else
+    \ifnum\c at linenumber>\@ne
+      \def\LineNumber{\thelinenumber}%
+    \fi
+  \fi
+\end{verbatim}
+\end{code}
+~\def~ instead of ~\let~ enables taking account of a
+redefinition of ~\thelinenumber~ in a present numbering
+environment (e.g.).
+\begin{code}\begin{verbatim}
+  \global\let\@LN at maybe@normalLineNumber\relax}
+\end{verbatim}
+\end{code}
+Instead of changing ~\LineNumber~ directly by
+~LN at moduloresume~, these tricks enable ~\modulolinenumbers*~
+to act as locally as I can make it. I don't know how to
+avoid that the output routine switches back to the normal
+modulo behaviour by a global change. (An ~\aftergroup~ may
+fail in admittedly improbable cases.)
+\begin{code}\begin{verbatim}
+\newcommand*\@LN at modulolinenos[1][\z@]{%
+\end{verbatim}
+\end{code}
+The definition of this macro is that of the former
+~\modulolinenumbers~.                 (/New v4.31)
+\begin{code}\begin{verbatim}
+  \let\LineNumber\themodulolinenumber
+  \ifnum#1>\@ne
+    \chardef                      % v4.22, note below
+      \c at linenumbermodulo#1\relax
+  \else\ifnum#1=\@ne
+\end{verbatim}
+\end{code}
+\begin{old}\begin{verbatim}
+%    \def\LineNumber{\thelinenumber}%
+\end{verbatim}
+\end{old}
+(New v4.00)         I am putting something here to enable
+~\firstlinenumber~ with $~\c at linenumbermodulo~=1$.
+With ~lnopatch.sty~, a trick was offered for this purpose.
+It is now obsolete.
+
+\begin{code}\begin{verbatim}
+    \def\LineNumber{\@LN at ifgreat\thelinenumber}%
+\end{verbatim}
+\end{code}
+(/New v4.00)
+\begin{code}\begin{verbatim}
+  \fi\fi
+  }
+\end{verbatim}
+\end{code}
+(New v4.00)                The default of ~\@LN at ifgreat~ is
+\begin{code}\begin{verbatim}
+\let\@LN at ifgreat\relax
+\end{verbatim}
+\end{code}
+The previous changes as soon as ~\firstlinenumber~ is used:
+\begin{code}\begin{verbatim}
+\newcommand*\firstlinenumber[1]{%
+  \chardef\c at firstlinenumber#1\relax
+\end{verbatim}
+\end{code}
+No counter, little values allowed only---OK?---(UL)
+The change is local---OK? The good thing is that
+~\global\firstlinenumber{~<number>~}~ works. Moreover,
+~\modulolinenumbers~ acts locally as well.    (/UL)
+
+(New v4.31)
+\begin{code}\begin{verbatim}
+  \let\@LN at ifgreat\@LN at ifgreat@critical}
+ 
+\def\@LN at ifgreat@critical{%
+  \ifnum\c at linenumber<\c at firstlinenumber
+    \expandafter \@gobble
+  \fi}%
+\end{verbatim}
+\end{code}
+(/New v4.31)
+
+The default
+value of ~\c at firstlinenumber~                                %% v4.31
+is 0. This is best for what one would expect from modulo
+printing.
+\begin{code}\begin{verbatim}
+\let\c at firstlinenumber=\z@
+\end{verbatim}
+\end{code}
+
+For usage and effects of ~\modulolinenumbers~ and            %% v4.31
+~\firstlinenumbers~, please consult section_\ref{s:UserCmds}.
+Two details on ~\firstlinenumbers~ here:
+(i)_~\firstlinenumber~ acts on a paragraph if and only if
+(a)_the paragraph is broken into lines ``in line-numbering
+mode'' (after ~\linenumbers~, e.g.);
+(b)_it is the last occurrence of a ~\firstlinenumbers~
+before or in the paragraph.
+(The practical applications of this that I can imagine
+don't seem appealing to me.)
+Cf._the explanation above of how ~\modulolinenumbers~ and
+~\firstlinenumbers~ interact---for this and for (ii),
+which is concerned with possible arguments for
+~\firstlinenumbers~.
+
+Note that the line numbers of the present section
+demonstrate the two devices.         (/New v4.00)
+\begin{code}\begin{verbatim}
+\chardef\c at linenumbermodulo=5      % v4.2; ugly?
+\modulolinenumbers[1]
+\end{verbatim}
+\end{code}
+(New v4.22)       The new implementation through ~\chardef~
+decreases the functionality and raises certain compatibility
+problems. I face this without fear. The maximum modulo value
+is now ~255~. I expect that this suffices for usual applications.
+However, some users have ``abused'' ~lineno.sty~ to get
+~ednotes.sty~ features without line numbers, so have set the
+modulo to a value beyond the total number of lines in their
+edition. This ought to be replaced by
+~\let\makeLineNumber\relax~.          (/New v4.22)
+
+\section{%
+Package options
+\unskip}\label{s:Opts}
+
+(New v4.1)
+The last heading formerly was the heading of what is now
+subsection_\ref{ss:v3opts}. The options declared there were
+said to execute user commands only. This was wrong already
+concerning ~displaymath~ and ~hyperref~. At least, however,
+these options were no or almost no occasion to skip definitions
+or allocations. This is different with the options that we now
+insert.
+
+
+\subsection{%
+Extended referencing to line numbers. (v4.2)
+\unskip}
+This subsection explains and declares package option ~addpageno~.   %% v4.31
+
+If a line to whose number you refer by ~\ref~ is not on the
+present page, it may be useful to add the number of the page
+on which the line occurs---and perhaps it should not be added
+otherwise. In general, you could use the Standard \LaTeX\
+package varioref for this. However, the latter usually
+produces verbose output like `on the preceding page'---
+unless costumized---, while in critical editions, e.g., one
+may prefer just adding the page number and some mark on the
+left of the line number, irrespectively of how far the page is
+apart etc. To support this, package option ~addpageno~
+provides a command ~\vpagelineref~ to be used in place of
+~\ref~. This produces, e.g., `34.15' when referring to line_15
+on page_34 while the present page is not 34. You can customize
+the outcome, see the package file ~vplref.sty~ where the code
+and further details are. You may conceive of
+~\vpagelineref~ as a certain customization of varioref's
+~\vref~.
+
+This implies that option ~addpageno~ requires the files
+~vplref.sty~ and ~varioref.sty~. ~addpageno~ automatically
+loads both of them. Yet you can also load ~varioref.sty~
+on your own to use its package options.
+
+Of course, you might better introduce a shorter command name
+for ~\vpagelineref~ for your work, while we cannot predict
+here what shorthand will fit your work. E.g.,
+~\newcommand{\lref}{\vpagelineref}~.
+
+If you really want to add the page number in \emph{any} case,
+use, e.g., some ~\myref~ instead of ~\ref~, after
+\[~newcommand*{\myref}{\pageref{#1}.\ref{#1}}~\]
+or what you like. You don't need the ~addpageno~ option in
+this case.
+
+~addpageno~ is due to a suggestion by Sergei Mariev.
+\begin{code}\begin{verbatim}
+\DeclareOption{addpageno}{%
+  \AtEndOfPackage{\RequirePackage{vplref}[2005/04/25]}}
+\end{verbatim}
+\end{code}
+\subsection{%
+\scs{linelabel} in math mode
+\unskip}\label{ss:MathRef}
+
+We have made some first steps towards allowing ~\linelabel~ in
+math mode. Because our code for this is presently experimental,
+we leave it to the user to decide for the experiment by calling
+option ~mathrefs~. We are in a hurry now and thus leave the
+code, explanations, and discussion in the separate package
+~ednmath0.sty~. Maybe we later find the time to improve the
+code and move the relevant content of ~ednmath0.sty~ to here.
+The optimal situation would be to define ~\linelabel~ from
+the start so it works in math mode, omitting the ~mathrefs~
+option.
+
+Actually, this package even provides adjustments for analogously
+allowing ~ednotes.sty~ commands in math mode. Loading the package
+is postponed to ~\AtBeginDocument~ when we know whether these
+adjustments are needed.
+\begin{code}\begin{verbatim}
+\DeclareOption{mathrefs}{\AtBeginDocument
+  {\RequirePackage{ednmath0}[2004/08/20]}}
+\end{verbatim}
+\end{code}
+
+\subsection{%
+Arrays, tabular environments (Revised v4.11)
+\unskip}\label{ss:Tab}
+
+This subsection explains and declares package options               %% v4.31
+~edtable~, ~longtable~, and ~nolongtablepatch~.
+
+The standard \LaTeX\ tabular environments come as single
+boxes, so the ~lineno.sty~ versions before v4.00 treated them as
+(parts of) single lines, printing (at most) one line number
+beside each and stepping the line number counter once only.
+Moreover, ~\linelabel~s got lost. Of course, tables are
+usually so high that you will want to treat each row like a
+line. (Christian Tapp even desires that the lines of table
+entries belonging to a single row are treated like ordinary
+lines.) Footnotes get lost in such environments as well, which
+was bad for ~ednotes.sty~.
+
+We provide adjustments to count lines, print their numbers
+etc.\ as desired at least for \emph{some} \LaTeX\ tabular
+environments. (Like with other details, ``some'' is to some
+extent explained in ~edtable.sty~.) We do this similarly as
+with option ~mathrefs~ before.               We leave code
+and explanations in the separate package ~edtable.sty~.
+(For wizards: this package provides adjustments for
+~ednotes.sty~ as well. However, in the present case we don't try
+to avoid them unless ~ednotes.sty~ is loaded.)
+Package option ~edtable~
+defines---by loading ~edtable.sty~---an environment ~{edtable}~
+which is able to change some \LaTeX\ tabular environments
+with the desired effects. (v4.11: ~edtable.sty~ v1.3 counts
+\LaTeX's ~{array}~ [etc.\@] as a ``tabular environment'' as
+well.)
+
+The ~{edtable}~ environment doesn't help with ~longtable.sty~,
+however. To make up for this, ~{longtable}~ is adjusted in a
+different way---and this happens only when another ~lineno.sty~
+option ~longtable~ is called. In this case, option ~edtable~
+needn't be called explicitly: option ~longtable~ works as if
+~edtable~ had been called.
+
+Now, we are convinced that vertical spacing around
+~{longtable}~ works wrongly---see \LaTeX\ bugs database
+tools/3180 and 3485, or see explanations in the package
+~ltabptch.sty~ (which is to be obtained from CTAN folder
+\path{macros/latex/ltabptch}). Our conviction is so strong
+that the ~longtable~ option loads---after ~longtable.sty~---the
+patch package ~ltabptch.sty~. If the user doesn't want this
+(maybe preferring her own arrangement with the vertical
+spacing), she can forbid it by calling ~nolongtablepatch~.
+
+The following code just collects some choices, which are
+then executed in section_\ref{ss:ExOpt}. We use an ~\if...~
+without ~\newif~ since ~\if...true~ and ~\if...false~
+would occur at most two times and only within the present
+package. (~\AtEndOfClass{\RequirePackage{edtable}}~
+could be used instead, I just overlooked this. Now I don't
+change it because it allows to change the version requirement
+at one place only.)
+\begin{code}\begin{verbatim}
+\let\if at LN@edtable\iffalse
+ 
+\DeclareOption{edtable}{\let\if at LN@edtable\iftrue}
+ 
+\DeclareOption{longtable}{\let\if at LN@edtable\iftrue
+  \PassOptionsToPackage{longtable}{edtable}}
+ 
+\DeclareOption{nolongtablepatch}{%
+  \PassOptionsToPackage{nolongtablepatch}{edtable}}
+\end{verbatim}
+\end{code}
+(/New v4.1)
+
+\subsection{%
+Switch among settings
+\unskip}\label{ss:v3opts}
+
+There is a bunch of package options that execute                     %% v4.2
+user commands only.
+
+Options ~left~ (~right~) put the line numbers on the left
+(right) margin.  This works in all modes.  ~left~ is the
+default.
+\begin{code}\begin{verbatim}
+\DeclareOption{left}{\leftlinenumbers*}
+ 
+\DeclareOption{right}{\rightlinenumbers*}
+\end{verbatim}
+\end{code}
+Option ~switch~ (~switch*~) puts the line numbers on the
+outer (inner) margin of the text.   This requires running
+the pagewise mode,  but we turn off the page offset
+subtraction, getting sort of running numbers again.  The
+~pagewise~ option may restore true pagewise mode later.
+\begin{code}\begin{verbatim}
+\DeclareOption{switch}{\setpagewiselinenumbers
+                       \switchlinenumbers
+                       \runningpagewiselinenumbers}
+ 
+\DeclareOption{switch*}{\setpagewiselinenumbers
+                        \switchlinenumbers*%
+                        \runningpagewiselinenumbers}
+\end{verbatim}
+\end{code}
+In twocolumn mode, we can switch the line numbers to
+the outer margin, and/or start with number 1 in each
+column.  Margin switching is covered by the ~switch~
+options.
+\begin{code}\begin{verbatim}
+\DeclareOption{columnwise}{\setpagewiselinenumbers
+                           \columnwiselinenumberstrue
+                           \realpagewiselinenumbers}
+\end{verbatim}
+\end{code}
+The options ~pagewise~ and ~running~ select the major
+linenumber mechanism.  ~running~ line numbers refer to a real
+counter value, which can be reset for any paragraph,
+even getting  multiple paragraphs on one page starting
+with line number one.  ~pagewise~ line numbers get a
+unique hidden number within the document,  but with the
+opportunity to establish the page on which they finally
+come to rest.  This allows the subtraction of the page
+offset, getting the numbers starting with 1 on top of each
+page, and margin switching in twoside formats becomes
+possible.  The default mode is ~running~.
+
+The order of declaration of the options is important here
+~pagewise~ must come after ~switch~, to overide running
+pagewise mode. ~running~ comes last, to reset the running
+line number mode, e.g, after selecting margin switch mode
+for ~pagewise~ running.  Once more, if you specify all
+three of the options ~[switch,pagewise,running]~, the
+result is almost nothing, but if you later say
+~\pagewiselinenumbers~,  you get margin switching, with
+real pagewise line numbers.
+
+\begin{code}\begin{verbatim}
+\DeclareOption{pagewise}{\setpagewiselinenumbers
+                         \realpagewiselinenumbers}
+ 
+\DeclareOption{running}{\setrunninglinenumbers}
+\end{verbatim}
+\end{code}
+The option ~modulo~ causes only those linenumbers to be
+printed which are multiples of five.
+\begin{code}\begin{verbatim}
+\DeclareOption{modulo}{\modulolinenumbers\relax}
+\end{verbatim}
+\end{code}
+Option ~modulo*~ modifies ~modulo~ in working like
+~\modulolinenumbers*~---see section_\ref{s:UserCmds}.
+\begin{code}\begin{verbatim}
+\DeclareOption{modulo*}{\modulolinenumbers*\relax}
+\end{verbatim}
+\end{code}
+The package option ~mathlines~ switches the behavior of
+the ~{linenomath}~ environment with its star-form.
+Without this option, the ~{linenomath}~ environment does
+not number the lines of the display, while the star-form
+does.  With this option, its just the opposite.
+
+\begin{code}\begin{verbatim}
+\DeclareOption{mathlines}{\linenumberdisplaymath}
+\end{verbatim}
+\end{code}
+~displaymath~ now calls for wrappers of the standard
+\LaTeX\ display math environment.  This was previously
+done by ~mlineno.sty~.
+
+(New v4.3) Option `displaymath' becomes default according
+to Erik \mbox{Luijten}'s suggestion. I was finally convinced
+of this as soon as I discovered how to avoid a spurious line
+number above ~\begin{linenomath}~ (subsection_\ref{ss:DM}).
+~\endlinenomath~ provides ~\ignorespaces~, so what could go
+wrong now?
+\begin{code}\begin{verbatim}
+\DeclareOption{displaymath}{\PackageWarningNoLine{lineno}{%
+                Option [displaymath] is obsolete -- default now!}}
+\end{verbatim}
+\end{code}
+(/New v4.3)
+
+\subsection{%
+Compatibility with \texttt{hyperref}      %% own subsec. v4.3.
+\unskip}
+The ~hyperref~ package, via ~nameref~, requires three more
+groups in the second argment of a ~\newlabel~.  Well, why
+shouldn't it get them?  (New v3.07) The presence of the
+~nameref~ package is now detected automatically
+~\AtBeginDocument~. (/New v3.07) (Fixed in v3.09)  We try
+to be smart, and test ~\AtBeginDocument~ if the ~nameref~
+package is loaded, but ~hyperref~ postpones the loading of
+~nameref~ too, so this is all in vain.
+
+(New v4.3)  But we can also test at the first ~\linelabel~.
+Regarding the error-message for misplaced ~\linelabel~ from v4.11:
+previously, ~\linenumbers~ rendered ~\linelabel~ the genuine
+version of ~\linelabel~ from the start on. This doesn't work
+now, since ~\@LN at linelabel~ may change its meaning after the
+first ~\linenumbers~ and before a next one (if there is some).
+(/New v4.3)
+\begin{code}\begin{verbatim}
+\DeclareOption{hyperref}{\PackageWarningNoLine{lineno}{%
+                Option [hyperref] is obsolete.
+  \MessageBreak The hyperref package is detected automatically.}}
+ 
+\AtBeginDocument{%
+  \@ifpackageloaded{nameref}{%
+\end{verbatim}
+\end{code}
+(New v4.3)  ``Global'' is merely ``symbolic'' ~\AtBeginDoc...~.
+If ~nameref~ is not detected here, the next ~\@LN at linelabel~
+will do almost the same, then globally indeed.
+\begin{code}\begin{verbatim}
+    \gdef\@LN at ExtraLabelItems{{}{}{}}%
+  }{%
+    \global\let\@LN@@linelabel\@LN at linelabel
+    \gdef\@LN at linelabel{%
+\end{verbatim}
+\end{code}
+~\@ifpackageloaded~ is ``preamble only'', its---very
+internal---preamble definition is replicated here:
+\begin{code}\begin{verbatim}
+     \expandafter
+      \ifx\csname ver at nameref.sty\endcsname\relax \else
+        \gdef\@LN at ExtraLabelItems{{}{}{}}%
+      \fi
+\end{verbatim}
+\end{code}
+Now aim at the ``usual'' behaviour:
+\begin{code}\begin{verbatim}
+      \global\let\@LN at linelabel\@LN@@linelabel
+      \global\let\@LN@@linelabel\relax
+      \@LN at linelabel
+    }%
+  }%
+}
+\end{verbatim}
+\end{code}
+(/New v4.3)
+
+(New v4.1)
+\subsection{%
+A note on calling so many options
+\unskip}
+
+The number of package options may stimulate worrying about how to
+\emph{enter} all the options that one would like to use---they may
+not fit into one line. Fortunately, you can safely break code lines
+after the commas separating the option names in the ~\usepackage~
+command (no comment marks needed).
+
+\subsection{%
+Execute options
+\unskip}\label{ss:ExOpt}
+
+We stop declaring options and execute the ones that are
+called by the user.       (/New v4.1)
+\begin{code}\begin{verbatim}
+\ProcessOptions
+\end{verbatim}
+\end{code}
+(New v4.1)        Now we know whether ~edtable.sty~ is wanted
+and (if it is) with which options it is to be called.
+\begin{code}\begin{verbatim}
+\if at LN@edtable \RequirePackage{edtable}[2005/03/07] \fi
+\end{verbatim}
+\end{code}
+(/New v4.1)
+
+\section{%
+Former package extensions
+\label{s:Xt}\unskip}
+
+The extensions in this section were previously supplied
+in separate ~.sty~ files.
+
+\subsection{%
+$display math$
+\unskip}\label{ss:display}
+(New v4.3)    From now on, you no longer need to type
+the ~{linenomath}~ environment with the ~\[~, ~{equation}~,
+and ~{eqnarray}~ environments---and you no longer need to
+use the former package option ~displaymath~ for this feature.
+(/New v4.3)
+
+The standard \LaTeX\ display math environments are
+wrapped in a ~{linenomath}~ environment.
+
+(New 3.05)  The ~[fleqn]~ option of the standard
+\LaTeX\ classes defines the display math
+environments such that line numbers appear just
+fine.  Thus, we need not do any tricks when
+~[fleqn]~ is loaded, as indicated by presents of
+the ~\mathindent~ register.           (/New 3.05)
+
+(New 3.05a)  for ~{eqnarray}~s we rather keep the
+old trick.                            (/New 3.05a)
+
+(New 3.08) Wrap ~\[~ and ~\]~ into ~{linenomath}~,
+instead of ~{displaymath}~.  Also save the definition
+of ~\equation~, instead of replicating the current
+\LaTeX\ definition.                    (/New 3.08)
+\begin{code}\begin{verbatim}
+ \@ifundefined{mathindent}{
+ 
+  \let\LN at displaymath\[%
+  \let\LN at enddisplaymath\]%
+  \renewcommand\[{\begin{linenomath}\LN at displaymath}%
+  \renewcommand\]{\LN at enddisplaymath\end{linenomath}}%
+\end{verbatim}
+\end{code}
+
+\begin{code}\begin{verbatim}
+  \let\LN at equation\equation
+  \let\LN at endequation\endequation
+  \renewenvironment{equation}%
+     {\linenomath\LN at equation}%
+     {\LN at endequation\endlinenomath}%
+ 
+ }{}% \@ifundefined{mathindent} -- 3rd arg v4.2, was \par!
+ 
+  \let\LN at eqnarray\eqnarray
+  \let\LN at endeqnarray\endeqnarray
+  \renewenvironment{eqnarray}%
+     {\linenomath\LN at eqnarray}%
+     {\LN at endeqnarray\endlinenomath}%
+\end{verbatim}
+\end{code}
+(UL)        Indeed. The \LaTeX\ macros are saved for
+unnumbered mode, which is detected by ~\linenomath~.
+(/UL)
+
+\subsection{%
+Line numbers in internal vertical mode
+\unskip}\label{ss:ILN}
+
+The command ~\internallinenumbers~ adds line numbers in
+internal vertical mode, but with limitations: we assume
+fixed baseline skip.
+
+(v4.22)       v3.10 provided a global (~\global\advance~)
+as well as a local version (star-form, using
+~\c at internallinenumber~). ~\resetlinenumbers~ acted
+locally and was here used with the global version---save
+stack danger, \TeX book p._301---in v4.00 I
+disabled the global version therefore. Now I find that
+it is better to keep a global version, and the now global
+~\resetlinenumbers~ is perfect for this. The global version
+allows continuing the ``internal'' numbers in the ensuing
+``external'' text, and---unless reset by brackets
+argument---continuing the above series of line numbers.
+As with v3.10, the local version always starts with
+line number one. A new ~\@LN at iglobal~ steps ~\global~ly
+in the global version, otherwise it is ~\relax~.
+(I also remove all my stupid discussions as of v4.00.
+And I use ~\newcommand~.)     (v4.22)
+\begin{code}\begin{verbatim}
+\let\@LN at iglobal\global                           % v4.22
+ 
+\newcommand\internallinenumbers{\setrunninglinenumbers
+     \let\@@par\internallinenumberpar
+     \ifx\@par\@@@par\let\@par\internallinenumberpar\fi
+     \ifx\par\@@@par\let\par\internallinenumberpar\fi
+     \ifx\@par\linenumberpar\let\@par\internallinenumberpar\fi
+     \ifx\par\linenumberpar\let\par\internallinenumberpar\fi
+     \@ifnextchar[{\resetlinenumber}%]
+                 {\@ifstar{\let\c at linenumber\c at internallinenumber
+                           \let\@LN at iglobal\relax % v4.22
+                           \c at linenumber\@ne}{}}%
+     }
+ 
+\let\endinternallinenumbers\endlinenumbers
+\@namedef{internallinenumbers*}{\internallinenumbers*}
+\expandafter\let\csname endinternallinenumbers*\endcsname\endlinenumbers
+ 
+\newcount\c at internallinenumber
+\newcount\c at internallinenumbers
+ 
+\newcommand\internallinenumberpar{%
+     \ifvmode\@@@par\else\ifinner\@@@par\else\@@@par
+     \begingroup
+        \c at internallinenumbers\prevgraf
+        \setbox\@tempboxa\hbox{\vbox{\makeinternalLinenumbers}}%
+        \dp\@tempboxa\prevdepth
+        \ht\@tempboxa\z@
+        \nobreak\vskip-\prevdepth
+        \nointerlineskip\box\@tempboxa
+     \endgroup
+     \fi\fi
+     }
+ 
+\newcommand\makeinternalLinenumbers{%
+   \ifnum\c at internallinenumbers>\z@               % v4.2
+   \hb at xt@\z@{\makeLineNumber}%
+   \@LN at iglobal                                   % v4.22
+     \advance\c at linenumber\@ne
+   \advance\c at internallinenumbers\m at ne
+   \expandafter\makeinternalLinenumbers\fi
+   }
+ % TODO v4.4+: star: line numbers right!? cf. lnocapt.sty
+\end{verbatim}
+\end{code}
+
+\subsection{%
+Line number references with offset
+\unskip}
+
+This extension defines macros to refer to line
+numbers with an offset, e.g., to refer to a line
+which cannot be labeled directly (display math).
+This was formerly knows as ~rlineno.sty~.
+
+To refer to a pagewise line number with offset:
+\begin{quote}
+~\linerefp[~<OFFSET>~]{~<LABEL>~}~
+\end{quote}
+To refer to a running line number with offset:
+\begin{quote}
+~\linerefr[~<OFFSET>~]{~<LABEL>~}~
+\end{quote}
+To refer to a line number labeled in the same mode as currently
+selected:
+\begin{quote}
+~\lineref[~<OFFSET>~]{~<LABEL>~}~
+\end{quote}
+\begin{code}\begin{verbatim}
+\newcommand\lineref{%
+  \ifx\c at linenumber\c at runninglinenumber
+     \expandafter\linerefr
+  \else
+     \expandafter\linerefp
+  \fi
+}
+ 
+\newcommand*\linerefp[2][\z@]{{%
+   \let\@thelinenumber\thelinenumber
+   \edef\thelinenumber{\advance\c at linenumber#1\relax
+                       \noexpand\@thelinenumber}%
+   \ref{#2}%
+}}
+\end{verbatim}
+\end{code}
+This goes deep into \LaTeX's internals.
+\begin{code}\begin{verbatim}
+\newcommand*\linerefr[2][\z@]{{%
+   \def\@@linerefadd{\advance\c at linenumber#1}%
+   \expandafter\@setref\csname r@#2\endcsname
+   \@linerefadd{#2}%
+}}
+ 
+\newcommand*\@linerefadd[2]{\c at linenumber=#1\@@linerefadd\relax
+                            \thelinenumber}
+\end{verbatim}
+\end{code}
+
+\subsection{%
+Numbered quotation environments
+\unskip}
+
+The ~{numquote}~ and ~{numquotation}~
+environments are like ~{quote}~ and
+~{quotation}~, except there will be line
+numbers.
+
+An optional argument gives the number to count
+from.  A star ~*~ (inside or outside the closing
+~}~) prevent the reset of the line numbers.
+Default is to count from one.
+
+(v4.22: A local version using ~\c at internallinenumber~
+might be useful, see subsection_\ref{ss:ILN}.)                 %% TODO v4.4+
+\begin{code}\begin{verbatim}
+\newcommand\quotelinenumbers
+   {\@ifstar\linenumbers{\@ifnextchar[\linenumbers{\linenumbers*}}}
+ 
+\newdimen\quotelinenumbersep
+\quotelinenumbersep=\linenumbersep
+\let\quotelinenumberfont\linenumberfont
+ 
+\newcommand\numquotelist
+   {\leftlinenumbers
+    \linenumbersep\quotelinenumbersep
+    \let\linenumberfont\quotelinenumberfont
+    \addtolength{\linenumbersep}{-\@totalleftmargin}%
+    \quotelinenumbers
+   }
+ 
+\newenvironment{numquote}     {\quote\numquotelist}{\endquote}
+\newenvironment{numquotation} {\quotation\numquotelist}{\endquotation}
+\newenvironment{numquote*}    {\quote\numquotelist*}{\endquote}
+\newenvironment{numquotation*}{\quotation\numquotelist*}{\endquotation}
+\end{verbatim}
+\end{code}
+
+\subsection{%
+Frame around a paragraph
+\unskip}
+
+The ~{bframe}~ environment draws a frame around
+some text, across page breaks, if necessary.
+
+This works only for plain text paragraphs,
+without special height lines. All lines must be
+~\baselineskip~ apart, no display math.
+\begin{code}\begin{verbatim}
+\newenvironment{bframe}
+  {\par
+   \@tempdima\textwidth
+   \advance\@tempdima 2\bframesep
+   \setbox\bframebox\hb at xt@\textwidth{%
+      \hskip-\bframesep
+      \vrule\@width\bframerule\@height\baselineskip\@depth\bframesep
+      \advance\@tempdima-2\bframerule
+      \hskip\@tempdima
+      \vrule\@width\bframerule\@height\baselineskip\@depth\bframesep
+      \hskip-\bframesep
+   }%
+   \hbox{\hskip-\bframesep
+         \vrule\@width\@tempdima\@height\bframerule\@depth\z@}%
+   \nointerlineskip
+   \copy\bframebox
+   \nobreak
+   \kern-\baselineskip
+   \runninglinenumbers
+   \def\makeLineNumber{\copy\bframebox\hss}%
+  }
+  {\par
+   \kern-\prevdepth
+   \kern\bframesep
+   \nointerlineskip
+   \@tempdima\textwidth
+   \advance\@tempdima 2\bframesep
+   \hbox{\hskip-\bframesep
+         \vrule\@width\@tempdima\@height\bframerule\@depth\z@}%
+  }
+ 
+\newdimen\bframerule
+\bframerule=\fboxrule
+ 
+\newdimen\bframesep
+\bframesep=\fboxsep
+ 
+\newbox\bframebox
+\end{verbatim}
+\end{code}
+
+\subsection{%
+\textsf{amsmath} patches
+\unskip}\label{ss:AMSMath}
+
+(New v5.0) Patches ~amsmath~ to work with ~lineno~. These patches used to be
+supplied by the ~linenoamsmath~ package. See ~linenoamsmathdemo.pdf~ for a
+demonstration.
+
+\begin{code}\begin{verbatim}
+\RequirePackage{etoolbox}
+ 
+\newcommand*\linenoamsmath at patch[1]{%
+  \cspreto{#1}{\linenomath}%
+  \cspreto{#1*}{\linenomath}%
+  \csappto{end#1}{\endlinenomath}%
+  \csappto{end#1*}{\endlinenomath}%
+}
+\newcount\linenoamsmath at ams@eqpen
+\cspreto{math at cr@}{\global\@eqpen\numexpr\@eqpen+\linenoamsmath at ams@eqpen\relax}
+\newcommand*\linenoamsmath at patch@ams[1]{%
+  \cspreto{#1}{%
+    \linenomath%
+    \postdisplaypenalty=0%
+    \global\linenoamsmath at ams@eqpen\interdisplaylinepenalty%
+  }%
+  \cspreto{#1*}{%
+    \linenomath%
+    \postdisplaypenalty=0%
+    \global\linenoamsmath at ams@eqpen\interdisplaylinepenalty%
+  }%
+  \csappto{end#1}{%
+    \global\linenoamsmath at ams@eqpen\z@%
+    \endlinenomath%
+  }%
+  \csappto{end#1*}{%
+    \global\linenoamsmath at ams@eqpen\z@%
+    \endlinenomath%
+  }%
+}
+\linenoamsmath at patch{equation}
+\linenoamsmath at patch@ams{multline}
+\linenoamsmath at patch@ams{gather}
+\linenoamsmath at patch@ams{align}
+\linenoamsmath at patch@ams{alignat}
+\linenoamsmath at patch@ams{flalign}
+\let\linenoamsmath at ams@mmeasure\mmeasure@
+\def\mmeasure@#1{%
+  \global\linenoamsmath at ams@eqpen\z@%
+  \begingroup%
+  \interdisplaylinepenalty=0%
+  \linenoamsmath at ams@mmeasure{#1\\}%
+  \endgroup%
+  \global\linenoamsmath at ams@eqpen\interdisplaylinepenalty%
+}
+\end{verbatim}
+\end{code}
+
+
+\section{%
+Move \scs{vadjust} items (New v4.00)
+\unskip}\label{s:MVadj}
+
+This section completes reviving ~\pagebreak~, ~\nopagebreak~,
+~\vspace~, and the star and optional form of ~\\~. This was
+started in section_\ref{ss:output} and resumed in
+section_\ref{ss:MLN} and subsection_\ref{ss:calls}.
+The problem was explained in section_\ref{ss:output}:
+~\vadjust~ items come out at a bad position, and the
+\LaTeX\ commands named before work with ~\vadjust~ indeed.
+Our solution was sketched there as well.
+
+According to the caveat in subsection_\ref{ss:OnOff} concerning
+~\ifLineNumbers~, the \LaTeX\ commands enumerated may go
+wrong if you switch line numbering inside or at the end of
+a paragraph.
+
+\subsection{%
+Redefining \scs{vadjust}
+\unskip}\label{ss:PVadj}
+
+~\vadjust~ will temporarily be changed into the following
+command.
+\begin{code}\begin{verbatim}
+\def\PostponeVadjust#1{%
+  \global\let\vadjust\@LN@@vadjust
+\end{verbatim}
+\end{code}
+This undoes a ~\global\let\vadjust\PostponeVadjust~ which will
+start each of the refined \LaTeX\ commands. The ~\global~s
+are most probably superfluous. They might be useful should one
+~\vadjust~ appear in a group starting after the change of
+~\vadjust~ into ~\PostponeVadjust~.
+(UL) Even the undoing may be superfluous, cf._discussion
+in section_\ref{ss:ReDef} below.  (UL)
+\begin{code}\begin{verbatim}
+  \vadjust{\penalty-\@Mppvacodepen}%
+  \g at addto@macro\@LN at vadjustlist{#1\@lt}%
+}
+\let\@LN@@vadjust\vadjust
+\global\let\@LN at vadjustlist\@empty
+\global\let\@LN at do@vadjusts\relax
+\end{verbatim}
+\end{code}
+These ~\global~s are just to remind that
+all the changes of the strings after ~\let~ should be
+~\global~ (\TeX book p._301). ~\@LN at vadjustlist~ collects
+the ~\vadjust~ items of a paragraph. ~\PassVadjustList~
+tears one ~\vadjust~ item for the current line out of
+~\@LN at vadjustlist~ and puts it into ~\@LN at do@vadjusts~.
+The latter is encountered each line in ~\MakeLineNo~
+(section_\ref{ss:MLN}), while those \LaTeX\ ~\vadjust~
+commands will come rather rarely. So I decided that
+~\@LN at do@vadjust~ is ~\relax~ until a ~\vadjust~ item
+is waiting. In the latter case, ~\@LN at do@vadjusts~
+is turned into a list macro which resets itself to
+~\relax~ when the other contents have been placed in
+the vertical list.---~\PassVadjustList~ is invoked by
+the output routine (section_\ref{ss:output}), so the
+~\box255~ must be put back.
+\begin{code}\begin{verbatim}
+\def\PassVadjustList{%
+  \unvbox\@cclv
+  \expandafter \@LN at xnext \@LN at vadjustlist \@@
+                          \@tempa \@LN at vadjustlist
+  \ifx\@LN at do@vadjusts\relax
+    \gdef\@LN at do@vadjusts{\global\let\@LN at do@vadjusts\relax}%
+  \fi
+  \expandafter \g at addto@macro \expandafter \@LN at do@vadjusts
+    \expandafter {\@tempa}%
+}
+\end{verbatim}
+\end{code}
+
+\subsection{%
+Redefining the \LaTeX\ commands
+\unskip}\label{ss:ReDef}
+
+Now we change ~\pagebreak~ etc.\
+so that they use ~\PostponeVadjust~ in place of ~\vadjust~.
+We try to do this as independently as possible of the
+implementation of the \LaTeX\ commands to be redefined.
+Therefore, we don't just copy macro definition code from any
+single implementation (say, latest \LaTeX) and insert our
+changes, but attach a conditional
+~\global\let\vadjust\PostponeVadjust~
+to their left ends in a way which should work rather
+independantly of their actual code.
+However, ~\vadjust~ should be the primitive again after
+execution of the command. So the ~\global\let...~ may be used
+only if it's guaranteed that a ~\vadjust~ is near.---(UL)
+Sure? In line numbering mode, probably each ~\vadjust~
+coming from a \LaTeX\ command should be ~\PostponeVadjust~.
+~\marginpar~s and floats seem to be the only cases which
+are not explicitly dealt with in the present section.
+This would be a way to avoid ~\@LN at nobreaktrue~!
+Of course, the ~\vadjust~s that the present package uses
+then must be replaced by ~\@LN@@vadjust~.---Maybe
+next time.      (/UL)
+
+The next command and something else will be added to the
+\LaTeX\ commands we are concerned with here.
+\begin{code}\begin{verbatim}
+\DeclareRobustCommand\@LN at changevadjust{%
+  \ifvmode\else\ifinner\else
+    \global\let\vadjust\PostponeVadjust
+  \fi\fi
+}
+\end{verbatim}
+\end{code}
+(UL) What about math mode? Math display? Warn? (/UL)
+
+~\@tempa~ will now become a two place macro which adds first
+argument (single token), enclosed by ~\ifLineNumbers~\,\dots
+~\fi~ to the left of second argument. As long as we need it,
+we can't use the star form of ~\DeclareRobustCommand~ or
+the like, because AMS-\LaTeX\ uses ~\@tempa~ for ~\@ifstar~.
+(New v4.41) And for the same reason, that ~\CheckCommand*~
+had to be raised! (/New v4.41)
+\begin{code}\begin{verbatim}
+\CheckCommand*\@parboxrestore{\@arrayparboxrestore\let\\\@normalcr}
+ 
+\def\@tempa#1#2{%
+  \expandafter \def \expandafter#2\expandafter{\expandafter
+    \ifLineNumbers\expandafter#1\expandafter\fi#2}%
+}
+\end{verbatim}
+\end{code}
+(UL)              This ~\ifLineNumber~ can be fooled by
+~\linenumbers~ ahead etc. It might be better to place
+a signal penalty in any case and let the output routine
+decide what to do.
+(/UL)
+
+We use the occasion to switch off linenumbers where they
+don't work anyway and where we don't want them,
+especially in footnotes:
+\begin{code}\begin{verbatim}
+\@tempa\nolinenumbers\@arrayparboxrestore
+\end{verbatim}
+\end{code}
+We hope this suffices $\dots$ let's check one thing
+at least: [(New v4.41) see ~\CheckCommand~ above (/New v4.41)]
+
+Now for the main theme of the section.
+The next lines assume that ~\vspace~, ~\pagebreak~, and
+~\nopagebreak~ use ~\vadjust~ whenever they occur outside
+vertical mode; moreover, that they don't directly read
+an argument. Indeed ~\pagebreak~ and ~\nopagebreak~ first
+call something which tests for a left bracket ahead,
+while ~\vspace~ first tests for a star.
+\begin{code}\begin{verbatim}
+\@tempa\@LN at changevadjust\vspace
+\@tempa\@LN at changevadjust\pagebreak
+\@tempa\@LN at changevadjust\nopagebreak
+\end{verbatim}
+\end{code}
+~\\~, however, uses ~\vadjust~ only in star or optional form.
+We relax independency of implementation in assuming
+that ~\@normalcr~ is the fragile version of ~\\~
+(and we use ~\@ifstar~!).
+(Using a copy of ~\\~ would be safer, but an ugly repetition
+of ~\protect~.)
+\begin{code}\begin{verbatim}
+\DeclareRobustCommand\\{%
+  \ifLineNumbers
+    \expandafter \@LN at cr
+  \else
+    \expandafter \@normalcr
+  \fi
+}
+\def\@LN at cr{%
+  \@ifstar{\@LN at changevadjust\@normalcr*}%
+          {\@ifnextchar[{\@LN at changevadjust\@normalcr}\@normalcr}%
+}
+\end{verbatim}
+\end{code}
+Moreover we hope that ~\newline~ never leads to a ~\vadjust~,
+although names of some commands invoked by ~\\~ contain
+~newline~. At last, this seems to have been OK since 1989 or
+even earlier.
+
+\modulolinenumbers[1]
+\firstlinenumber{0}
+Let's have a few tests.\vspace*{.5\baselineskip}
+Testing ~\pagebreak~ and ~\nopagebreak~ would be too expensive
+here, but---oops!---we have just experienced a successful
+~\vspace*{.5\baselineskip}~. A
+~\\*[.5\baselineskip]~\\*[.5\baselineskip] may look even more
+drastical, but this time we are happy about it. Note that the
+line numbers have moved with the lines. Without our changes,
+one line number\vadjust{\kern.5\baselineskip} would have
+``anticipated'' the move of the next line, just as you can
+observe it now.
+(/New v4.00)
+
+\switchlinenumbers
+
+\subsection{%
+Reminder on obsoleteness
+\unskip}
+
+(New v4.1)    We have completed inclusion of the earlier
+extension packages ~linenox0.sty~, ~linenox1.sty~, and
+~lnopatch.sty~. If one of them is loaded, though,
+we produce an error message before something weird happens.
+We avoid ~\newif~ because the switchings occur so rarely.
+\begin{code}\begin{verbatim}
+\AtBeginDocument{%
+  \let\if at LN@obsolete\iffalse
+  \@ifpackageloaded{linenox0}{\let\if at LN@obsolete\iftrue}\relax
+  \@ifpackageloaded{linenox1}{\let\if at LN@obsolete\iftrue}\relax
+  \@ifpackageloaded{lnopatch}{\let\if at LN@obsolete\iftrue}\relax
+  \if at LN@obsolete
+    \PackageError{lineno}{Obsolete extension package(s)}{%
+    With lineno.sty version 4.00 or later,\MessageBreak
+    linenox0/linenox1/lnopatch.sty must no longer be loaded.}%
+  \fi
+}
+\end{verbatim}
+\end{code}
+
+\modulolinenumbers[1]
+\section{%
+The final touch
+\unskip}
+
+There is one deadcycle for each line number.
+\begin{code}\begin{verbatim}
+\advance\maxdeadcycles 100
+ 
+\endinput
+\end{verbatim}
+\end{code}
+
+\section{%
+The user commands
+\unskip}\label{s:UserCmds}
+
+The user commands to turn on and off line numbering
+are
+\begin{description}\item
+[|\linenumbers]                                                       \ \par
+Turn on line numbering in the current mode.
+
+\item
+[|\linenumbers*]                                              \ \par$\qquad$
+and reset the line number to 1.
+\def\NL{<number>]}\item
+[|\linenumbers[\NL]                                           \ \par$\qquad$
+and start with <number>.
+\item
+[|\nolinenumbers]                                                     \ \par
+Turn off line numbering.
+\item
+[|\runninglinenumbers*[\NL]                                           \ \par
+Turn on ~running~ line numbers, with the same optional
+arguments as ~\linenumbers~.  The numbers are running
+through the text over pagebreaks.  When you turn
+numbering off and on again, the numbers will continue,
+except, of cause, if you ask to reset or preset the
+counter.
+\item
+[|\pagewiselinenumbers]                                               \ \par
+Turn on ~pagewise~ line numbers.  The lines on each
+page are numbered beginning with one at the first
+~pagewise~ numbered line.
+\item
+[|\resetlinenumber[\NL]                                               \ \par
+Reset ~[~Set~]~ the line number to 1
+~[~<number>~]~.
+\item
+[|\setrunninglinenumbers]                                             \ \par
+Switch to ~running~ line number mode. Do \emph{not}
+turn it on or off.
+\item
+[|\setpagewiselinenumbers]                                            \ \par
+Switch to ~pagewise~ line number mode. Do \emph{not}
+turn it on or off.
+\item
+[|\switchlinenumbers*]                                                \ \par
+Causes margin switching in pagewise modes. With the
+star,  put the line numbers on the inner margin.
+\item
+[|\leftlinenumbers*]                                                  \ \par
+\item
+[|\rightlinenumbers*]                                                 \ \par
+Set the line numbers in the left/right margin. With the
+star this works for both modes of operation, without
+the star only for the currently selected mode.
+\item
+[|\runningpagewiselinenumbers]                                        \ \par
+When using the pagewise line number mode,  do not
+subtract the page offset.  This results in running
+line numbers again,  but with the possibility to switch
+margins.  Be careful when doing line number
+referencing,  this mode status must be the same while
+setting the paragraph and during references.
+\item
+[|\realpagewiselinenumbers]                                           \ \par
+Reverses the effect of ~\runningpagewiselinenumbers~.
+\item
+[|\modulolinenumbers[\NL]                                             \ \par
+Give a number only to lines which are multiples of
+~[~<number>~]~.  If <number> is not specified, the
+current value in the counter ~linenumbermodulo~ is
+retained.  <number>=1 turns this off without changing
+~linenumbermodulo~.  The counter is initialized to 5.
+\item
+[|\modulolinenumbers*[\NL]                                            \ \par
+Like ~\modulolinenumbers~, the only difference being
+that the first line number after a ~\linenumbers~
+(or ~\runninglinenumbers~, ~\pagewiselinenumbers~,
+~\quotelinenumbers~) is printed regardless of the
+modulo---yet `1' is printed only after (or \dots)
+~\firstlinenumber{1}~.
+This also applies to the first line of a
+~{linenumbers}~ or respective environment.
+See subsection_\ref{ss:Mod} for another explanation.
+The behaviour may be unsatisfactory with pagewise
+line-numbering.
+\item
+[|\firstlinenumber]                                                   \ \par
+~\firstlinenumber{~<filino>~}~ brings about that
+(after it) line numbers less than <filino> do
+\emph{not} appear in the margin. Moreover, with
+~\modulolinenumbers[~<number>~]~, just the line
+numbers which are <filino> plus a multiple of
+<number> are printed.---If you had
+~\firstlinenumber{~<pos>~}~ with some $\mbox{<pos>}>0$
+and want to switch to printing multiples of, e.g.,
+4, you best do ~\modulolinenumbers[4]~ and
+~\firstlinenumber{0}~. (See subsection_\ref{ss:Mod}
+for technical details.)
+\item
+[|\linenumberdisplaymath]                                             \ \par
+Number the lines of a display math in a ~{linenomath}~
+environment, but do not in a ~{linenomath*}~
+environment.  This is used by the package option
+~[mathlines]~.
+\item
+[|\nolinenumberdisplaymath]                                           \ \par
+Do not Number the lines of a display math in a
+~{linenomath}~ environment, but do in a
+~{linenomath*}~ environment.  This is the default.
+\item
+[|\linelabel]                                                         \ \par
+Set a ~\linelabel{~<foo>~}~ to the line number where
+this commands is in.  Refer to it with the \LaTeX\
+referencing commands ~\ref{~<foo>~}~ and
+~\pageref{~<foo>~}~.
+\end{description}
+The commands can be used globally, locally within groups
+or as environments.  It is important to know that they
+take action only when the ~\par~ is executed.  The
+~\end{~<mode>~linenumbers}~ commands provide a ~\par~.
+Examples:
+\begin{verse}
+~{\linenumbers~  <text> ~\par}~                                         \\
+\ \\
+~\begin{linenumbers}~                                                   \\
+<text>                                                              \\
+~\end{linenumbers}~                                                     \\
+\ \\
+<paragraph> ~{\linenumbers\par}~                                        \\
+\ \\
+~\linenumbers~                                                          \\
+<text> ~\par~                                                         \\
+~\nolinenumbers~                                                        \\
+\ \\
+~\linenumbers~                                                          \\
+<paragraph> ~{\nolinenumbers\par}~                                      \\
+\end{verse}
+(New v4.00)
+However, the examples containing <paragraph> show what you
+should \emph{not} do, at least if you use ~\pagebreak~,
+~\nopagebreak~, ~\vspace~, ~\\*~ or
+~\\[~<space>~]~---cf._section_\ref{s:MVadj}.
+
+The same care should be applied to the ``wizard'' devices
+~\ifLineNumbers~ (subsection_\ref{ss:OnOff}) and
+~\PostponeVadjust~ (section_\ref{ss:PVadj}).
+(/New v4.00)
+
+(New v4.11) Oh, and the commands and environments of
+section_{s:Xt} are missing. Sorry, I am in a hurry now.
+May be next time.%                                             %% TODO v4.4+
+---And the  environments ~{linenomath}~ and ~{linenomath*}~should
+get an own paragraph. In short, each math display, equation,
+or ~{eqnarray}~ should be ``wrapped'' in one of ~{linenomath}~
+and ~{linenomath*}~.
+
+\subsection{%
+Customization hooks
+\unskip}
+
+There are several hooks to customize the appearance of the
+line numbers, and some low level hooks for special
+effects.
+\begin{description}\item
+[|\thelinenumber]                                                     \ \par
+This macro should give the representation of the line
+number in the \LaTeX-counter ~linenumber~.  The
+default is provided by \LaTeX:                              \par$\qquad$
+~\arabic{linenumber}~
+\item
+[|\makeLineNumberLeft]                                                \ \par
+This macro is used to attach a line number to the left
+of the text page.  This macro should fill an ~\hbox to 0pt~
+which will be placed at the left margin of the
+page, with the reference point aligned to the line to
+which it should give a number.  Please use the macro
+~\LineNumber~ to refer to the line number.
+
+The default definition is                                   \par$\qquad$
+~\hss\linenumberfont\LineNumber\hskip\linenumbersep~
+\item
+[|\makeLineNumberRight]                                               \ \par
+Like ~\makeLineNumberLeft~, but for line numbers on
+the right margin.
+
+The default definition is                                   \par$\qquad$
+~\linenumberfont\hskip\linenumbersep\hskip\textwidth~    \par$\qquad$
+~\hbox to\linenumberwidth{\hss\LineNumber}\hss~
+\item
+[|\linenumberfont]                                                    \ \par
+This macro is initialized to                                \par$\qquad$
+~\normalfont\tiny\sffamily~
+\item
+[|\linenumbersep]                                                     \ \par
+This dimension register sets the separation of the
+linenumber to the text. Default value is ~10pt~.
+\item
+[|\linenumberwidth]                                                   \ \par
+This dimension register sets the width of the line
+number box on the right margin.  The distance of the
+right edge of the text to the right edge of the line
+number is ~\linenumbersep~ + ~\linenumberwidth~. The
+default value is ~10pt~.
+\item
+[|\theLineNumber] (for wizards)                                       \ \par
+This macro is called for printing a ~\newlabel~ entry
+to the aux-file.  Its definition depends on the mode.
+For running line numbers it's just ~\thelinenumber~,
+while in pagewise mode, the page offset subtraction
+is done in here.
+\item
+[|\makeLineNumber] (for wizards)                                      \ \par
+This macro produces the line numbers.  The definition
+depends on the mode.  In the running line numbers
+mode it just expands ~\makeLineNumberLeft~.
+\item
+[|\LineNumber] (for wizards)                                          \ \par
+This macro is called by ~\makeLineNumber~ to typeset
+the line number.  This hook is changed by the modulo
+mechanism
+and by ~\firstlinenumber~.
+\end{description}
+\end{document}%D


Property changes on: trunk/Master/texmf-dist/doc/latex/lineno/lineno.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/lineno/linenoamsmathdemo.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/lineno/linenoamsmathdemo.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lineno/linenoamsmathdemo.pdf	2022-12-05 10:28:48 UTC (rev 65203)
+++ trunk/Master/texmf-dist/doc/latex/lineno/linenoamsmathdemo.pdf	2022-12-05 21:23:48 UTC (rev 65204)

Property changes on: trunk/Master/texmf-dist/doc/latex/lineno/linenoamsmathdemo.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/lineno/linenoamsmathdemo.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lineno/linenoamsmathdemo.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/lineno/linenoamsmathdemo.tex	2022-12-05 21:23:48 UTC (rev 65204)
@@ -0,0 +1,415 @@
+% Copyright 2021 Karl Wette
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%   http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Karl Wette.
+
+\ProvidesFile{linenoamsmathdemo.tex}
+             [2021/09/30 Make amsmath work with lineno]
+
+\documentclass{ltxdoc}
+
+\usepackage[leqno]{amsmath}
+\usepackage[mathlines]{lineno}
+\usepackage{lipsum}
+\usepackage{hyperref}
+
+\begin{document}
+
+\title{Make \textsf{amsmath}\footnote{\url{https://ctan.org/pkg/amsmath}}~ work with \textsf{lineno}}
+\author{Karl Wette}
+
+\maketitle
+
+This document demonstrates patches to the \textsf{amsmath} package to work with
+the \textsf{lineno} package. The code I've used is largely based on the posts
+here\footnote{\url{https://tex.stackexchange.com/a/461192}} and
+here\footnote{\url{https://tex.stackexchange.com/a/443201}}; credit is due to
+their author(s). In addition I've made a few refinements to handle some corner
+cases.
+
+\section*{Demonstration}
+
+This section demonstrates that, with this package, line numbers are correctly
+formatted when using \textsf{amsmath} math environments.
+
+\newcounter{lipsumparagraph}
+\newcommand{\nextlipsum}{\stepcounter{lipsumparagraph}\lipsum[\thelipsumparagraph][1-4]}
+\newcommand{\crs}{\qquad\qquad\texttt{[\textbackslash\textbackslash{}*]}\\*}
+
+\linenumbers
+
+\subsection*{Normal text}
+
+\nextlipsum
+
+\subsection*{\texttt{equation}}
+
+\subsection*{With line numbers in equations}
+\nextlipsum
+\begin{equation}
+  E = m c^2 \,.
+\end{equation}
+\nextlipsum
+
+\subsection*{Without line numbers in equations}
+\nextlipsum
+\begin{linenomath*}
+\begin{equation}
+  E = m c^2 \,.
+\end{equation}
+\end{linenomath*}
+\nextlipsum
+
+\subsection*{\texttt{equation*}}
+
+\subsection*{With line numbers in equations}
+\nextlipsum
+\begin{equation*}
+  E = m c^2 \,.
+\end{equation*}
+\nextlipsum
+
+\subsection*{Without line numbers in equations}
+\nextlipsum
+\begin{linenomath*}
+\begin{equation*}
+  E = m c^2 \,.
+\end{equation*}
+\end{linenomath*}
+\nextlipsum
+
+\subsection*{\texttt{\textbackslash[\ldots\textbackslash]}}
+
+\subsection*{With line numbers in equations}
+\nextlipsum
+\[
+  E = m c^2 \,.
+\]
+\nextlipsum
+
+\subsection*{Without line numbers in equations}
+\nextlipsum
+\begin{linenomath*}
+\[
+  E = m c^2 \,.
+\]
+\end{linenomath*}
+\nextlipsum
+
+\subsection*{\texttt{multline}}
+
+\subsection*{With line numbers in equations}
+\nextlipsum
+\begin{multline}
+  \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} + \mathcal{O}(x^{10}) \,.
+\end{multline}
+\nextlipsum
+\begin{multline}
+  \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} \\
+  + x^{10} - x^{11} + x^{12} - x^{13} + x^{14} - x^{15} + x^{16} - x^{17} + x^{18} - x^{19} + \mathcal{O}(x^{20}) \,.
+\end{multline}
+\nextlipsum
+
+\subsection*{Without line numbers in equations}
+\nextlipsum
+\begin{linenomath*}
+\begin{multline}
+  \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} + \mathcal{O}(x^{10}) \,.
+\end{multline}
+\end{linenomath*}
+\nextlipsum
+\begin{linenomath*}
+\begin{multline}
+  \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} \\
+  + x^{10} - x^{11} + x^{12} - x^{13} + x^{14} - x^{15} + x^{16} - x^{17} + x^{18} - x^{19} + \mathcal{O}(x^{20}) \,.
+\end{multline}
+\end{linenomath*}
+\nextlipsum
+
+\subsection*{\texttt{multline*}}
+
+\subsection*{With line numbers in equations}
+\nextlipsum
+\begin{multline*}
+  \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} + \mathcal{O}(x^{10}) \,.
+\end{multline*}
+\nextlipsum
+\begin{multline*}
+  \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} \crs
+  + x^{10} - x^{11} + x^{12} - x^{13} + x^{14} - x^{15} + x^{16} - x^{17} + x^{18} - x^{19} + \mathcal{O}(x^{20}) \,.
+\end{multline*}
+\nextlipsum
+
+\subsection*{Without line numbers in equations}
+\nextlipsum
+\begin{linenomath*}
+\begin{multline*}
+  \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} + \mathcal{O}(x^{10}) \,.
+\end{multline*}
+\end{linenomath*}
+\nextlipsum
+\begin{linenomath*}
+\begin{multline*}
+  \frac{1}{1 + x} = 1 - x + x^{2} - x^{3} + x^{4} - x^{5} + x^{6} - x^{7} + x^{8} - x^{9} \\
+  + x^{10} - x^{11} + x^{12} - x^{13} + x^{14} - x^{15} + x^{16} - x^{17} + x^{18} - x^{19} + \mathcal{O}(x^{20}) \,.
+\end{multline*}
+\end{linenomath*}
+\nextlipsum
+
+\subsection*{\texttt{gather}}
+
+\subsection*{With line numbers in equations}
+\nextlipsum
+\begin{gather}
+  E = m c^2 \,.
+\end{gather}
+\nextlipsum
+\begin{gather}
+  E = m c^2 \,, \\
+  E^2 = p^2 c^2 + m_0^2 c^4 \,.
+\end{gather}
+\nextlipsum
+
+\subsection*{Without line numbers in equations}
+\nextlipsum
+\begin{linenomath*}
+\begin{gather}
+  E = m c^2 \,.
+\end{gather}
+\end{linenomath*}
+\nextlipsum
+\begin{linenomath*}
+\begin{gather}
+  E = m c^2 \,, \\
+  E^2 = p^2 c^2 + m_0^2 c^4 \,.
+\end{gather}
+\end{linenomath*}
+\nextlipsum
+
+\subsection*{\texttt{gather*}}
+
+\subsection*{With line numbers in equations}
+\nextlipsum
+\begin{gather*}
+  E = m c^2 \,.
+\end{gather*}
+\nextlipsum
+\begin{gather*}
+  E = m c^2 \,, \crs
+  E^2 = p^2 c^2 + m_0^2 c^4 \,.
+\end{gather*}
+\nextlipsum
+
+\subsection*{Without line numbers in equations}
+\nextlipsum
+\begin{linenomath*}
+\begin{gather*}
+  E = m c^2 \,.
+\end{gather*}
+\end{linenomath*}
+\nextlipsum
+\begin{linenomath*}
+\begin{gather*}
+  E = m c^2 \,, \\
+  E^2 = p^2 c^2 + m_0^2 c^4 \,.
+\end{gather*}
+\end{linenomath*}
+\nextlipsum
+
+\subsection*{\texttt{align}}
+
+\subsection*{With line numbers in equations}
+\nextlipsum
+\begin{align}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,.
+\end{align}
+\nextlipsum
+\begin{align}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\
+  \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,.
+\end{align}
+\nextlipsum
+
+\subsection*{Without line numbers in equations}
+\nextlipsum
+\begin{linenomath*}
+\begin{align}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,.
+\end{align}
+\end{linenomath*}
+\nextlipsum
+\begin{linenomath*}
+\begin{align}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\
+  \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,.
+\end{align}
+\end{linenomath*}
+\nextlipsum
+
+\subsection*{\texttt{align*}}
+
+\subsection*{With line numbers in equations}
+\nextlipsum
+\begin{align*}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,.
+\end{align*}
+\nextlipsum
+\begin{align*}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \crs
+  \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,.
+\end{align*}
+\nextlipsum
+
+\subsection*{Without line numbers in equations}
+\nextlipsum
+\begin{linenomath*}
+\begin{align*}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,.
+\end{align*}
+\end{linenomath*}
+\nextlipsum
+\begin{linenomath*}
+\begin{align*}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\
+  \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,.
+\end{align*}
+\end{linenomath*}
+\nextlipsum
+
+\subsection*{\texttt{alignat}}
+
+\subsection*{With line numbers in equations}
+\nextlipsum
+\begin{alignat}{2}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,.
+\end{alignat}
+\nextlipsum
+\begin{alignat}{2}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\
+  \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,.
+\end{alignat}
+\nextlipsum
+
+\subsection*{Without line numbers in equations}
+\nextlipsum
+\begin{linenomath*}
+\begin{alignat}{2}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,.
+\end{alignat}
+\end{linenomath*}
+\nextlipsum
+\begin{linenomath*}
+\begin{alignat}{2}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\
+  \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,.
+\end{alignat}
+\end{linenomath*}
+\nextlipsum
+
+\subsection*{\texttt{alignat*}}
+
+\subsection*{With line numbers in equations}
+\nextlipsum
+\begin{alignat*}{2}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,.
+\end{alignat*}
+\nextlipsum
+\begin{alignat*}{2}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \crs
+  \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,.
+\end{alignat*}
+\nextlipsum
+
+\subsection*{Without line numbers in equations}
+\nextlipsum
+\begin{linenomath*}
+\begin{alignat*}{2}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,.
+\end{alignat*}
+\end{linenomath*}
+\nextlipsum
+\begin{linenomath*}
+\begin{alignat*}{2}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\
+  \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,.
+\end{alignat*}
+\end{linenomath*}
+\nextlipsum
+
+\subsection*{\texttt{flalign}}
+
+\subsection*{With line numbers in equations}
+\nextlipsum
+\begin{flalign}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,.
+\end{flalign}
+\nextlipsum
+\begin{flalign}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\
+  \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,.
+\end{flalign}
+\nextlipsum
+
+\subsection*{Without line numbers in equations}
+\nextlipsum
+\begin{linenomath*}
+\begin{flalign}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,.
+\end{flalign}
+\end{linenomath*}
+\nextlipsum
+\begin{linenomath*}
+\begin{flalign}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\
+  \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,.
+\end{flalign}
+\end{linenomath*}
+\nextlipsum
+
+\subsection*{\texttt{flalign*}}
+
+\subsection*{With line numbers in equations}
+\nextlipsum
+\begin{flalign*}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,.
+\end{flalign*}
+\nextlipsum
+\begin{flalign*}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \crs
+  \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,.
+\end{flalign*}
+\nextlipsum
+
+\subsection*{Without line numbers in equations}
+\nextlipsum
+\begin{linenomath*}
+\begin{flalign*}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,.
+\end{flalign*}
+\end{linenomath*}
+\nextlipsum
+\begin{linenomath*}
+\begin{flalign*}
+  \nabla \cdot \vec E = 0 \,, &\quad \nabla \times \vec E = - \frac{\partial \vec B}{\partial t} \,, \\
+  \nabla \cdot \vec B = 0 \,, &\quad \nabla \times \vec B = \frac{1}{c^2} \frac{\partial \vec E}{\partial t} \,.
+\end{flalign*}
+\end{linenomath*}
+\nextlipsum
+
+\nolinenumbers
+
+\end{document}
+
+% Local Variables:
+% mode: doctex
+% TeX-master: t
+% End:


Property changes on: trunk/Master/texmf-dist/doc/latex/lineno/linenoamsmathdemo.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/lineno/lnosuppl.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/lineno/lnosuppl.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lineno/lnosuppl.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/lineno/lnosuppl.tex	2022-12-05 21:23:48 UTC (rev 65204)
@@ -0,0 +1,127 @@
+%% LNoSuppl.tex -- U.L.
+\ProvidesFile{lnosuppl.tex}
+             [2011/02/16 documenting supplementary files]
+\title{\LARGE \bf Supplementary files belonging \\
+       to the \textit{lineno.sty} distribution \\[1ex]
+       \normalfont \Large
+       Lazy \texttt{ASCII}\,$\to$\,\texttt{PDF} listings}
+\author{Uwe L\"uck}
+\documentclass[10pt]{article}
+\usepackage{verbatim}
+%% hyperref settings from makedoc.cfg 2011/02/14:
+\RequirePackage{ifpdf}
+\usepackage[%
+  \ifpdf
+%     bookmarks=false,          %% 2010/12/22
+%     bookmarksnumbered,
+    bookmarksopen,              %% 2011/01/24!?
+    bookmarksopenlevel=2,       %% 2011/01/23
+%     pdfpagemode=UseNone,
+%     pdfstartpage=10,
+%     pdfstartview=FitH,
+    citebordercolor={ .6 1    .6},
+    filebordercolor={1    .6 1},
+    linkbordercolor={1    .9  .7},
+     urlbordercolor={ .7 1   1},   %% playing 2011/01/24
+  \else
+    draft
+  \fi
+]{hyperref}
+\usepackage{hypertoc}
+\pagestyle{headings}
+\newcommand*{\cs}[1]{\texttt{\char"5C#1}}
+\newcommand*{\lcurl}[2][]{%% `mirror', \url #2 2011/02/14
+  \texttt{#2}\footnote{%
+    \url{http://mirror.ctan.org/macros/latex/contrib/#1#2}}}
+\newcommand*{\Verbatiminput}[1]{%% 2011/02/14
+    \small\verbatiminput{#1}\normalsize}
+\makeatletter
+\newcommand*{\notinaux}[1]{%
+  \ifx\protect\@typeset at protect #1%
+  \else
+    \ifdim\lastskip>\z@\ignorespaces\fi
+  \fi}
+\makeatother
+\begin{document}
+\maketitle
+\section*{Preface}
+
+\texttt{lineno.sty} is a macro package made by
+Stephan~I.~B\"ottcher for attaching line numbers to
+\LaTeX\ documents. Some people have used it for revising
+submittings in collaboration with referees or co-authors.
+Documentations are nowadays preferred to be in
+Adobe's \texttt{PDF}---so \texttt{lineno.sty}'s
+documentation is \lcurl[lineno/]{lineno.pdf}.
+
+\texttt{ednotes.sty} uses \texttt{lineno.sty} for critical
+editions, combining it with Alexander~I.~Rozhenko's
+\texttt{manyfoot.sty}---this was Christian Tapp's idea,
+who then hired me for adding the \TeX nical details.
+In doing this, I had to change some internals of
+\texttt{lineno.sty}, so Stephan transferred maintenance
+to me; then some of my macro files that I originally had
+made for \texttt{ednotes.sty} wandered into the
+\texttt{lineno} directory of CTAN---because they turned
+out not to need \texttt{ednotes.sty},
+just to work as extensions of \texttt{lineno.sty}\,.
+
+Now, I haven't had the time for making \texttt{.dtx} versions
+of the \texttt{.sty} files for \texttt{ednotes}.
+Therefore, ordinary \texttt{.pdf} documentation for
+the remaining \texttt{.sty} files of \texttt{lineno}
+is missing.
+What you see here is nothing but a somewhat structured listing
+of the additional \texttt{.txt} and \texttt{.sty} files in
+\texttt{PDF}, deriving from the \texttt{verbatim} package and
+its \cs{verbatiminput} command. I hope the high quality
+(scalable) output is worth it.
+
+By contrast, the new package \texttt{fnlineno.sty} added in 2011 for
+footnote line numbers is documented in \lcurl[lineno/]{fnlineno.pdf}
+in high quality, using the \lcurl{nicetext} bundle.
+
+\leavevmode\hfill \textit{U.\,L.}
+
+\newpage
+\tableofcontents
+
+\section{The \texttt{.txt} files}
+\subsection{Summary: \texttt{README.txt}}
+\verbatiminput{README.txt}
+\subsection{Licenses/Copyright: \texttt{COPYING.txt}}
+\verbatiminput{COPYING.txt}
+\subsection{Update summaries: \texttt{CHANGEs.txt}}
+\verbatiminput{CHANGEs.txt}
+%% rm. 2011/02/16:
+% \subsection{Files and subdirectories: \texttt{FILEs.txt}}
+% \verbatiminput{FILEs.txt}
+\subsection{Source file infos: \texttt{SRCFILEs.txt}}
+\verbatiminput{SRCFILEs.txt}
+
+\section{Tabular and array environments}
+\texttt{lineno.sty}'s package options \texttt{edtable},
+\texttt{longtable}, and \texttt{nolongtablepatch}
+redefine \LaTeX\ tabular and array environments
+such that \texttt{lineno} and \texttt{ednotes} commands
+can be used inside. The code for these options resides
+in separate files at present. We are listing them here.
+\subsection{\texttt{edtable.sty}}
+\verbatiminput{edtable.sty}
+\subsection{\texttt{ltabptch.sty}}
+\verbatiminput{ltabptch.sty}
+
+\section{\cs{linelabel} and notes from \textit{math} mode:
+         \notinaux{\\} \texttt{ednmath0.sty}}
+\verbatiminput{ednmath0.sty}
+
+\section{Extended line number references: \texttt{vplref.sty}}
+\texttt{vplref.sty} is input through the \texttt{lineno}
+package option \texttt{addpageno}. This adds page numbers
+to line number references to distant sides---using the
+\texttt{varioref} package from the \LaTeX\ distribution.
+\verbatiminput{vplref.sty}
+
+\end{document}
+
+end of LNoSuppl.tex


Property changes on: trunk/Master/texmf-dist/doc/latex/lineno/lnosuppl.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/lineno/ulineno.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/lineno/ulineno.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lineno/ulineno.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/lineno/ulineno.tex	2022-12-05 21:23:48 UTC (rev 65204)
@@ -0,0 +1,984 @@
+% Copyright 1995--1999 Stephan I. B"ottcher <stephan at nevis1.columbia.edu>
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or any later version.
+%
+% $Id: ulineno.tex,v 3.1 2001/08/03 03:29:19 stephan Exp $
+%
+% 1999-06-11 SiB: updated for lineno.sty v3.00
+\ProvidesFile{ulineno.tex}[2001/08/03 lineno.sty users manual]
+    %% <- UL 2011/02/13 for readprov.sty
+
+\documentclass[12pt,a4paper,titlepage]{article}
+
+                                              \date{\def\$##1: ##2 ##3${##2}%$
+                                                                      Version
+   \$Revision: 3.1 $,
+   \$Date: 2001/08/03 03:29:19 $
+                                                                             }
+                                 \def\lineno.sty{\texttt{\itshape lineno.sty}}
+
+
+\title{           \lineno.sty
+\\                Users Manual
+}
+\author{      Stephan I. B\"ottcher
+}
+
+\usepackage{lineno}
+\usepackage{url}
+
+\def~{\verb~}
+\catcode`\<\catcode`\~
+\def<#1>{$\langle${\itshape#1}\/$\rangle$}
+\catcode`\|\catcode`\~
+\def|#1{{\ttfamily\string#1}}
+\def\NL{<number>]}
+
+\begin{document}
+\begin{runninglinenumbers}
+\renewcommand\linenumberfont{\normalfont\small\bfseries}
+\setlength\linenumbersep{1cm}
+\maketitle
+\thispagestyle{empty}
+\resetlinenumber
+\tableofcontents
+\clearpage
+\setcounter{page}{1}
+\pagewiselinenumbers
+
+\section{When to use \lineno.sty}
+
+The primary use of \lineno.sty is to get line numbers in your LaTeX
+document.  \lineno.sty directly supports line numbers in various
+modes, and if you have any wishes that are not directly supported,
+chances are good that \lineno.sty can be adapted to do it.  And if it
+turns out to be difficult with \lineno.sty, then it will be even more
+difficult without.
+
+There is one class of cases however, where \lineno.sty is not the most
+appropriate tool.  When your text already comes in lines, like source
+listings, tables, poetry,  then \lineno.sty will propably do the job,
+but other tools could do it much more efficiently.
+
+\lineno.sty can only number lines in the main text.  Lines in any kind
+of boxes cannot be numbered.  But see section \ref{sec:ilineno} below.
+
+\lineno.sty is especially useful when the text is broken into lines by
+\TeX\ itself.  In this case, the task to attach line numbers is not
+easy, and a tool like \lineno.sty has good chances to break when used
+together with other packages.
+
+On the other hand, \lineno.sty proved to be quite stable, and I did
+not get any reports of complete failure yet.
+
+With \lineno.sty, you can refer to the line numbers via \LaTeX s
+~\ref~ and ~\pageref~ macros.
+
+There are other applications, not directly related to line numbering.
+Whenever you want to attach something to your text, after a paragraph
+was broken into lines, across pagebreaks, lineno may do the job.
+
+\begin{bframe}
+  Say, you need a frame around some text, but the text should be able
+  to break across pages, \lineno.sty can be used to draw rules on both
+  margins, which can be completed at the top and bottom by some
+  special environment, see section\,\,\ref{sec:bframe}.
+\end{bframe}
+
+There may be cases, where other packages do a better job, e.g.,
+\url{CTAN:macros/latex/contrib/supported/numline}.
+
+
+\section{Where to get \lineno.sty}
+
+\lineno.sty is available on the \emph{Comprehensive TeX Archive
+  Network} (CTAN), e.g, \url{https://mirrors.ctan.org/macros/latex/contrib/lineno/lineno.sty}.
+
+The home of \lineno.sty is \url{https://github.com/latex-lineno/lineno}.  Here you can get the latest version.
+
+\end{runninglinenumbers}
+
+\section{How to use \lineno.sty}
+
+As any other \LaTeXe\ package, you need to load it with
+\begin{quote}
+   ~\usepackage[~<options>~]{lineno}~
+\end{quote}
+
+\subsection{Package options}
+
+The available <options> are:
+\begin{description}
+
+\item[\texttt{[left]}:]  Put the line numbers into the left margin
+  (default).
+
+\item[\texttt{[right]}:]  Put the line numbers into the right margin.
+
+\item[\texttt{[switch]}:]  Put the line numbers into the outer margin
+  (left on even numbered pager, right on odd numbered pages).
+
+\item[\texttt{[switch*]}:]  Put the line numbers into the inner
+  margin.
+
+\item[\texttt{[pagewise]}:] Number the lines from 1 on each page.
+
+\item[\texttt{[running]}:]  Continuously number the lines (default).
+
+\item[\texttt{[modulo]}:] Print line numbers only if they are
+  multiples of five.
+
+\item[\texttt{[mathlines]}:]  When using the ~{linenomath}~
+  environment for display math, put line numbers also on the lines of
+  the display.
+
+\item[\texttt{[displaymath]}:]  Automatically wrap the standard LaTeX
+  display math environments in ~{linenomath}~.
+
+  \begin{itshape}
+    Change from v2 to v3:  ~[mathlines]~ was called ~[displaymath]~
+    before, and ~[displaymath]~ was ~\usepacke{mlineno}~.
+  \end{itshape}
+
+\end{description}
+All effects of these option can also be obtained by calling certain
+macros later in the document, except for ~[displaymath]~.
+
+\subsection{How to turn on line numbering}
+
+The line numbering is not activated by default.  If you want line
+numbers, you have to turn it on.  The simplest way is to say
+\begin{quote}
+    ~\linenumbers~
+\end{quote}
+This will turn on line numbers within the current group, according to
+the currently selected mode.  If you do it right at the beginning, the
+whole document will be numbered.
+
+~\linenumbers~ takes effect only when a paragraph is finished.  This
+is important if you use ~\linenumbers~ for a single paragraph only.
+This will \emph{not} work:
+\begin{quote}\obeylines
+   ~\begingroup~\\%
+   ~\linenumbers~
+     Text of your paragraph.
+   ~\endgroup~
+\end{quote}
+because the ~\endgroup~ terminates the effect of ~\linenumbers~ before
+the paragraph is finished.  The solution is to insert an empty line,
+or an explicit ~\par~ before the ~\endgroup~.
+
+The prefered solution is to use an enviroment:
+\begin{quote}\obeylines
+   ~\begin{linenumbers}~
+     Text of your paragraph.
+   ~\end{linenumbers}~
+\end{quote}
+~\end{linenumbers}~ terminates the paragraph for you.  It will also
+make sure that the next paragraph is not indented, if there is no
+empty line in between.
+
+This form will not finish any preceeding paragraph.  If you do not
+leave an empty line before ~\begin{linenumbers}~, the previous
+  paragraph may also get line numbers (this is not true after a list
+  environment).
+
+A quite esoteric form to number a single paragraph is:
+\begin{quote}\obeylines
+     Text of your paragraph.
+     ~{\linenumbers\par}~
+\end{quote}
+Here, the ~\linenumbers~ is turned on in a group that just executes
+the ~\par~ to terminate the previous paragraph.  Only this paragraph
+will have line numbers. (~\par~ is exactly equivalent to an empty
+line).
+
+
+\subsection{How to turn off line numbering}
+
+You do not usualy turn of line numbering explicitly, but rather
+restrict line numbering to a group or an environment.  However, you
+can turn it off with the command
+\begin{quote}
+   ~\nolinenumbers~
+\end{quote}
+This macro can also be used as an environment.  The same restrictions
+apply as for ~\linenumbers~.
+
+
+\section{Numbering modes}
+
+Attaching line numbers after \TeX\ has broken the paragraph into lines
+is already quite a difficult job for \TeX.  Why?  Because \TeX\ does
+not normally give you any control after line breaking.  \lineno.sty
+does it by pretending that the current page ends after each and every
+line.  This keeps \TeX\ quite busy, but works.
+
+Often, you want the line numbers to depend on the page they finally end
+up.  E.g., you want the numbers to start with~ ~1 one each new page,
+or you want them to appear on the outer margins in twoside mode.  This
+is an almost impossible demand, but \lineno.sty can do it, at some
+cost, in terms of computing time, memory, and disk space.  \lineno.sty
+needs to write a note into the auxiliary file for each line in the
+numbered part of the text, and \TeX\ keeps some memory for each page,
+and all that takes some computation time to figure out on which page
+the line was in the last \LaTeX\ run.
+
+Thus, there are two basic numbering modes
+\begin{enumerate}
+
+\item \emph{Running} line numbers.  The numbers run continuously along
+  the document, without considering page breaks.
+
+  The line numbers can be reset, or preset at any point in the
+  document (except within a paragraph).  Margin switching (or any
+  other dependence on the page breaks) is not possible.
+
+\item \emph{Pagewise} line numbers.  The lines on each page are
+  numbered from one.  Automatic margin switching is possible.
+
+  \emph{Running} mode can be simulated in pagewise mode, to get
+  automatic margin switching with continuous line numbers, but without
+  the ability to reset/preset the line numbers anywhere in the
+  document.
+
+  Any feature that depends on the page breaks must use this mode.
+
+\end{enumerate}
+
+\begin{runninglinenumbers*}
+
+\subsection{\emph{Running} line numbers}
+
+This is the default mode of operation.  The lines of your text are
+numbered continuously across page breaks.
+
+You cannot get automatic margin switching in this mode, because at the
+time when the line numbers are attached, it is not yet decided on
+which page the line will end up.  However, you can simulate continuous
+line numbers in \emph{pagewise} mode (see below), where margin
+switching becomes possible.
+
+You get this mode by
+\begin{itemize}\raggedright
+\item \emph{not} specifying any of the package options
+  ~[switch,pagewise]~,
+\item specifying the package option ~[running]~,
+\item give the command ~\setrunninglinenumbers~ in the document, or
+\item turn on line numbering with ~\runninglinenumbers~ or
+  ~\begin{runninglinenumbers}~.
+\end{itemize}
+
+\subsubsection{Reseting or setting the line number}
+
+You can reset the line number with
+\begin{quote}
+  ~\resetlinenumber[~<number>~]~
+\end{quote}
+where the default is to reset the line number to one.
+
+Alternatively, you can give the line number in an optional argument to
+any command that turns on the line numbering in this mode:
+\begin{quote}\obeylines
+  ~\linenumbers[~<number>~]~
+  ~\runninglinenumbers[~<number>~]~
+  ~\begin{linenumbers}[~<number>~]~
+  ~\begin{runninglinenumbers}[~<number>~]~
+\end{quote}
+or reset the line number to 1 with any of the following:
+\begin{quote}\obeylines
+  ~\linenumbers*~
+  ~\runninglinenumbers*~
+  ~\begin{linenumbers*}~
+  ~\begin{linenumbers}*~
+  ~\begin{runninglinenumbers*}~
+  ~\begin{runninglinenumbers}*~
+\end{quote}
+This section of the manual is enclosed in
+\begin{quote}\obeylines
+  ~\begin{runninglinenumbers*}~
+  ~\end{runninglinenumbers*}~
+\end{quote}
+\end{runninglinenumbers*}
+
+
+\begin{pagewiselinenumbers}
+
+\subsection{\emph{Pagewise} line numbers}
+
+Basically, this mode prints line numbers starting with 1 on top of
+each page, counting only lines where this mode is active.  If you
+turn on this mode in the middle of a page, the numbers start with 1
+at that point.
+
+The \emph{pagewise} mode of operation is quite a bit more work for
+\TeX.  When the line numbers are printed, \TeX\ does not know on which
+page the current line will go.  To get \emph{pagewise} mode working,
+\LaTeX\ has to remember on which page the line went in a previous run.
+This information is written into the ~.aux~ file, and like a table of
+contents, you will not see the numbers until you run \LaTeX\ at least
+twice on the document.  Sometimes the information in the ~.aux~ file
+becomes invalid in a way that causes \lineno.sty to hang.  In such a
+case you'll have to delete all ~.aux~ files of the document to get it
+going again.
+
+You get this mode by
+\begin{itemize}\raggedright
+\item specifying the package option
+  ~[pagewise]~, but not ~[running]~,
+\item give the command ~\setpagewiselinenumbers~ in the document, or
+\item turn on line numbering with ~\pagewiselinenumbers~ or
+  ~\begin{pagewiselinenumbers}~.
+\end{itemize}
+
+You cannot reset or preset the line numbers in \emph{pagewise} mode.
+This mode uses a different counter than \emph{running} mode.  You can
+switch between the mode, and the \emph{running} numbers will continue
+where they left of, unless you reset the counter.
+
+\subsubsection{Margin switching}
+
+As a side effect of all the business to find out on which page the lines
+end up, margin switching becomes possible.  It is now possible to
+print the line number differently on odd and even pages.  The command
+\begin{quote}
+  ~\switchlinenumbers~
+\end{quote}
+will cause the line numbers to be printed on the outer margins, on the
+right side for odd pages, and on the left side for even numbered
+pages.  If you add a star, the numbers go on the inner margins
+\begin{quote}
+  ~\switchlinenumbers*~
+\end{quote}
+You can achieve the same effect by specifying the package
+option ~[switch]~ or ~[switch*]~ together with ~[pagewise]~.
+
+Margin switching is independent of any ~[twoside]~ option of the
+document class.
+
+\subsubsection{\emph{Running} mode with margin switching}
+
+Margin switching is not possible in \emph{running} mode, but you can
+abuse the pagewise mode to produce continuous line numbers.  This mode
+is activated with the command
+\begin{quote}
+  ~\runningpagewiselinenumbers~
+\end{quote}
+It is not possible to reset the line number counter for this mode, the
+lines will be numbered starting from one at the beginning of the
+document, and continue.  You can switch back to real pagewise mode with
+\begin{quote}
+  ~\realpagewiselinenumbers~
+\end{quote}
+but when you resume \emph{running-pagewise}, the numbers will not
+continue where they left off, but jump by the number of lines that
+were numbered \emph{real-pagewise}.
+
+The package options ~[switch]~ and ~[switch*]~ will turn on
+\emph{running pagewise} mode with margin switching, unless you also
+specify ~[pagewise]~.
+
+Finally, if you give these options together with ~[running]~, like
+\begin{quote}
+  ~\usepackage[switch,pagewise,running]{lineno}~
+\end{quote}
+the mode is set to plain \emph{running} line numbers, but later in
+your document, if you say ~\pagewiselinenumbers~, the setings of the
+~[switch]~ and ~[pagewise]~ options will take effect.
+
+\subsubsection{Page numbers}
+
+Any pages that contain \emph{pagewise} numbered lines must have a
+different page number.  This may cause trouble with titlepages or
+simmilar fudging with the page number counter in the document.  (I am
+talking about ~\c at page~ or ~\count 0~ here, not ~\thepage~).
+
+If you get strange errors, like \emph{``the use of} ~\nextLN~
+\emph{does not match its definition''}, you should first delete all
+~.aux~ files, and rerun \LaTeX\ several times.  If the error does not
+reappear, fine, else check your page numbers, including those that are
+not printed.  You may use \emph{running} line numbers on your
+titlepages, since the page boundaries are predefined, usually.
+
+\end{pagewiselinenumbers}
+
+\begin{linenumbers*}
+
+\subsection{Margin selection}
+
+In any mode you can select a fixed margin on which the numbers shall
+be printed.  You can either give a package option ~[left]~ or
+~[right]~, or change the margin within the document with
+\begin{quote}\obeylines
+  ~\leftlinenumbers~
+\rightlinenumbers
+  ~\rightlinenumbers~
+\end{quote}
+\rightlinenumbers
+Neither of these commands actually turns on line numbering.  The
+margin setting is changed for the currently selected mode
+\emph{running} or \emph{pagewise}.  If you want to set the margin for
+both modes, append a star
+\begin{quote}\obeylines
+  ~\leftlinenumbers*~
+  ~\rightlinenumbers*~
+\end{quote}
+The default is ~\leftlinenumbers*~.
+
+\end{linenumbers*}
+
+
+\subsection{Summary of mode selection commands}
+
+The following commands change the major line numbering mode.
+\begin{description}\itemsep=0pt\parskip=0pt
+\item [|\setrunninglinenumbers]
+\item [|\setpagewiselinenumbers] \leavevmode\\
+  set the current mode, without activating or deactivating line
+  numbering.
+\item [|\runninglinenumbers\texttt{*[\NL}]
+\item [|\pagewiselinenumbers] \leavevmode\\
+  set the current mode and activate line numbering, optionally reset
+  (~*~), or set the line number for \emph{running} mode.
+\end{description}
+The following commands do not change the major mode, but modify the
+the behaviour of \emph{pagewise} mode
+\begin{description}\itemsep=0pt\parskip=0pt
+\item [|\realpagewiselinenumbers]
+\item [|\runningpagewiselinenumbers] \leavevmode\\
+  select if \emph{pagewise} mode should number continuously, or really
+  pagewise.
+\end{description}
+
+
+\subsection{Summary of margin selection commands}
+
+The following command select into which margin the numbers should be
+printed
+\begin{description}\itemsep=0pt\parskip=0pt
+\item [|\leftlinenumbers\texttt*]
+\item [|\rightlinenumbers\texttt*] \leavevmode\\
+  put the line numbers in the left/right margin in both modes.
+\item [|\leftlinenumbers]
+\item [|\rightlinenumbers] \leavevmode\\
+  put the line number into the left/right margin in the currently
+  selected mode.
+\item [|\switchlinenumbers] \leavevmode\\
+  put the line numbers into the outer margin, when using
+  \emph{pagewise} mode.
+\item [|\switchlinenumbers\texttt*] \leavevmode\\
+  put the line numbers into the inner margin, when using
+  \emph{pagewise} mode.
+\end{description}
+
+\begin{linenumbers*}
+\modulolinenumbers[2]
+
+\subsection{Numbering only one in five lines}
+
+You can ask lineno to print the line numbers only if they devide by
+<n>, by saying
+\begin{quote}
+  ~\modulolinenumbers[~<n>~]~
+\end{quote}
+If you omit the optional argument, it will be every fifth line, or
+whatever you used last (the current value of the counter
+~linenumbermodulo~).  You get the same effect by giving the package
+option ~[modulo]~.
+
+If you set <n> to 1, the modulo value is not changed, but modulo
+numbering is turned off.
+
+Changing the counter ~linenumbermodulo~ does not turn on modulo
+numbering, it just changes the modulo, if it is turned on without the
+optional argument.
+
+This section of the manual is enclosed in
+\begin{quote}
+  ~\begin{linenumbers*}~ \\
+  ~\modulolinenumbers[2]~
+
+  ~\end{linenumbers*}~
+\end{quote}
+
+\end{linenumbers*}
+
+\begin{pagewiselinenumbers}
+\switchlinenumbers
+
+\subsection{How the line numbers look like}
+
+This section of the manual is enclosed in
+\begin{quote}
+ ~\begin{pagewiselinenumbers}~ \\
+ ~\switchlinenumbers~
+
+ ~\end{pagewiselinenumbers}~
+\end{quote}
+By default, the line numbers are set in
+\begin{quote}
+  ~\normalfont\tiny\sffamily~
+\end{quote}
+right justified to 10\,pt left of the nominal left edge of the text.
+If the number is to appear on the right margin, it is right justified
+to 20\,pt right of the nominal right edge of the text.
+
+You can easily change that, of course.  The font is defined by the
+macro
+\begin{quote}
+  ~\linenumberfont~
+\end{quote}
+You can redefine it to make the numbers appear in a differnt font
+(with ~\renewcommand~).  I'll say right here in this manual
+\renewcommand\linenumberfont{\normalfont\bfseries\small}
+\begin{quote}
+  ~\renewcommand\linenumberfont{\normalfont\bfseries\small}~
+\end{quote}
+The distance on the left margin can be changed with
+\begin{quote}
+  ~\setlength\linenumbersep{~<distance>~}~
+\end{quote}
+The distance on the right margin is ~\linenumbersep~ plus
+~\linenumberwidth~, both are set to 10\,pt by default.
+Let's do right here
+\setlength\linenumberwidth{1cm}
+\begin{quote}
+  ~\setlength\linenumbersep{1cm}~
+\end{quote}
+I put the command at the end of the paragraph, but it effects the
+whole paragraph, because that is where everything happens: at the end
+of the paragraphs.
+
+The line numbers are printed as arabic numerals, as defined in the
+macro
+\begin{quote}
+  ~\thelinenumber~
+\end{quote}
+for the \LaTeX\ counter ~{linenumber}~.  You can redefine that, as
+for any other \LaTeX\ counter.  E.g.,
+\renewcommand\thelinenumber{\roman{linenumber}}
+\begin{quote}
+  ~\renewcommand\thelinenumber{\roman{linenumber}}~
+\end{quote}
+(For heavy duty line numbering, you should use \LaTeX s internal
+format, e.g., ~\@roman\c at linenumber~.)
+
+\subsubsection{Deeper customization}
+
+The line number is attached to the line by the macro
+\begin{quote}
+  ~\makeLineNumber~
+\end{quote}
+which is expanded inside a zero width ~\hbox~ alligned to the
+origin of the current line (left edge, baselines alligned).  You can
+do anything in this macro.  Let's assume you do not want line numbers
+at all, but just attach something else to each line of text: this is
+the macro to modify.  You can refer to the line number by the macro
+~\LineNumber~, which prints the current value of the counter
+~{linenumber}~, or nothing if \emph{modulo} mode is active, and the
+number does not divide by ~{linenumbermodulo}~.  You should not modify
+this macro when using any form of \emph{pagewise} mode.  At the end of
+this paragraph I put the following
+\begin{runninglinenumbers}
+\renewcommand\makeLineNumber
+   {\hss$\rightarrow$\ \rlap{\hskip\textwidth\ $\leftarrow$}}
+\end{runninglinenumbers}
+\begin{quote}
+  ~\begin{runninglinenumbers}~\\
+  ~\renewcommand\makeLineNumber~\\
+  ~ {\hss$\rightarrow$\ \rlap{\hskip\textwidth\ $\leftarrow$}}~\\
+  ~\end{runninglinenumbers}~
+\end{quote}
+
+Redefining ~\makeLineNumber~ cuts deep into the linenumber mode
+setting.  If you still want to use the basic modes \emph{running} and
+\emph{pagewise} you should go one level up and modify one of the
+following macros, which are called by (or assigned to)
+~\makeLineNumber~ depending on the current mode, and with the counter
+~{linenumber}~ allready adjusted for the current page when using
+\emph{pagewise} mode.
+\begin{quote}\obeylines
+  ~\makeLineNumberRunning~
+  ~\makeLineNumberOdd~
+  ~\makeLineNumberEven~
+\end{quote}
+The first is used in \emph{running} mode, the other two in
+\emph{pagewise} mode.  If you modify those, you cut into the
+margin selection mechanism as advertised above.  You will have to call
+a mode selection command after changing these macros, to make them take
+effect (at least for ~\makeLineNumberRunning~).
+
+You can go up one more step.  The margin selection commands redefine
+the above macros by making them equivalent (~\let~) to one of the
+following macros
+\begin{quote}\obeylines
+  ~\makeLineNumberLeft~
+  ~\makeLineNumberRight~
+\end{quote}
+You may redefine these, and afterwards issue a margin selection
+command followed by a mode selection command.  The default definitions
+are
+\begin{quote}
+  ~\def\makeLineNumberLeft~\\
+  ~  {\hss\linenumberfont\LineNumber\hskip\linenumbersep}~
+\end{quote}
+and
+\begin{quote}
+  ~\def\makeLineNumberRight~\\
+  ~  {\linenumberfont\hskip\linenumbersep\hskip\textwidth~\\
+  ~    \hbox to\linenumberwidth{\hss\LineNumber}\hss}~
+\end{quote}
+Whatever you do, use ~\LineNumber~ to print the digits.  This ensures
+that the modulo mode setting is acknowledged.  If you want to
+customize that as well, this is the macro to change.  ~\LineNumber~
+eventually refers to ~\thelinenumber~, which is the place to customize
+the numerals themselves.  At the end of this paragraph I said
+\renewcommand\LineNumber{\ifodd\value{linenumber} \thelinenumber)\fi}
+\begin{quote}
+   ~\renewcommand\LineNumber~\\
+   ~   {\ifodd\value{linenumber} \thelinenumber)\fi}~
+\end{quote}
+Line number references are not affected by ~\LineNumber~, but you
+should keep track of ~\thelinenumber~.  Look at the following
+reference
+\begin{quote}
+  The setion title of the next section is on page \pageref{ll1}, line
+  \ref{ll1}.
+\end{quote}
+There is a mismatch in the definition of ~\thelinenumber~, from the
+point of the refered line to the reference here.
+\end{pagewiselinenumbers}
+
+\begin{pagewiselinenumbers}
+
+\section[Line number references]
+        {Line number references\linelabel{ll1}}
+
+\lineno.sty allows to refer to a line number with ~\ref{~<label>~}~.
+The label is set by ~\linelabel{~<label>~}~, anywhere in a paragraph
+that gets line numbers.  If you put a ~\linelabel~ somewhere else, the
+line number it refers to is pretty meaningless, but no error message
+is issued.  (This section begins on line \ref{ll1}, page
+\pageref{ll1} and ends on line \ref{ll2}, page \pageref{ll2}.)
+
+References work both in \emph{running} and \emph{pagewise} modes.
+However, you have to be very careful when using both \emph{real
+  pagewise} mode and \emph{running pagewise} mode: The mode setting
+must be the same during reference as during labeling.
+
+The restrictions on placing a ~\linelabel~ are the same as for a
+~\marginpar~.  (In fact, they are implemented as fake ~\marginpar~s.)
+E.g., the linelabel on the section header of this chapter could not be
+placed in the straight forward way, because it would cause an error in
+the table of contents.  (It should be disabled during \emph{toc}
+processing.)  Instead, I typed
+\begin{quote}
+  ~\section[Line number references]~\\
+  ~        {Line number references\linelabel{ll1}}~
+\end{quote}
+This works fine, with the standard \LaTeX\ ~{article}~ document
+style.  If more generic markup is required, you should avoid things
+like this (you should avoid \lineno.sty altogether, in that case).
+
+~\linelabel~ does not work in display math.  (Why,  you do not use
+equation numbers?)
+
+The ~\linelabel~ command starts a new paragraph if it is issued after
+an empty line.  It will properly ignore further whitespace before the
+first word of text. Thus you can easily get a label to the first line
+of a paragraph.
+
+Furthermore, ~\linelabel~ uses \LaTeX s standart tricks to avoid
+unnecessary spaces if you place is between two words with spaces
+around, but you should not do that anyway, if you want to make sure
+that the label applies to a certain word in the text.  You should
+attach the line label to the word in question without intervening
+spaces, either before of after the word.  If you leave spaces both
+before and after the ~\linelabel~ command, the current implemenation
+attaches the line label to the following word (by ignoring the
+trailing space).
+
+Special care should be taken at the end of a paragraph.  You better
+put the line label without intervening spaces behind the period, like
+this
+\begin{quote}
+  ~This is the end of this section.%~\\
+  ~\linelabel{ll2}~
+\end{quote}
+This is the end of this section.%
+\linelabel{ll2}
+
+\end{pagewiselinenumbers}
+
+\begin{linenumbers*}
+
+
+\section{Known incompatibilities}
+
+This section will expand whenever somebody discovers problems when
+using \lineno.sty together with other \LaTeX\ packages.
+
+\subsection{\texttt{wrapfig.sty}}
+
+\lineno.sty used to have problems with \texttt{wrapfig.sty}, but this
+is solved but \lineno.sty, version 2.05.
+
+
+\section{Extension packages}
+
+The extension packages were abolished with version v3.00 of
+\lineno.sty.  One package, ~itemrule.sty~, was dropped, the others
+were put directly into the the main \lineno.sty package file.
+
+\subsection{Display math, \texttt{\itshape mlineno}}
+
+\lineno.sty does not work well with display math.  The parts of a
+paragraph preceeding a display math will not get line numbers.  The
+reason is that the paragraph is not finished, but the part above the
+display is broken into lines anyway.
+
+Let me demonstrate the effect.  This paragraph contains a
+~{displaymath}~ environment.  The part before the Formula does not get
+line numbers.  Here comes the Formula
+\begin{displaymath}
+    \mathrm{6\,H_2O + 6\,CO_2 \ \rightarrow\  C_6H_{12}O_6 + 6\,O_2}
+\end{displaymath}
+which makes the line numbers disappear.  The trailing part of the
+paragraph does get line numbers.
+
+There are several means to solve the problem, but none of them is
+fully satisfactory.  \lineno.sty defines a ~{linenomath}~ environment,
+which can be wrapped around a display math to make the line numbering
+work.  This will work with any kind of display math, even if you use
+explicit ~$$~ pairs.  There is a ~*~-form ~{linenomath*}~ which also
+numbers the lines of the display itself, as good as it can.  Here
+comes an example use of ~{linenomath*}~
+\begin{linenomath*}
+\begin{eqnarray*}
+  b_1 &=& a_{11}x_1 + a_{12}x_2 \\
+  b_2 &=& a_{21}x_1 + a_{22}x_2
+\end{eqnarray*}
+\end{linenomath*}
+wrapping an ~{egnarray*}~ like this
+\begin{quote}
+  ~\begin{linenomath*}~\\
+  ~  \begin{eqnarray*}~\\
+  ~    b_1 &=& a_{11}x_1 + a_{12}x_2 \\~\\
+  ~    b_2 &=& a_{21}x_1 + a_{22}x_2~\\
+  ~  \end{eqnarray*}~\\
+  ~\end{linenomath*}~
+\end{quote}
+Specifying the package option ~[mathlines]~, causes the
+~{linenomath}~ environment to switch its function with its *-form.
+This allows you to later decide if you want the numbers on the formulas
+or not, without putting in stars everywhere (as long as you have been
+consistent).
+
+The ~{linenomath}~ wrapper does nothing if line numbering is not
+activated.  You do not need to remove them if you decide to omit the
+line numbering later (although you still have to load \lineno.sty).
+
+The \texttt{\itshape mlineno} extension redefines the standard \LaTeX\
+display math environments to wrap themselves automatically into
+~{linenomath}~:
+\begin{quote}\obeylines
+   ~\[~ ~\]~
+   ~{displaymath}~
+   ~{equation}~
+   ~{eqnarray}~
+   ~{eqnarray*}~
+\end{quote}
+As of version 3.00 you can activate this by the package option
+~[displaymath]~.  You can keep existing explicit ~{linenomath}~
+wrappers without harm.
+
+This will probably not work with AMSmath.
+
+Other solutions to make \lineno.sty work with display math are either
+ugly or less stable.  The ugly possibility is to precede every display
+math with an empty line, or better with
+\begin{quote}
+  ~{\par\nobreak\noindent}~
+\end{quote}
+but this gains you nothing compared to using the ~{linenomath}~
+environment, since you still have to modify your document.
+
+\end{linenumbers*}
+
+
+\subsection{\texttt{\itshape rlineno}}
+
+\begin{runninglinenumbers}
+It is currently not possible to put a ~\linelabel~ into math mode.
+This should not impose problems with inline math, since you can attach
+the label just outside the math shift, like\linelabel{rll1}
+\begin{quote}
+  ~... \linelabel{~<label>~}$x=f(y)$ ...~
+\end{quote}
+but to refer to a line in display math, you cannot label it directly.
+\end{runninglinenumbers}
+
+\begin{pagewiselinenumbers}
+The extension \texttt{\itshape rlineno} offers a solution,
+allowing to refer to a line number with an offset.
+
+This extension is now available with plain \lineno.sty v3.00.
+
+You put the ~\linelabel~ at the end of the preceeding line, and refer
+to that number, plus 1 or, in case of multiline displays, by any other
+offset.\linelabel{rll2}
+\begin{quote}
+  ~...\linelabel{~<label>~}~ \\
+  ~\begin{equation}~ \\
+  ~     y=f'(x)~ \\
+  ~\end{equation}~ \\
+  ~... the formula in line \lineref[+1]{~<label>~}~
+\end{quote}
+The offset calculation is different for pagewise or running line
+numbers, and you will have to make sure the right method is used.
+\end{pagewiselinenumbers}
+
+The macro ~\lineref[~<offset>~]{~<label>~}~ uses the method of the
+currently selected mode (line numbering need not be activated).  To
+specify the mode explicitly, use ~\linerefr~ or ~\linerefp~ for
+running or pagewise mode respectively.
+
+For example, the manual sets a ~\linelabel{rll1}~ at the end of the
+line preceeding the single line quote environment at
+line\,\linerefr[+1]{rll1} in the first paragraph of this chapter, and
+refered to it via
+\begin{quote}
+  ~\linerefr[+1]{rll1}~
+\end{quote}
+and another one preceeding the quote environment in the second
+paragraph of this chapter, with the central line
+numbered\,\linerefp[+3]{rll2}, which I just refered to via
+\begin{quote}
+  ~\linerefp[+3]{rll2}~
+\end{quote}
+\begin{runninglinenumbers}
+If the correct mode is selected (e.g., ~\setrunninglinenumbers~),
+you can use ~\lineref[+1]{rll1}~ to refer to
+line\,\lineref[+1]{rll1}.
+\end{runninglinenumbers}
+
+
+\subsection{\texttt{\itshape numquote}}
+
+This extension defines two environments, each of them with a *-form or
+alternatively an optional argument.
+\begin{quote}\obeylines
+  ~\begin{numquote}~
+  ~\end{numquote}~
+\end{quote}
+is like ~{quote}~,
+\begin{quote}\obeylines
+  ~\begin{numquotation}~
+  ~\end{numquotation}~
+\end{quote}
+is like ~{quotation}~, but with the lines numbered.  Numbering
+restarts with 1 each time it is used, except you use the *-form, or
+specify the line number to start with in an optional argument.
+\begin{numquote}
+The line numbers set to the left of the text, indented by the same
+amount as the quote or quotation.  This works as expected even if the
+quote appears in a nested list.
+\end{numquote}
+To customize the distance from the text or the shape of the
+numbers, you can modify the macros ~\quotelinenumbersep~ and
+~\quotelinenumberfont~ respectively.
+
+As of version 3.00, this is available directly with \lineno.sty.
+
+\clearpage
+
+\subsection{\texttt{\itshape ilineno}}
+\label{sec:ilineno}
+
+\begin{center}
+\noindent\fbox{\parbox{0.8\textwidth}{
+  \internallinenumbers \resetlinenumber[13]
+  Sometimes you need line numbers within a |\parbox\ or figure.  This
+  extension can do that, if the text is simple enough.  It works by
+  drawing a ladder of numbers next to the paragraph, each number
+  vertically separated by |\baselineskip\ from the other.  This
+  obviously dose not work nicely with anything but straight text.
+  Extra high lines (like this: $\displaystyle x=\frac AB$) will
+  disturb the alignment.  The power of \lineno.sty is not necessary to
+  achieve this, but you may need both in one document with a somewhat
+  coherent interface, and some of the necessary infrastructure from
+  \lineno.sty is actually useful.
+}}\end{center}
+% Why is the v-spacing wrong here?
+
+The preceding paragraph was set like this:
+\begin{quote}
+  ~\begin{center}\fbox{\parbox{0.8\textwidth}{~ \\
+    ~\internallinenumbers~ \\
+    ~\resetlinenumber[13]~ \\
+    ~ ~ Sometimes you need \dots \\
+  ~}}\end{center}~
+\end{quote}
+
+\subsection{\texttt{\itshape itemrule.sty}}
+
+Somebody asked me if he can get a rule next to an itemized item, from
+the bullet downwards.  This style did that.  It was unstable and of
+little interest, so it is gone from the \lineno.sty distribution.
+
+\subsection{\texttt{\itshape bframe}}
+\label{sec:bframe}
+
+\setlength\bframesep{10pt}
+\begin{bframe}
+\lineno.sty can be used for unexpected purposes.  The environment
+\begin{quote}\obeylines
+  ~\begin{bframe}~
+  ~\end{bframe}~
+\end{quote}
+draws boxes around some text, even across page breaks.  At a page
+break, the box is open (it is difficult to fix that).  There are two
+parameters:
+\begin{description}\itemsep=0pt\parskip=0pt
+\item [|\bframesep] \leavevmode\\
+  defines the separation of the box from the text.
+\item [|\bframerule] \leavevmode\\
+  defines the thickness of the lines around the text.
+\end{description}
+
+It works by asking \lineno.sty to draw small rules left and right to
+the lines.  The total height of the rules is ~\baselineskip~ plus
+~\bframesep~. This leaves some extra space for extra high lines.
+
+The current version is very preliminary.  In a future version there
+may be a possibility to move the vertical lines inwards for indented
+text.  The box may optionally be closed at page breaks.  It will not
+likely be possible to have a colored background in the box, at least
+not with a graphics driver that cannot put a background behind
+existing foreground (Postscript cannot, I've been told).  Tell me how
+to make a gray background, like block dots on transparent, and I can
+do shaded boxes.
+
+\end{bframe}
+
+\section{How to print the documented source}
+
+\begin{bframe}
+\lineno.sty is written in three programming languages: \TeX, sh,
+and awk.
+
+The file can be loaded as a \LaTeXe\ package as it is.  However, if
+you feed it into a Unix shell, like
+\begin{quote}
+   ~csh>  source ./lineno.sty~
+\end{quote}
+it will produce the files ~lineno.tex~ and ~lineno.dvi~, which is the
+documented source of \lineno.sty.  If you want to learn how it works,
+or you need to adapt \lineno.sty for some special requirements, you
+should read that document.
+\end{bframe}
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/lineno/ulineno.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lineno/ednmath0.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lineno/ednmath0.sty	2022-12-05 10:28:48 UTC (rev 65203)
+++ trunk/Master/texmf-dist/tex/latex/lineno/ednmath0.sty	2022-12-05 21:23:48 UTC (rev 65204)
@@ -1,202 +1,200 @@
-%% Macro package `ednmath0.sty' for LaTeX2e, 
-%% copyright (C) 2004 Uwe L\"uck, 
-%% http://www.contact-ednotes.sty.de.vu 
-%% --author-maintained; 
-%% math support for `lineno.sty' and `ednotes.sty'. 
-%% 
+%% Macro package `ednmath0.sty' for LaTeX2e,
+%% copyright (C) 2004 Uwe L\"uck,
+%% http://www.contact-ednotes.sty.de.vu
+%% --author-maintained;
+%% math support for `lineno.sty' and `ednotes.sty'.
+%%
 \def\fileversion{v0.2b} \def\filedate{2005/01/10}
-%% This program can be redistributed and/or modified under the 
-%% terms of the LaTeX Project Public License distributed from 
+%% This program can be redistributed and/or modified under the
+%% terms of the LaTeX Project Public License distributed from
 %% CTAN archives in directory macros/latex/base/lppl.txt; either
 %% version 1.3a of the License, or any later version.
 %% The latest version of this license is in
 %%   http://www.latex-project.org/lppl.txt
-%% There is NO WARRANTY. 
-%% This code is very EXPERIMENTAL! 
+%% There is NO WARRANTY.
+%% This code is very EXPERIMENTAL!
 %%
-%% Please report bugs, problems, and suggestions via 
-%% 
-%%   http://www.contact-ednotes.sty@web.de 
-% 
-%% * MAIN FEATURE * 
-% 
-% lineno.sty's \linelabel and ednotes.sty's commands are enabled 
-% to work in math mode if it's "entered in outer mode" 
-% (including `displaymath' and `equation' environments). 
-% (lineno.sty is the package by Stephan Boettcher.) 
-% They will even work in tabular environments that are adjusted 
-% to notes by package `edtable.sty'. 
-% 
-% CAVEATS: 
-% -- Does not work yet in environments like LaTeX's 
-% `eqnarray'. (This could probably repaired along the lines 
-% of Edtable.sty--we're short of time and will try later.) 
-% -- Useful error messages when (i) math mode is entered from 
-% inner mode or when (ii) a math display gets not line number 
-% are missing at present. 
-% 
+%% Please report bugs, problems, and suggestions via
+%%
+%%   http://www.contact-ednotes.sty@web.de
+%
+%% * MAIN FEATURE *
+%
+% lineno.sty's \linelabel and ednotes.sty's commands are enabled
+% to work in math mode if it's "entered in outer mode"
+% (including `displaymath' and `equation' environments).
+% (lineno.sty is the package by Stephan Boettcher.)
+% They will even work in tabular environments that are adjusted
+% to notes by package `edtable.sty'.
+%
+% CAVEATS:
+% -- Does not work yet in environments like LaTeX's
+% `eqnarray'. (This could probably repaired along the lines
+% of Edtable.sty--we're short of time and will try later.)
+% -- Useful error messages when (i) math mode is entered from
+% inner mode or when (ii) a math display gets not line number
+% are missing at present.
+%
 %% * USAGE: *
-% 
-% * Most simple: * 
-% --If you are working with ednotes and want to use its 
-% commands in math mode, load ednotes.sty--version 0.8 
-% onwards--with its package option `mathnotes'. 
-% --If you don't work with ednotes, only with lineno, you 
-% get the main feature of making \linelabel work in math mode 
-% by loading lineno.sty--version 4.1 onwards--with its 
-% package option `mathrefs'. 
-% 
-% * Switch off and on: * 
-% To reduce danger resulting from missing error messages 
-% ("caveat" above), you may switch these new math facilities 
-% off by \NoNotesToMath where you don't expect to need them. 
-% You may switch them on again by \NotesToMath where you want 
-% to use them, being aware of the danger. Both commands work 
-% locally, so you can replace one of them by enclosing it in 
-% a group. E.g., even, after \NoNotesToMath you can use an 
-% environment as follows: 
+%
+% * Most simple: *
+% --If you are working with ednotes and want to use its
+% commands in math mode, load ednotes.sty--version 0.8
+% onwards--with its package option `mathnotes'.
+% --If you don't work with ednotes, only with lineno, you
+% get the main feature of making \linelabel work in math mode
+% by loading lineno.sty--version 4.1 onwards--with its
+% package option `mathrefs'.
+%
+% * Switch off and on: *
+% To reduce danger resulting from missing error messages
+% ("caveat" above), you may switch these new math facilities
+% off by \NoNotesToMath where you don't expect to need them.
+% You may switch them on again by \NotesToMath where you want
+% to use them, being aware of the danger. Both commands work
+% locally, so you can replace one of them by enclosing it in
+% a group. E.g., even, after \NoNotesToMath you can use an
+% environment as follows:
 %   \begin{NotesToMath}
-%     <text> 
-%   \end{NotesToMath} 
+%     <text>
+%   \end{NotesToMath}
 % (I am not quite sure that this is useful.)
-% 
-% * Customize ellipsis: * 
-% ednotes' \lemmaellipsis is changed to expand to 
-% \mathlemmaellipsis when entering math, and this is preset 
-% to be LaTeX's \mathellipsis. (This is three dots as 
-% \mathinner.) You can change this by redefining 
-% \mathlemmaellipsis, e.g.: 
+%
+% * Customize ellipsis: *
+% ednotes' \lemmaellipsis is changed to expand to
+% \mathlemmaellipsis when entering math, and this is preset
+% to be LaTeX's \mathellipsis. (This is three dots as
+% \mathinner.) You can change this by redefining
+% \mathlemmaellipsis, e.g.:
 %   \renewcommand{\mathlemmaellipsis}{\cdots}
-% If you need \cdots as the ellipsis at a single place only, 
-% you may, of course, use the `<...>' option of \<, e.g.: 
+% If you need \cdots as the ellipsis at a single place only,
+% you may, of course, use the `<...>' option of \<, e.g.:
 %   $ x = \Anote{a\<<\cdots>bcd\>e}{Indeed?} - y $
-% 
+%
 % * Customize note mode: *
-% For variant readings, you may want that the note is 
-% usually set in math mode--so you may want that you 
-% needn't type the dollar signs in the note text. 
-% Note that you can do this by customizing \notefmt, 
-% and you can do this by customizing \Anotefmt (e.g.) 
-% to have this feature for \Anote only. 
-% 
+% For variant readings, you may want that the note is
+% usually set in math mode--so you may want that you
+% needn't type the dollar signs in the note text.
+% Note that you can do this by customizing \notefmt,
+% and you can do this by customizing \Anotefmt (e.g.)
+% to have this feature for \Anote only.
+%
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ednmath0}[\filedate\space\fileversion\space 
-  math support for lineno/ednotes (ul)] 
-% 
-%% User commands: 
+\ProvidesPackage{ednmath0}[\filedate\space\fileversion\space
+  math support for lineno/ednotes (ul)]
+%
+%% User commands:
 \def\NotesToMath{\let\@LN at mathhook\@LN at labelinmath
-  \@bsphack \@esphack 
+  \@bsphack \@esphack
 % For \begin{NotesToMath}
-} 
+}
 \def\NoNotesToMath{\@bsphack
-  \def\@LN at mathhook{\@parmoderr\@gobble}% 
-  \@esphack 
-} 
+  \def\@LN at mathhook{\@parmoderr\@gobble}%
+  \@esphack
+}
 \def\endNotesToMath{\@bsphack\@Esphack}
-\let\endNoNotesToMath\endNotesToMath 
-% 
-%% Core code for lineno.sty: 
-\@ifundefined{@LN at postlabel}{% 
-  \PackageError{ednmath0}{% 
-    Bad lineno.sty version% 
-  }{% 
-    lineno.sty from 2004/08/16 or later 
-    must be loaded earlier.% 
+\let\endNoNotesToMath\endNotesToMath
+%
+%% Core code for lineno.sty:
+\@ifundefined{@LN at postlabel}{%
+  \PackageError{ednmath0}{%
+    Bad lineno.sty version%
+  }{%
+    lineno.sty from 2004/08/16 or later
+    must be loaded earlier.%
   }%
-}{% 
-  \def\@LN at labelinmath#1{% 
-    \ifmmode 
-      \@LN at postlabel{#1}% 
-    \else 
-      \@parmoderr 
-    \fi 
+}{%
+  \def\@LN at labelinmath#1{%
+    \ifmmode
+      \@LN at postlabel{#1}%
+    \else
+      \@parmoderr
+    \fi
   }
-} 
-% 
-%% Core code for ednotes.sty: 
-\@ifundefined{@EN at note}{% 
-% v0.01 sent a warning in this case. Considered superfluous now. 
-}{% 
+}
+%
+%% Core code for ednotes.sty:
+\@ifundefined{@EN at note}{%
+% v0.01 sent a warning in this case. Considered superfluous now.
+}{%
   \def\@EN at themathlemmatag{%
-    \ifmmode 
-      \toks@\expandafter{\@EN at lemmatag}% 
+    \ifmmode
+      \toks@\expandafter{\@EN at lemmatag}%
       \edef\@EN at lemmatag{%
-        $% 
-          \def\noexpand\lemmaellipsis{% 
-            \noexpand\mathlemmaellipsis}% 
-          \the\toks@ 
-        $% 
-      }% 
-%       \expandafter \def \expandafter \@EN at lemmatag 
-%         \expandafter {\expandafter $\expandafter 
-%         \def \expandafter \lemmaellipsis \expandafter {% 
-%           \expandafter \mathlemmaellipsis \expandafter }% 
-%         \@EN at lemmatag $}% 
-    \fi 
-  } 
-% To be sure, \lemmaellipsis doesn't need to be changed when 
-% ednotes `\<...\>' feature is not used. Though I prefer to 
-% use one hook only in ednotes for both situations, with and 
-% without `\<...\>'. 
-% 
-% The final \unskip in ednotes' \@EN at lemmatag would undo a final 
-% \quad. That's OK: outside math the same happens. 
-% In v0.01, \NoNotesToMath undid ednotes changes for math mode. 
-% However, re-appearence of \linelabel error messages suffices. 
-% 
-% Now add lemma switch to the left of \[No]NotesToMath: 
+        $%
+          \def\noexpand\lemmaellipsis{%
+            \noexpand\mathlemmaellipsis}%
+          \the\toks@
+        $%
+      }%
+%       \expandafter \def \expandafter \@EN at lemmatag
+%         \expandafter {\expandafter $\expandafter
+%         \def \expandafter \lemmaellipsis \expandafter {%
+%           \expandafter \mathlemmaellipsis \expandafter }%
+%         \@EN at lemmatag $}%
+    \fi
+  }
+% To be sure, \lemmaellipsis doesn't need to be changed when
+% ednotes `\<...\>' feature is not used. Though I prefer to
+% use one hook only in ednotes for both situations, with and
+% without `\<...\>'.
+%
+% The final \unskip in ednotes' \@EN at lemmatag would undo a final
+% \quad. That's OK: outside math the same happens.
+% In v0.01, \NoNotesToMath undid ednotes changes for math mode.
+% However, re-appearence of \linelabel error messages suffices.
+%
+% Now add lemma switch to the left of \[No]NotesToMath:
   \toks@\expandafter{\NotesToMath}
-  \edef\NotesToMath{% 
-    \let \noexpand\@EN at mathlemmatag \noexpand\@EN at themathlemmatag 
+  \edef\NotesToMath{%
+    \let \noexpand\@EN at mathlemmatag \noexpand\@EN at themathlemmatag
     \the\toks@
   }
 %  \typeout{\string\NotesToMath: \meaning\NotesToMath}
   \toks@\expandafter{\NoNotesToMath}
-  \edef\NoNotesToMath{% 
-    \let \noexpand\@EN at mathlemmatag \relax 
+  \edef\NoNotesToMath{%
+    \let \noexpand\@EN at mathlemmatag \relax
     \the\toks@
   }
 %  \typeout{\string\NoNotesToMath: \meaning\NoNotesToMath}
-} 
-% We need no extra device for a choice for users whether the *note* 
-% should be set in math mode or in horizontal mode by default 
-% (which might depend on the kind ["layer"] of notes). 
-% This can be done already by customization of ednotes' \notefmt. 
-% However, we might change ednotes' default \notefmt to default 
+}
+% We need no extra device for a choice for users whether the *note*
+% should be set in math mode or in horizontal mode by default
+% (which might depend on the kind ["layer"] of notes).
+% This can be done already by customization of ednotes' \notefmt.
+% However, we might change ednotes' default \notefmt to default
 %   \renewcommand*{\notefmt}[1]{$#1$}
-% 
-\let\mathlemmaellipsis\mathellipsis 
-%% TODO: Since when has LaTeX provided \mathellipsis? 
-%% -> \Needs... 
-% 
-% Default: 
+%
+\let\mathlemmaellipsis\mathellipsis
+%% TODO: Since when has LaTeX provided \mathellipsis?
+%% -> \Needs...
+%
+% Default:
 \NotesToMath
-% 
-\endinput 
+%
+\endinput
 
-%% TODO: Without \linenumberdisplaymath, in displaymath, 
-%% an error should be shown. Use, e.g., that in a displaymath 
-%% \ifinner is false. 
-%% TODO: E.g., by changing \everymath, perhaps can be warned 
-%% that the math group is in a box already, so the vertical 
-%% items will get lost. 
-%% TODO: Adjust `eqnarray' (in Edtable?) as well. 
+%% TODO: Without \linenumberdisplaymath, in displaymath,
+%% an error should be shown. Use, e.g., that in a displaymath
+%% \ifinner is false.
+%% TODO: E.g., by changing \everymath, perhaps can be warned
+%% that the math group is in a box already, so the vertical
+%% items will get lost.
+%% TODO: Adjust `eqnarray' (in Edtable?) as well.
 
-%% VERSION HISTORY: 
-v0.01 2004/08/16  First version, sent to Christian. 
-v0.02 2004/08/16  Considerably simplified for ednotes. 
-      2004/08/19  Added ellipsis stuff, documentation, and 
-                  instructions. Uncapitalized package names. 
-                  Added \end[No]NotesToMath. 
-      2004/08/20  Added \@bsphack and \@esphack; corrected 
-                  ednotes extension (too much deleted, completely 
-                  wrong), introducing \@EN at themathlemmatag. 
-v0.02b .../08/31  Rearranged preamble concerning maintenance. 
-v0.1  2004/09/20  Removed mentions of `linenox0.sty'. 
-v0.2  2004/10/07  Removed another mention of `linenox0.sty'; 
-                  Instructions: `lineno' or `ednotes.sty' option. 
-v0.2a 2004/11/07  LPPL v1.3a. 
-v0.2b 2005/01/10  Contact via http. 
-
-
+%% VERSION HISTORY:
+v0.01 2004/08/16  First version, sent to Christian.
+v0.02 2004/08/16  Considerably simplified for ednotes.
+      2004/08/19  Added ellipsis stuff, documentation, and
+                  instructions. Uncapitalized package names.
+                  Added \end[No]NotesToMath.
+      2004/08/20  Added \@bsphack and \@esphack; corrected
+                  ednotes extension (too much deleted, completely
+                  wrong), introducing \@EN at themathlemmatag.
+v0.02b .../08/31  Rearranged preamble concerning maintenance.
+v0.1  2004/09/20  Removed mentions of `linenox0.sty'.
+v0.2  2004/10/07  Removed another mention of `linenox0.sty';
+                  Instructions: `lineno' or `ednotes.sty' option.
+v0.2a 2004/11/07  LPPL v1.3a.
+v0.2b 2005/01/10  Contact via http.

Modified: trunk/Master/texmf-dist/tex/latex/lineno/edtable.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lineno/edtable.sty	2022-12-05 10:28:48 UTC (rev 65203)
+++ trunk/Master/texmf-dist/tex/latex/lineno/edtable.sty	2022-12-05 21:23:48 UTC (rev 65204)
@@ -1,291 +1,291 @@
-%% `edtable.sty'---Uwe L"uck, direction Christian Tapp. 
-%% LaTeX package for tables with line numbers and 
-%% editorial notes. 
-%% 
-%% Copyright (C) 2003-2005 Uwe L"uck--author-maintained. 
-%% 
-\def\fileversion{1.3c} \def\filedate{2005/10/03} 
-%% 
-%% This file can be redistributed and/or modified under 
-%% the terms of the LaTeX Project Public License; either 
+%% `edtable.sty'---Uwe L"uck, direction Christian Tapp.
+%% LaTeX package for tables with line numbers and
+%% editorial notes.
+%%
+%% Copyright (C) 2003-2005 Uwe L"uck--author-maintained.
+%%
+\def\fileversion{1.3c} \def\filedate{2005/10/03}
+%%
+%% This file can be redistributed and/or modified under
+%% the terms of the LaTeX Project Public License; either
 %% version 1.3 of the License, or any later version.
 %% The latest version of this license is in
 %%   http://www.latex-project.org/lppl.txt
-%% We did our best to help you, but there is NO WARRANTY. 
-%% 
-%% Please send your comments via 
-%% 
-%%   http://www.contact-ednotes.sty.de.vu 
-%% 
-%% * USAGE: * 
-% 
-% *Requirements/overview:* 
-% 
-% The package is made for the background of the LaTeX2e macro 
-% package and enhances functionality of the following packages: 
-% 1.) Stephan I. B"ottcher's `lineno.sty' for printing line 
-%     numbers in the margin and a \label version \linelabel 
-%     relating labels to line numbers; 
-% 2.) our `ednotes.sty' for indicating variant readings and 
-%     other editorial remarks in separate footnote apparatuses; 
-% 3.) David Carlisle's `longtable.sty' for multi-page tables. 
-%                                                 %% TODO: supertabular etc.!? 
-% 4.) our `ltabptch.sty' for a patch of `longtable.sty' 
-%     (i.e., optionally, see below). 
-% 
-% Actually, only the first package is necessary for using the 
-% present one. The present one needs your line numbering commands 
-% according to the first one and its documentation to which we 
-% refer here. We likewise refer to the remaining packages for the 
-% details of their functionality. 
-% 
-% `lineno.sty' version 4.1 and (in case it is used) `ednotes.sty' 
-% version 0.8 (onwards) are needed. For obtaining recent versions 
-% of required packages, see the CTAN folder 
-%     /macros/latex/contrib/ednotes. 
-% 
-% *Install/load:* 
-% 1.) To be used, the present file must be put into a folder 
-%     that (La)TeX searches. You should have obtained a file 
-%     containing more detailed hints about this. 
-% 2.) We recommend loading this file *not* by 
-%     \usepackage[<options>]{edtable} but by loading `lineno.sty' 
-%     or `ednotes.sty' with package option `edtable'. 
-% 3.) To use the package options `longtable' and 
-%     `nolongtablepatch' that are described below, enter them 
-%     as options for `lineno.sty' or `ednotes.sty'. 
-% 
-% *User Commands:* 
-% 
-% 1. The package defines an environment `edtable' -- for its 
-% syntax we consider two cases: 
-% (a) Let <stdtable> be a tabular environment "like `tabular'". 
-% "Like" here means: (i) we have tested it with `tabular', but 
-% it should work with many more (e.g., from the `array' and 
-% `tabularx' packages) -- which share certain properties of 
-% implementation and requirements. Sorry, you must try, or we 
-% hope you will (and tell us). (For wizards: <stdtable> may 
-% probably be anything using a single \halign and \tabskip=0pt.) 
-% Definitively: 
-% (ii) LaTeX's standard `array' and other environments are *not* 
-% "like" `tabular'. Namely, environments that work only in math 
-% mode are not meant here. They are considered below in `b.'. 
-% (iii) `longtable' from the `longtable' package of the `tools' 
-% bundle neither is meant. An option of the present package 
-% deals with it as described below. Neither `supertabular' is 
-% meant. 
-% (iv) In general, usage with tabular environments that can 
-% break across pages as in (iii) is not recommended, at least 
-% when working with `ednotes.sty'. Even if some worked here, a 
-% shortcoming with `ednotes.sty' would be that the footnotes can 
-% appear on bad pages. 
-% -- Now the syntax is: 
+%% We did our best to help you, but there is NO WARRANTY.
+%%
+%% Please send your comments via
+%%
+%%   http://www.contact-ednotes.sty.de.vu
+%%
+%% * USAGE: *
+%
+% *Requirements/overview:*
+%
+% The package is made for the background of the LaTeX2e macro
+% package and enhances functionality of the following packages:
+% 1.) Stephan I. B"ottcher's `lineno.sty' for printing line
+%     numbers in the margin and a \label version \linelabel
+%     relating labels to line numbers;
+% 2.) our `ednotes.sty' for indicating variant readings and
+%     other editorial remarks in separate footnote apparatuses;
+% 3.) David Carlisle's `longtable.sty' for multi-page tables.
+%                                                 %% TODO: supertabular etc.!?
+% 4.) our `ltabptch.sty' for a patch of `longtable.sty'
+%     (i.e., optionally, see below).
+%
+% Actually, only the first package is necessary for using the
+% present one. The present one needs your line numbering commands
+% according to the first one and its documentation to which we
+% refer here. We likewise refer to the remaining packages for the
+% details of their functionality.
+%
+% `lineno.sty' version 4.1 and (in case it is used) `ednotes.sty'
+% version 0.8 (onwards) are needed. For obtaining recent versions
+% of required packages, see the CTAN folder
+%     /macros/latex/contrib/ednotes.
+%
+% *Install/load:*
+% 1.) To be used, the present file must be put into a folder
+%     that (La)TeX searches. You should have obtained a file
+%     containing more detailed hints about this.
+% 2.) We recommend loading this file *not* by
+%     \usepackage[<options>]{edtable} but by loading `lineno.sty'
+%     or `ednotes.sty' with package option `edtable'.
+% 3.) To use the package options `longtable' and
+%     `nolongtablepatch' that are described below, enter them
+%     as options for `lineno.sty' or `ednotes.sty'.
+%
+% *User Commands:*
+%
+% 1. The package defines an environment `edtable' -- for its
+% syntax we consider two cases:
+% (a) Let <stdtable> be a tabular environment "like `tabular'".
+% "Like" here means: (i) we have tested it with `tabular', but
+% it should work with many more (e.g., from the `array' and
+% `tabularx' packages) -- which share certain properties of
+% implementation and requirements. Sorry, you must try, or we
+% hope you will (and tell us). (For wizards: <stdtable> may
+% probably be anything using a single \halign and \tabskip=0pt.)
+% Definitively:
+% (ii) LaTeX's standard `array' and other environments are *not*
+% "like" `tabular'. Namely, environments that work only in math
+% mode are not meant here. They are considered below in `b.'.
+% (iii) `longtable' from the `longtable' package of the `tools'
+% bundle neither is meant. An option of the present package
+% deals with it as described below. Neither `supertabular' is
+% meant.
+% (iv) In general, usage with tabular environments that can
+% break across pages as in (iii) is not recommended, at least
+% when working with `ednotes.sty'. Even if some worked here, a
+% shortcoming with `ednotes.sty' would be that the footnotes can
+% appear on bad pages.
+% -- Now the syntax is:
 %    \begin{edtable}{<stdtable>}<args><entries>\end{edtable}
-% -- where <args> and <entries> are usual arguments and entries 
-% for <stdtable>. So an example is: 
-%    \begin{edtable}{tabular}{cc} 
-%      left upper & right upper \\ left lower & right lower 
-%    \end{edtable} 
-% This produces just what <stdtable> does in an extra line, 
-% only adding line numbers in the margin and processing `ednotes' 
-% commands in the entries appropriately. 
-% (b) Let <stdarray> be an "array environment" like -- standard 
-% LaTeX's `array'! "Like" here means (i) ... analogously to 
-% <stdtable> above. (ii) "Text" ... oh, sorry, this is not clear 
-% to me at present, and I am in a hurry.                 %% TODO 
-% (iii) Nothing from the `amsmath' package seems to work here, 
-% sorry, I have tried a lot ... (iv) For standard LaTeX's 
-% `eqnarray', it is better to try the `linenomath' environment 
-% of `lineno.sty' [with package option `mathlines']. Its 
-% modifications in `amsmath' produce (at best) a spurious line 
-% number with the `linenomath' environment (up to now). 
-% -- Now the syntax is: 
+% -- where <args> and <entries> are usual arguments and entries
+% for <stdtable>. So an example is:
+%    \begin{edtable}{tabular}{cc}
+%      left upper & right upper \\ left lower & right lower
+%    \end{edtable}
+% This produces just what <stdtable> does in an extra line,
+% only adding line numbers in the margin and processing `ednotes'
+% commands in the entries appropriately.
+% (b) Let <stdarray> be an "array environment" like -- standard
+% LaTeX's `array'! "Like" here means (i) ... analogously to
+% <stdtable> above. (ii) "Text" ... oh, sorry, this is not clear
+% to me at present, and I am in a hurry.                 %% TODO
+% (iii) Nothing from the `amsmath' package seems to work here,
+% sorry, I have tried a lot ... (iv) For standard LaTeX's
+% `eqnarray', it is better to try the `linenomath' environment
+% of `lineno.sty' [with package option `mathlines']. Its
+% modifications in `amsmath' produce (at best) a spurious line
+% number with the `linenomath' environment (up to now).
+% -- Now the syntax is:
 %    \begin{edtable}[<$$$>]{<stdarray>}
 %      <args><entries>\end{edtable}
-% -- where <args> and <entries> are usual arguments and entries 
-% for <stdarray>. <$$$> can be one of `$' or `$$'. Indeed, the 
-% <stdtable> syntax above (without [<$$$>]) *does not work* 
-% inside $...$ or $$...$$. -- An example: 
+% -- where <args> and <entries> are usual arguments and entries
+% for <stdarray>. <$$$> can be one of `$' or `$$'. Indeed, the
+% <stdtable> syntax above (without [<$$$>]) *does not work*
+% inside $...$ or $$...$$. -- An example:
 %    \begin{edtable}[$$]{array}{cc}
 %      a_{11} & a_{12} \\ a_{21} & a_{22}
 %    \end{edtable}
-% Now, this produces just what <stdarray> does in an extra line 
-% etc. as with <stdtable>. However, \linelabel and `ednotes.sty' 
-% footnotes may need the `mathrefs' option of `lineno.sty'. For 
-% the difference between `[$]' and `[$$]', see below. 
-% 
-% 2. When working with `ednotes.sty', in 
+% Now, this produces just what <stdarray> does in an extra line
+% etc. as with <stdtable>. However, \linelabel and `ednotes.sty'
+% footnotes may need the `mathrefs' option of `lineno.sty'. For
+% the difference between `[$]' and `[$$]', see below.
+%
+% 2. When working with `ednotes.sty', in
 %   \Anote{L1\<L2\>L3}{NOTE}
-% L2 may contain &'s and \\'s, but L1, L3 must not! Analogously 
-% for \Bnote, etc., \Anotelabel...\donote..., etc. -- Well this 
-% holds for <stdtable>, hardly for <stdarray> ...        %% TODO 
-% 
-% 3. On positioning: You may have wondered about `extra line' 
-% above. This means that `edtable' starts a new line at 
-% \begin{edtable} and at \end{edtable}.          %% TODO: sure!? 
-% (a) It should be placed within a `center', `flushleft', or 
-% `flushright' environment for proper (vertical) spacing, but 
-% also works without. However, with <stdarray> and optional 
-% parameter `$$' of `edtable' (i.e., \begin{edtable}[$$]...), 
-% you can obtain the usual math display spacing *within a 
-% paragraph*; especially, the vertical space is less when the 
-% previous line is short ... and so on. 
-% (b) Horizontal positioning of line numbers (usually) needs a 
-% second run (after changing a table)! %% TODO: automatic warning. 
-% (For wizards: It may fail if some of \leftskip, \rightskip, 
-% \linewidth, and \@totalleftmargin are used in an unusual way.) 
-% A <dimen> register \ETextraoffset is provided whose value is 
-% 0pt by default and which additionally moves line numbers 
-% to the left (right) if given a positive (negative) value. 
-%                                               %% TODO: any use? 
-% 
-% *Package options:* 
-% 
-% 1. Option `longtable' adjusts the `longtable' environment 
-% defined by David Carlisle's longtable.sty for use with 
-% `lineno.sty' and `ednotes.sty'. The option makes `longtable' 
-% environments appear with line numbers in the margin, according 
-% to `lineno.sty', and process `ednotes.sty' commands if line 
-% numbering is active according to `lineno.sty'. 
-% [We maintain an alternative package with just this function 
-% in a slightly different implementation.] %% -> ulnltab.sty. 
-% Lemmas may go across table entries as with `edtable' (see above). 
-% ---There might be options like `supertabular' for adjusting 
-% other tabular environments that cannot be handled by the 
-% `edtable' environment provided here---they have not been 
-% implemented yet!                                             %% TODO 
-% 
-% 2. Option `nolongtablepatch' avoids loading/asking for 
-% `ltabptch.sty'. I.e.: according to LaTeX bugs database, 
-% tools/3180 and tools/3485, there have been problems with 
-% vertical spacing around `longtable' environments. By default 
-% the present package loads our `ltabptch.sty' or asks for it. 
-% Option `nolongtablepatch' overrides this. This is useful when 
-% you don't want to have the patch, especially when you use an 
-% "emergency stop" installation of TeX. 
-% 
-% *Wizard interface:* 
-% Macros \@ET at makeLineNumber, \@ET at use@outerhook, 
-% \@ET at execute@outerhook, \@ET at ampnotes \@ET at startlinewith, 
-% \@ET at trivialize@linelabel are provided as tools for adjusting 
-% tabular environments for use with `lineno.sty' and 
-% `ednotes.sty'. \@ET at step@linenumber is \let \stepLineNumber 
-% (from `lineno.sty'), but could be used as a hook for 
-% something different. See Environment `edtable' and Option 
-% `longtable' below for examples of application. 
-%                                        %% TODO: specification here. 
-% 
+% L2 may contain &'s and \\'s, but L1, L3 must not! Analogously
+% for \Bnote, etc., \Anotelabel...\donote..., etc. -- Well this
+% holds for <stdtable>, hardly for <stdarray> ...        %% TODO
 %
-%% * Acknowledgements: * 
-% 
-% Stephan I. B"ottcher told us how to do it in extensive discussion 
-% and by providing some first code lines. We changed these essentially 
-% in some respects, but kept his general ideas and some parts of his 
-% macros, the latter even without knowing what we are doing. 
-% 
-% v1.3 is due to a request by Martin Brandenburg. 
-% 
-%  * Now for internals: * 
-% 
-\NeedsTeXFormat{LaTeX2e}[1994/12/01] 
-% 1994/12/01: \newenvironment* etc. %% TODO: more recent needed? 
-\ProvidesPackage{edtable}[\filedate\space v\fileversion\space 
-  arrays with lineno + ednotes (ul)] 
-% 
-% Alternative ideas for implementation: 
-% 1. There is a German package `TABMAC' enhancing `EDMAC' (cf. 
-% documentation of `ednotes.sty'). We could have rewritten its 
-% macros so it would work with `lineno.sty' and `ednotes.sty' 
-% in place of `EDMAC'. [TODO: "tabmac.sty"] 
-% 2. We redefine `longtable' by Option `longtable' because 
-% there seems to be only one reasonable use of the `longtable' 
-% environment in the course of a critical edition. This may be 
-% different for environments like `array' and `tabular' which 
-% can be used within text lines. Therefore, these environments 
-% are not redefined. 
-% 3. One might use \everycr, however: (a) it is executed 
-% before the first row, (b) it is executed in fake lines that 
-% `longtable' uses. 
-% 4. As an alternative to \everycr, there is the approach of 
-% redefining \cr and \crcr for setting \noalign. This needs 
-% redefining \@tabularcr etc.---not nice. We use this approach 
-% here for `longtable' which uses a stretching \tabskip. 
-% For \tabskip=0pt, we attach line numbers by a template. 
-% 
-% \RequirePackage{lineno}[2004/10/06] 
-% Wanted to check lineno version--causes unknown option error. 
-% See LaTeX bug latex/3730. 
+% 3. On positioning: You may have wondered about `extra line'
+% above. This means that `edtable' starts a new line at
+% \begin{edtable} and at \end{edtable}.          %% TODO: sure!?
+% (a) It should be placed within a `center', `flushleft', or
+% `flushright' environment for proper (vertical) spacing, but
+% also works without. However, with <stdarray> and optional
+% parameter `$$' of `edtable' (i.e., \begin{edtable}[$$]...),
+% you can obtain the usual math display spacing *within a
+% paragraph*; especially, the vertical space is less when the
+% previous line is short ... and so on.
+% (b) Horizontal positioning of line numbers (usually) needs a
+% second run (after changing a table)! %% TODO: automatic warning.
+% (For wizards: It may fail if some of \leftskip, \rightskip,
+% \linewidth, and \@totalleftmargin are used in an unusual way.)
+% A <dimen> register \ETextraoffset is provided whose value is
+% 0pt by default and which additionally moves line numbers
+% to the left (right) if given a positive (negative) value.
+%                                               %% TODO: any use?
+%
+% *Package options:*
+%
+% 1. Option `longtable' adjusts the `longtable' environment
+% defined by David Carlisle's longtable.sty for use with
+% `lineno.sty' and `ednotes.sty'. The option makes `longtable'
+% environments appear with line numbers in the margin, according
+% to `lineno.sty', and process `ednotes.sty' commands if line
+% numbering is active according to `lineno.sty'.
+% [We maintain an alternative package with just this function
+% in a slightly different implementation.] %% -> ulnltab.sty.
+% Lemmas may go across table entries as with `edtable' (see above).
+% ---There might be options like `supertabular' for adjusting
+% other tabular environments that cannot be handled by the
+% `edtable' environment provided here---they have not been
+% implemented yet!                                             %% TODO
+%
+% 2. Option `nolongtablepatch' avoids loading/asking for
+% `ltabptch.sty'. I.e.: according to LaTeX bugs database,
+% tools/3180 and tools/3485, there have been problems with
+% vertical spacing around `longtable' environments. By default
+% the present package loads our `ltabptch.sty' or asks for it.
+% Option `nolongtablepatch' overrides this. This is useful when
+% you don't want to have the patch, especially when you use an
+% "emergency stop" installation of TeX.
+%
+% *Wizard interface:*
+% Macros \@ET at makeLineNumber, \@ET at use@outerhook,
+% \@ET at execute@outerhook, \@ET at ampnotes \@ET at startlinewith,
+% \@ET at trivialize@linelabel are provided as tools for adjusting
+% tabular environments for use with `lineno.sty' and
+% `ednotes.sty'. \@ET at step@linenumber is \let \stepLineNumber
+% (from `lineno.sty'), but could be used as a hook for
+% something different. See Environment `edtable' and Option
+% `longtable' below for examples of application.
+%                                        %% TODO: specification here.
+%
+%
+%% * Acknowledgements: *
+%
+% Stephan I. B"ottcher told us how to do it in extensive discussion
+% and by providing some first code lines. We changed these essentially
+% in some respects, but kept his general ideas and some parts of his
+% macros, the latter even without knowing what we are doing.
+%
+% v1.3 is due to a request by Martin Brandenburg.
+%
+%  * Now for internals: *
+%
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+% 1994/12/01: \newenvironment* etc. %% TODO: more recent needed?
+\ProvidesPackage{edtable}[\filedate\space v\fileversion\space
+  arrays with lineno + ednotes (ul)]
+%
+% Alternative ideas for implementation:
+% 1. There is a German package `TABMAC' enhancing `EDMAC' (cf.
+% documentation of `ednotes.sty'). We could have rewritten its
+% macros so it would work with `lineno.sty' and `ednotes.sty'
+% in place of `EDMAC'. [TODO: "tabmac.sty"]
+% 2. We redefine `longtable' by Option `longtable' because
+% there seems to be only one reasonable use of the `longtable'
+% environment in the course of a critical edition. This may be
+% different for environments like `array' and `tabular' which
+% can be used within text lines. Therefore, these environments
+% are not redefined.
+% 3. One might use \everycr, however: (a) it is executed
+% before the first row, (b) it is executed in fake lines that
+% `longtable' uses.
+% 4. As an alternative to \everycr, there is the approach of
+% redefining \cr and \crcr for setting \noalign. This needs
+% redefining \@tabularcr etc.---not nice. We use this approach
+% here for `longtable' which uses a stretching \tabskip.
+% For \tabskip=0pt, we attach line numbers by a template.
+%
+% \RequirePackage{lineno}[2004/10/06]
+% Wanted to check lineno version--causes unknown option error.
+% See LaTeX bug latex/3730.
 
-% Options: 
+% Options:
 
-%% TODO: underful page with `longtable.sty'!? 
-\let\if at ET@longtable\iffalse % \newif\if at ET@longtable@ 
-\DeclareOption{longtable}{\let\if at ET@longtable\iftrue} 
-\let\if at ET@ltabptch\iftrue 
+%% TODO: underful page with `longtable.sty'!?
+\let\if at ET@longtable\iffalse % \newif\if at ET@longtable@
+\DeclareOption{longtable}{\let\if at ET@longtable\iftrue}
+\let\if at ET@ltabptch\iftrue
 \DeclareOption{nolongtablepatch}{\let\if at ET@ltabptch\iffalse}
 \ProcessOptions
 
-% Redefine \longtable if option: 
+% Redefine \longtable if option:
 \if at ET@longtable
-  % Stephan's direction for attaching a line number to each row 
-  % is using \noalign in the course of \\. 
-  % However, (1) the user should not worry about closing the table 
-  % with \\ or without, and (2) the line number thing should not 
-  % happen twice if \\ is the last token before \end{longtable}. 
-  % Our solution: attach something to the beginning of \endlongtable 
-  % which attaches line number unless an unsucceeded \\ has done it. 
-  % This thing is activated by each row start and turned off by \\. 
-  % Since the switch at row start may happen to be in a pbox, 
-  % let it act globally on \endlongtable. (The \crcr at the beginning 
-  % of \endlongtable must not be changed directly, since original 
-  % \crcr may be required in table entries using \oalign etc.) 
-  % 
+  % Stephan's direction for attaching a line number to each row
+  % is using \noalign in the course of \\.
+  % However, (1) the user should not worry about closing the table
+  % with \\ or without, and (2) the line number thing should not
+  % happen twice if \\ is the last token before \end{longtable}.
+  % Our solution: attach something to the beginning of \endlongtable
+  % which attaches line number unless an unsucceeded \\ has done it.
+  % This thing is activated by each row start and turned off by \\.
+  % Since the switch at row start may happen to be in a pbox,
+  % let it act globally on \endlongtable. (The \crcr at the beginning
+  % of \endlongtable must not be changed directly, since original
+  % \crcr may be required in table entries using \oalign etc.)
+  %
   \RequirePackage{longtable}%
 %   \IfFileExists{longtable.sty}{\RequirePackage{longtable}}%
 %                               {\RequirePackage{longtabl}}%
-% For Atari problem, it suffices to rename `longtable.sty' 
-% into `longtabl.sty'. 
-% 
+% For Atari problem, it suffices to rename `longtable.sty'
+% into `longtabl.sty'.
+%
 % Patch for tools/3180 and tools/3485 of LaTeX bug database:
  \if at ET@ltabptch
-  \IfFileExists{ltabptch.sty}{\RequirePackage{ltabptch}}{% 
-    \PackageError{edtable}{% 
+  \IfFileExists{ltabptch.sty}{\RequirePackage{ltabptch}}{%
+    \PackageError{edtable}{%
       ltabptch.sty (for improving spacing around\MessageBreak
-      longtable) missing! Be sure to use it always\MessageBreak 
+      longtable) missing! Be sure to use it always\MessageBreak
       or never!%
-    }{% 
-      To omit ltabptch.sty *and* escape this error,\MessageBreak 
+    }{%
+      To omit ltabptch.sty *and* escape this error,\MessageBreak
       use package option `nolongtablepatch'.%
     }%
  }
- \fi 
-  \let\@ET@@longtable\longtable 
-  \def\longtable{% 
-    \ifLineNumbers 
-      \expandafter\@ET at longtable 
-    \else 
-      \let\@ET at sw@cr\@ET at crcr % ... in \endlongtable. 
-      \expandafter\@ET@@longtable 
-    \fi 
-  } 
-  \def\@ET at longtable{% 
-  % Since we have made it anyway, we use the method of redefining 
-  % \halign for inserting the activating row start as well. 
-  % However, redefinition must be repeated before every \LT at bchunk. 
-  % \longtable and \LT at get@withs are good places for this. 
-    \@ET at startlinewith\@ET at sw@cr at on 
-    \@ET at trivialize@linelabel 
-    \@ET at use@outerhook 
-    \@ET at ampnotes 
-    \let\LT at tabularcr\@ET at LT@tabularcr 
-    \expandafter\def\expandafter\LT at get@widths\expandafter 
+ \fi
+  \let\@ET@@longtable\longtable
+  \def\longtable{%
+    \ifLineNumbers
+      \expandafter\@ET at longtable
+    \else
+      \let\@ET at sw@cr\@ET at crcr % ... in \endlongtable.
+      \expandafter\@ET@@longtable
+    \fi
+  }
+  \def\@ET at longtable{%
+  % Since we have made it anyway, we use the method of redefining
+  % \halign for inserting the activating row start as well.
+  % However, redefinition must be repeated before every \LT at bchunk.
+  % \longtable and \LT at get@withs are good places for this.
+    \@ET at startlinewith\@ET at sw@cr at on
+    \@ET at trivialize@linelabel
+    \@ET at use@outerhook
+    \@ET at ampnotes
+    \let\LT at tabularcr\@ET at LT@tabularcr
+    \expandafter\def\expandafter\LT at get@widths\expandafter
       {\LT at get@widths\@ET at startlinewith\@ET at sw@cr at on}
-    % Admittedly, we could make it less of a hack by using @{...} 
-    % ---we could then leave \LT at get@widths untouched. 
-    \@ET@@longtable 
-  } 
-  \def\@ET at sw@cr at on{\global\let\@ET at sw@cr\@ET at cr@attach} 
-  % We are hacking a longtable version offering 
+    % Admittedly, we could make it less of a hack by using @{...}
+    % ---we could then leave \LT at get@widths untouched.
+    \@ET@@longtable
+  }
+  \def\@ET at sw@cr at on{\global\let\@ET at sw@cr\@ET at cr@attach}
+  % We are hacking a longtable version offering
   %   \def\LT at tabularcr{%
   %     \relax\iffalse{\fi\ifnum0=`}\fi
   %     \@ifstar
@@ -292,280 +292,280 @@
   %       {\def\crcr{\LT at crcr\noalign{\nobreak}}\let\cr\crcr
   %        \LT at t@bularcr}%
   %       {\LT at t@bularcr}}
-  % We need a redefinition of \cr which is not overridden by \@ifstar: 
+  % We need a redefinition of \cr which is not overridden by \@ifstar:
   \def\@ET at LT@tabularcr{%
     \relax\iffalse{\fi\ifnum0=`}\fi
-    \def\cr{\@ET at sw@cr}% 
-    % So \crcr is affected by change of \@ET at sw@cr, cf. below. 
-    \let\crcr\cr 
+    \def\cr{\@ET at sw@cr}%
+    % So \crcr is affected by change of \@ET at sw@cr, cf. below.
+    \let\crcr\cr
     \@ifstar
-      {\gdef\@ET at sw@nobreak{\nobreak 
-       \global\let\@ET at sw@nobreak\relax}% 
+      {\gdef\@ET at sw@nobreak{\nobreak
+       \global\let\@ET at sw@nobreak\relax}%
   %     {\def\cr{\@ET at sw@cr\noalign{\nobreak}}\let\cr\crcr
-  % Why didn't this work? %% TODO: try shorter again. 
+  % Why didn't this work? %% TODO: try shorter again.
        \LT at t@bularcr}%
-      \LT at t@bularcr 
+      \LT at t@bularcr
   %     {\let\cr\@ET at sw@cr \let\crcr\cr
-  %      \LT at t@bularcr}% This accompanied \def\cr... above. 
+  %      \LT at t@bularcr}% This accompanied \def\cr... above.
   }
-  % Attach \@ET at sw@cr to beginning of \endlongtable: 
-  \expandafter\def\expandafter\endlongtable\expandafter 
+  % Attach \@ET at sw@cr to beginning of \endlongtable:
+  \expandafter\def\expandafter\endlongtable\expandafter
     {\expandafter\@ET at sw@cr\endlongtable}
-  \def\@ET at cr@attach{% Actually attaching line numbers. 
-    \@ET at crcr\noalign{% Basically Stephan's approach. 
-  % If we were not careful, following box containing line number 
-  % could fool interline glue after longtable, even if tools/3485 
-  % is repaired in some way. This box should have same depth as 
-  % the line composed previously. 
-      \nobreak %% \@ET at ex... might cause page break. 2003/10/30. 
-      \setbox\z@\@ET at makeLineNumber 
-      \ht\z at -\prevdepth \dp\z@\prevdepth \box\z@ 
-      \@ET at step@linenumber 
-      \global\let\@ET at sw@cr\@ET at crcr % ... if called by \\. 
-  % This also resets the \crcr starting \LT at echunk following 
-  % \@xargarraycr or \@yargarraycr in \LT at argtabularcr. 
-  % \let...\relax seems to suffice at well, but in case ... 
-      \@ET at execute@outerhook %% 2003/10/30. 
-      \@ET at sw@nobreak 
-%       \@ET at execute@outerhook 
-    }% 
-  } 
-  \let\@ET at crcr\crcr 
-  \global\let\@ET at sw@nobreak\relax % Just to remind ... 
-\fi 
- 
-\let\@ET at step@linenumber\stepLineNumber 
+  \def\@ET at cr@attach{% Actually attaching line numbers.
+    \@ET at crcr\noalign{% Basically Stephan's approach.
+  % If we were not careful, following box containing line number
+  % could fool interline glue after longtable, even if tools/3485
+  % is repaired in some way. This box should have same depth as
+  % the line composed previously.
+      \nobreak %% \@ET at ex... might cause page break. 2003/10/30.
+      \setbox\z@\@ET at makeLineNumber
+      \ht\z at -\prevdepth \dp\z@\prevdepth \box\z@
+      \@ET at step@linenumber
+      \global\let\@ET at sw@cr\@ET at crcr % ... if called by \\.
+  % This also resets the \crcr starting \LT at echunk following
+  % \@xargarraycr or \@yargarraycr in \LT at argtabularcr.
+  % \let...\relax seems to suffice at well, but in case ...
+      \@ET at execute@outerhook %% 2003/10/30.
+      \@ET at sw@nobreak
+%       \@ET at execute@outerhook
+    }%
+  }
+  \let\@ET at crcr\crcr
+  \global\let\@ET at sw@nobreak\relax % Just to remind ...
+\fi
+
+\let\@ET at step@linenumber\stepLineNumber
 % \def\@ET at step@linenumber{\global\advance\c at linenumber\@ne}
-\def\@ET at makeLineNumber{\hb at xt@\z@{\makeLineNumber}} 
-%% TODO: export to lineno.sty!? 
-% Special \halign: 
-% For `array' etc., we insert line numbers by a leftmost template. 
-% @{...} in the last argument of `array' etc. is difficult for this 
-% since `tabular*' has an additional argument. So we redefine 
-% \halign to put something to the right of the next \bgroup. 
-% Now, as a macro, \halign would break in an \edef or \xdef. 
-% Horribly, this danger has become quite real in longtable.sty's 
-% definition of \LT at bchunk. Only its latest version 4.10 has 
-% preceded \halign by a \noexpand (for mathtext.sty which 
-% redefines \halign as well). We need not rely on such a 
-% provision if we let \halign expand to \the<token register> 
-% for some token register. However, using \toks@ or \@temptokena 
-% is neither very safe---might be filled by macro ahead with 
-% something new. So reserve an own token register. 
-\newtoks\@ET at toks 
-\@ET at toks{\@ET at specialhalign} 
-% v1.3: In 'AMSmath', there are \halign's followed by explicit 
-% left braces. Thus '\def\@ET at specialhalign#1\bgroup{%' broke. 
-%% TODO ... 
+\def\@ET at makeLineNumber{\hb at xt@\z@{\makeLineNumber}}
+%% TODO: export to lineno.sty!?
+% Special \halign:
+% For `array' etc., we insert line numbers by a leftmost template.
+% @{...} in the last argument of `array' etc. is difficult for this
+% since `tabular*' has an additional argument. So we redefine
+% \halign to put something to the right of the next \bgroup.
+% Now, as a macro, \halign would break in an \edef or \xdef.
+% Horribly, this danger has become quite real in longtable.sty's
+% definition of \LT at bchunk. Only its latest version 4.10 has
+% preceded \halign by a \noexpand (for mathtext.sty which
+% redefines \halign as well). We need not rely on such a
+% provision if we let \halign expand to \the<token register>
+% for some token register. However, using \toks@ or \@temptokena
+% is neither very safe---might be filled by macro ahead with
+% something new. So reserve an own token register.
+\newtoks\@ET at toks
+\@ET at toks{\@ET at specialhalign}
+% v1.3: In 'AMSmath', there are \halign's followed by explicit
+% left braces. Thus '\def\@ET at specialhalign#1\bgroup{%' broke.
+%% TODO ...
 \def\@ET at specialhalign{%
-  \ifmeasuring@ \expandafter\@firstoftwo 
-% v1.3 2005/03/04, for `amsmath'. 
-  \else \expandafter\@secondoftwo 
+  \ifmeasuring@ \expandafter\@firstoftwo
+% v1.3 2005/03/04, for `amsmath'.
+  \else \expandafter\@secondoftwo
   \fi
-  {\let\halign\@ET@@halign \halign}% 
+  {\let\halign\@ET@@halign \halign}%
   {\@ifnextchar\bgroup\@ET at replace@arg\@ET at sphalign@to}}
-%% TODO: change back, commenting out code above, report 
-%%       error with `alignat'. 
+%% TODO: change back, commenting out code above, report
+%%       error with `alignat'.
 %   \@ifnextchar\bgroup\@ET at replace@arg\@ET at sphalign@to}
-% If `amsmath' not loaded (v1.3): 
-\AtBeginDocument{\@ifundefined{measuring at true}{% 
+% If `amsmath' not loaded (v1.3):
+\AtBeginDocument{\@ifundefined{measuring at true}{%
   \let\ifmeasuring@\iffalse}\relax}
 \def\@ET at replace@arg#1{%
-  \def\@EN at tempa{#1}\def\@EN at tempb{\bgroup}% Corr. after v1.3b. 
-  \ifx\@EN at tempa\@EN at tempb 
+  \def\@EN at tempa{#1}\def\@EN at tempb{\bgroup}% Corr. after v1.3b.
+  \ifx\@EN at tempa\@EN at tempb
     \def\@EN at tempa{\@ET at sphalign@to\bgroup}%
-  \else 
+  \else
     \def\@EN at tempa{\@ET at sphalign@to{#1}}%
-% This may be wrong, #1 might be `t' from `to' ... 
-  \fi 
+% This may be wrong, #1 might be `t' from `to' ...
+  \fi
   \@EN at tempa}
-\def\@ET at sphalign@to#1\bgroup{% 
-  \let\halign\@ET@@halign % Reset for nested arrays. 
-  \halign#1\bgroup 
-%  \ifmeasuring@\else % For `amsmath', moved backwards. 
-    \@ET at startline % [Wizard interface, via \@ET at starlinewith.] 
-%  \fi 
+\def\@ET at sphalign@to#1\bgroup{%
+  \let\halign\@ET@@halign % Reset for nested arrays.
+  \halign#1\bgroup
+%  \ifmeasuring@\else % For `amsmath', moved backwards.
+    \@ET at startline % [Wizard interface, via \@ET at starlinewith.]
+%  \fi
 }
-% Wizard interface: 
-\def\@ET at startlinewith{% Next token precedes preamble. 
-%   \let\@ET@@halign\halign % Or \AtBeginDocument? 
-% ... indeed: bad loop with long longtable (\LT at get@widths!?) 
-  \def\halign{\the\@ET at toks}% 
-  \let\@ET at startline 
-} 
-\AtBeginDocument{\let\@ET@@halign\halign} 
-% Or save it at start of environment only 
-% (don't repeat inside longtable). 
-% 
-% Outer hook for inserts: (wizard interface) 
-\def\@ET at execute@outerhook{% To be placed outside inner mode. 
-  \@ET at outerhook \global\let\@ET at outerhook\@empty 
-} 
-\global\let\@ET at outerhook\@empty % Just to remind: global! 
-% \@EN at hookfn (ednotes) sends to outer hook: 
-\def\@ET at use@outerhook{% Wizard interface. 
-  \def\@EN at hookfn{\g at addto@macro\@ET at outerhook}% 
-}%% TODO: move last line to `ednotes', \let\@ET at use...\@empty. 
-%%        But this requires re-installing both packages 
-%%        at the same time. See the `ampnotes' thing as well. 
-% 
-% Trivialize \linelabel: (wizard interface) 
+% Wizard interface:
+\def\@ET at startlinewith{% Next token precedes preamble.
+%   \let\@ET@@halign\halign % Or \AtBeginDocument?
+% ... indeed: bad loop with long longtable (\LT at get@widths!?)
+  \def\halign{\the\@ET at toks}%
+  \let\@ET at startline
+}
+\AtBeginDocument{\let\@ET@@halign\halign}
+% Or save it at start of environment only
+% (don't repeat inside longtable).
+%
+% Outer hook for inserts: (wizard interface)
+\def\@ET at execute@outerhook{% To be placed outside inner mode.
+  \@ET at outerhook \global\let\@ET at outerhook\@empty
+}
+\global\let\@ET at outerhook\@empty % Just to remind: global!
+% \@EN at hookfn (ednotes) sends to outer hook:
+\def\@ET at use@outerhook{% Wizard interface.
+  \def\@EN at hookfn{\g at addto@macro\@ET at outerhook}%
+}%% TODO: move last line to `ednotes', \let\@ET at use...\@empty.
+%%        But this requires re-installing both packages
+%%        at the same time. See the `ampnotes' thing as well.
+%
+% Trivialize \linelabel: (wizard interface)
 \def\@ET at trivialize@linelabel{\let\linelabel\@ET at linelabel}
-\def\@ET at linelabel{% 
-  \protected at edef\@currentlabel{\theLineNumber}% 
+\def\@ET at linelabel{%
+  \protected at edef\@currentlabel{\theLineNumber}%
   \label
 }
-% Change ampersand at \Anote etc.: (wizard interface) 
-%% 2003/10/31. 
-% & is changed by \Anote etc. No \begin...\endgroup, 
-% next \\ or & after % note/donote command switches back. 
-% ---Global change seems to break table setup. 
-\begingroup 
+% Change ampersand at \Anote etc.: (wizard interface)
+%% 2003/10/31.
+% & is changed by \Anote etc. No \begin...\endgroup,
+% next \\ or & after % note/donote command switches back.
+% ---Global change seems to break table setup.
+\begingroup
 \gdef\@ET at hideamps{\catcode`\&\active}
-\@ET at hideamps 
-\gdef\@ET at ampnotes{% 
-  \let&\@ET at hideamp 
-  %% & would be undefined after \\ in lemma. 
-  \let\@ET at EN@rnote\@EN at note 
+\@ET at hideamps
+\gdef\@ET at ampnotes{%
+  \let&\@ET at hideamp
+  %% & would be undefined after \\ in lemma.
+  \let\@ET at EN@rnote\@EN at note
   \def\@EN at note{\@ET at hideamps\@ET at EN@rnote}%
-  \let\@ET at EN@rnotelb\@EN at notelabel 
+  \let\@ET at EN@rnotelb\@EN at notelabel
   \def\@EN at notelabel{\@ET at hideamps\@ET at EN@rnotelb}%
-} 
-%% TODO: & and \\ in \@EN at lemmaexpands!? 
-\endgroup 
+}
+%% TODO: & and \\ in \@EN at lemmaexpands!?
+\endgroup
 \def\@ET at hideamp{&}
 
-\newenvironment*{edtable}[2][]{% 
-% #1 $ or $$, #2 standard environment name. 
-%% TODO: star version!? cf. lineno.sty's `numquote'. 
-  \def\@ET at mode{#1}% 
-  \def\@ET at currenvir{#2}% 
-  \ifhmode \ifnum\the\lastpenalty=-\@M\else 
-% \par must be executed for printing/stopping line numbers: 
-    \@centercr\relax \noindent 
-  \fi \fi 
-  \ifvmode \noindent \fi % Otherwise linenumbers are indented 
-% -- however, not recommended. 
-  \@ET at use@outerhook 
-  \@ET at trivialize@linelabel 
-  \@ET at ampnotes 
-  \@ET at startlinewith\@ET at normal@startline 
-  \global\advance\c at linenumber\m at ne % Stepping correction. 
+\newenvironment*{edtable}[2][]{%
+% #1 $ or $$, #2 standard environment name.
+%% TODO: star version!? cf. lineno.sty's `numquote'.
+  \def\@ET at mode{#1}%
+  \def\@ET at currenvir{#2}%
+  \ifhmode \ifnum\the\lastpenalty=-\@M\else
+% \par must be executed for printing/stopping line numbers:
+    \@centercr\relax \noindent
+  \fi \fi
+  \ifvmode \noindent \fi % Otherwise linenumbers are indented
+% -- however, not recommended.
+  \@ET at use@outerhook
+  \@ET at trivialize@linelabel
+  \@ET at ampnotes
+  \@ET at startlinewith\@ET at normal@startline
+  \global\advance\c at linenumber\m at ne % Stepping correction.
 % (Must come after closing previous paragraph.)
-% Calculate offset: 
-  \global\advance\c at ET@array\@ne 
-% Saving/calling width of table (`longtable's algorithm). 
-% Test if there is \@flushglue on the left (center or flushleft): 
-  \edef\@EN at tempa{\the\@flushglue}% 
-% ... v1.3: fool this for "$$". 
-  \in@{$$}{#1\@nil}% \in@{#1}{#2} searches #1 in #2#1 ... 
-  \edef\@EN at tempb{\the\ifin@\@flushglue\else\leftskip\fi}% 
-  \ifx\@EN at tempa\@EN at tempb 
-% Assume \@ET at offset is 0pt else here. 
-    \@ET at offset\linewidth 
-    \advance\@ET at offset-% 
-      \@ifundefined\@ET at arraywidth@csn % Shortened for v1.3. 
-        {\linewidth\G at refundefinedtrue 
-         \PackageWarningNoLine{edtab}{^^JLine numbers at 
-           \@ET at currenvir\space need \jobname.aux}}% 
-        {\csname\@ET at arraywidth@csn\endcsname}% 
-% Test if \@flushglue on the right (center): 
-% ... v1.3: fool it again. Repeat \in@ in case ... 
+% Calculate offset:
+  \global\advance\c at ET@array\@ne
+% Saving/calling width of table (`longtable's algorithm).
+% Test if there is \@flushglue on the left (center or flushleft):
+  \edef\@EN at tempa{\the\@flushglue}%
+% ... v1.3: fool this for "$$".
+  \in@{$$}{#1\@nil}% \in@{#1}{#2} searches #1 in #2#1 ...
+  \edef\@EN at tempb{\the\ifin@\@flushglue\else\leftskip\fi}%
+  \ifx\@EN at tempa\@EN at tempb
+% Assume \@ET at offset is 0pt else here.
+    \@ET at offset\linewidth
+    \advance\@ET at offset-%
+      \@ifundefined\@ET at arraywidth@csn % Shortened for v1.3.
+        {\linewidth\G at refundefinedtrue
+         \PackageWarningNoLine{edtab}{^^JLine numbers at
+           \@ET at currenvir\space need \jobname.aux}}%
+        {\csname\@ET at arraywidth@csn\endcsname}%
+% Test if \@flushglue on the right (center):
+% ... v1.3: fool it again. Repeat \in@ in case ...
     \in@{$$}{#1\@nil}%
-    \edef\@EN at tempb{\the\ifin@\@flushglue\else\rightskip\fi}% 
-    \ifx\@EN at tempa\@EN at tempb \divide\@ET at offset\tw@ \fi 
-  \fi 
-  \advance\@ET at offset\@totalleftmargin 
-  \advance\@ET at offset\ETextraoffset % Offset ready. 
-  \setbox\@tempboxa\hbox\bgroup 
-% v1.3: `alignat' complains later when this is \vbox instead. 
-%    \vbox\bgroup % Tried in vain. 
-    \ifx\@ET at mode\@empty\else $\fi 
-    \csname#2\endcsname 
-}{% 
-    \csname end\@ET at currenvir \endcsname 
-    \ifx\@ET at mode\@empty\else $\fi 
-  \egroup 
-  \@ET at step@linenumber % Stepping correction. 
+    \edef\@EN at tempb{\the\ifin@\@flushglue\else\rightskip\fi}%
+    \ifx\@EN at tempa\@EN at tempb \divide\@ET at offset\tw@ \fi
+  \fi
+  \advance\@ET at offset\@totalleftmargin
+  \advance\@ET at offset\ETextraoffset % Offset ready.
+  \setbox\@tempboxa\hbox\bgroup
+% v1.3: `alignat' complains later when this is \vbox instead.
+%    \vbox\bgroup % Tried in vain.
+    \ifx\@ET at mode\@empty\else $\fi
+    \csname#2\endcsname
+}{%
+    \csname end\@ET at currenvir \endcsname
+    \ifx\@ET at mode\@empty\else $\fi
+  \egroup
+  \@ET at step@linenumber % Stepping correction.
   \if at filesw
     \immediate\write\@auxout{%
       \gdef\expandafter\noexpand
         \csname\@ET at arraywidth@csn\endcsname
           {\the\wd\@tempboxa}}%
-%% TODO: warning if changed!? 
+%% TODO: warning if changed!?
   \fi
-% No automatic line number at array line: 
-  \nolinenumbers 
-  \@ET at mode\ensuremath{\vcenter{\box\@tempboxa}}\@ET at mode % v1.3. 
+% No automatic line number at array line:
+  \nolinenumbers
+  \@ET at mode\ensuremath{\vcenter{\box\@tempboxa}}\@ET at mode % v1.3.
   \@ET at execute@outerhook
-  \ifhmode \@centercr\relax \fi 
-% \par must be executed for proper restart of printing line numbers 
-% (think so). 
-  \@endpetrue % Outside \@flushglue environment, avoid indent ahead. 
-%% TODO: slightly change for math mode around? Or give an error 
-%%       in math mode. 
-} 
-%% TODO: make \edtable \outer!? 
+  \ifhmode \@centercr\relax \fi
+% \par must be executed for proper restart of printing line numbers
+% (think so).
+  \@endpetrue % Outside \@flushglue environment, avoid indent ahead.
+%% TODO: slightly change for math mode around? Or give an error
+%%       in math mode.
+}
+%% TODO: make \edtable \outer!?
 \def\@ET at normal@startline{%
-  \@ET at step@linenumber 
-  \llap{\@ET at makeLineNumber \hskip\@ET at offset}% 
-} 
-\newdimen\@ET at offset 
-\newdimen\ETextraoffset 
-%% TODO: export to lineno.sty!? 
-\newcount\c at ET@array 
+  \@ET at step@linenumber
+  \llap{\@ET at makeLineNumber \hskip\@ET at offset}%
+}
+\newdimen\@ET at offset
+\newdimen\ETextraoffset
+%% TODO: export to lineno.sty!?
+\newcount\c at ET@array
 \def\@ET at arraywidth@csn{ET at a@\romannumeral\c at ET@array}
-% 
-%% TODO: .dtx 
-\endinput 
+%
+%% TODO: .dtx
+\endinput
 
-%% VERSION HISTORY: 
-v0.22 2003/01/13  First version, named `edtab02.sty', sent around, 
-                  together with ednotes.sty. 
-v0.23 2003/01/22  Added version history. 
-v0.24 2003/01/27  Copyright notice. 
-%%% v0.3  2003/03/03  Requires linenox0.sty. %% RETREATED 
-%% TODO: reconsider,  see `lineno[x].sty'. 
-v0.25 2003/03/05  Added <ednotes.sty at web.de>. 
-v0.26 2003/03/23  Added \@ET at startlinewith to wizard command list; 
-                  moved redefinition \LT at get@widths from option code 
-                  into \@ET at longtable so this really happens in 
-                  line number mode only; moved \let\@ET@@halign\halign 
-                  from \@ET at startlinewith to \AtBeginDocument. 
-v0.27 2003/06/02  Added \ifvmode \noindent \fi to `edtable' definition; 
-      2003/06/10  added `lemma cannot run' to instructions. 
-v0.28 2003/10/31  \@ET at cr@attach: moved \@ET at execu..., added \nobreak. 
-                  Added \@ET at ampnotes and documentation: now working 
-                  across entries. 
-v1.0  2004/05/13  `ednotes.sty' etc., updated copyright. Renamed as 
-                  `edtable.sty' for TUGboat article. 
-                  \RequirePackage{lineno}, changed doc. accordingly. 
-                  Removed `may be released under different name'. 
-v1.10 2004/07/27  Looking for `longtabl.sty' for my Atari! 
-      2004/08/22  Added warning (screen/documentation) concerning 
-                  ltabptch.sty. 
-      2004/08/23  Added suggestion of option `nolongtablepatch'; 
-                  LPPL v1.3. 
-v1.2  2004/08/31  Rearranged preamble concerning maintenance, 
-                  removed `preliminary release'. 
-      2004/10/06  \newif -> \let...; option `nolongtablepatch'; 
-                  changed documentation accordingly and for 
-                  loading edtable.sty by lineno/ednotes option; 
-                  \let\@ET at step@linenumber\stepLineNumber; use 
-                  \ifLineNumbers. 
-      2004/10/07  Needed version numbers. 
-      2004/10/08  ltabptch warning -> error! 
-      2004/10/11  Disabled \RequirePackage{lineno}[...]; undid 
-                  the `longtabl.sty' thing from 2004/07/27. 
-      2004/10/12  latex/3730. 
-v1.2a 2004/11/07  LPPL v1.3a. 
-v1.2b 2005/01/10  Contact via http. 
-v1.3b 2005/03/04  Support for environments like `array' 
-                  environment. The description of `edtable' was 
-                  wrong in this respect! 
-v1.3  2005/03/07  Adaptations in documentation, and extended usage 
-                  instructions very much, correcting some 
-                  errors as well. Acknowledgement to M. B. 
-v1.3a 2005/03/09  Corrected numbering in `usage'. 
-v1.3c 2005/03/15  \@centercr\relax, TODO on math mode. 
-      2005/04/09  `editory' -> `editorial'. 
+%% VERSION HISTORY:
+v0.22 2003/01/13  First version, named `edtab02.sty', sent around,
+                  together with ednotes.sty.
+v0.23 2003/01/22  Added version history.
+v0.24 2003/01/27  Copyright notice.
+%%% v0.3  2003/03/03  Requires linenox0.sty. %% RETREATED
+%% TODO: reconsider,  see `lineno[x].sty'.
+v0.25 2003/03/05  Added <ednotes.sty at web.de>.
+v0.26 2003/03/23  Added \@ET at startlinewith to wizard command list;
+                  moved redefinition \LT at get@widths from option code
+                  into \@ET at longtable so this really happens in
+                  line number mode only; moved \let\@ET@@halign\halign
+                  from \@ET at startlinewith to \AtBeginDocument.
+v0.27 2003/06/02  Added \ifvmode \noindent \fi to `edtable' definition;
+      2003/06/10  added `lemma cannot run' to instructions.
+v0.28 2003/10/31  \@ET at cr@attach: moved \@ET at execu..., added \nobreak.
+                  Added \@ET at ampnotes and documentation: now working
+                  across entries.
+v1.0  2004/05/13  `ednotes.sty' etc., updated copyright. Renamed as
+                  `edtable.sty' for TUGboat article.
+                  \RequirePackage{lineno}, changed doc. accordingly.
+                  Removed `may be released under different name'.
+v1.10 2004/07/27  Looking for `longtabl.sty' for my Atari!
+      2004/08/22  Added warning (screen/documentation) concerning
+                  ltabptch.sty.
+      2004/08/23  Added suggestion of option `nolongtablepatch';
+                  LPPL v1.3.
+v1.2  2004/08/31  Rearranged preamble concerning maintenance,
+                  removed `preliminary release'.
+      2004/10/06  \newif -> \let...; option `nolongtablepatch';
+                  changed documentation accordingly and for
+                  loading edtable.sty by lineno/ednotes option;
+                  \let\@ET at step@linenumber\stepLineNumber; use
+                  \ifLineNumbers.
+      2004/10/07  Needed version numbers.
+      2004/10/08  ltabptch warning -> error!
+      2004/10/11  Disabled \RequirePackage{lineno}[...]; undid
+                  the `longtabl.sty' thing from 2004/07/27.
+      2004/10/12  latex/3730.
+v1.2a 2004/11/07  LPPL v1.3a.
+v1.2b 2005/01/10  Contact via http.
+v1.3b 2005/03/04  Support for environments like `array'
+                  environment. The description of `edtable' was
+                  wrong in this respect!
+v1.3  2005/03/07  Adaptations in documentation, and extended usage
+                  instructions very much, correcting some
+                  errors as well. Acknowledgement to M. B.
+v1.3a 2005/03/09  Corrected numbering in `usage'.
+v1.3c 2005/03/15  \@centercr\relax, TODO on math mode.
+      2005/04/09  `editory' -> `editorial'.

Modified: trunk/Master/texmf-dist/tex/latex/lineno/fnlineno.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lineno/fnlineno.sty	2022-12-05 10:28:48 UTC (rev 65203)
+++ trunk/Master/texmf-dist/tex/latex/lineno/fnlineno.sty	2022-12-05 21:23:48 UTC (rev 65204)
@@ -2,37 +2,37 @@
 \ProvidesPackage{fnlineno}[2011/01/07 v0.55
                            numbers to footnote lines (UL)]
 
-%% Copyright (C) 2010 Uwe Lueck, 
-%% http://www.contact-ednotes.sty.de.vu 
-%% -- author-maintained in the sense of LPPL below -- 
+%% Copyright (C) 2010 Uwe Lueck,
+%% http://www.contact-ednotes.sty.de.vu
+%% -- author-maintained in the sense of LPPL below --
 %%
-%% This file can be redistributed and/or modified under 
-%% the terms of the LaTeX Project Public License; either 
+%% This file can be redistributed and/or modified under
+%% the terms of the LaTeX Project Public License; either
 %% version 1.3c of the License, or any later version.
 %% The latest version of this license is in
 %%     http://www.latex-project.org/lppl.txt
-%% We did our best to help you, but there is NO WARRANTY. 
+%% We did our best to help you, but there is NO WARRANTY.
 %%
-%% Please report bugs, problems, and suggestions via 
-%% 
-%%   http://www.contact-ednotes.sty.de.vu 
+%% Please report bugs, problems, and suggestions via
 %%
-%% {\it This work has been supported 
+%%   http://www.contact-ednotes.sty.de.vu
+%%
+%% {\it This work has been supported
 %%  % and is owned      %% wrong, owner is RUB -- 2011/02/09
-%% by the Deutsche Forschungsgemeinschaft (DFG), 
+%% by the Deutsche Forschungsgemeinschaft (DFG),
 %% organized                        %% 2010/12/18 TODO!?
-%% by Prof.~Dr.\ Dr.\ Christian Tapp 
+%% by Prof.~Dr.\ Dr.\ Christian Tapp
 %% at Ruhr-Universit\"at Bochum, Germany.}
 %% %% 2010/12/18:
 %% Christian also has constructed some critical tests.
-%% 
+%%
 %% === Installing and Calling ===
-%% The file 'fnlineno.sty' is provided ready, installation only requires 
-%% putting it somewhere where \TeX\ finds it 
-%% (which may need updating the filename data 
+%% The file 'fnlineno.sty' is provided ready, installation only requires
+%% putting it somewhere where \TeX\ finds it
+%% (which may need updating the filename data
 %%  base).\footnote{\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=inst-wlcf}}
-%% 
-%% As usually, 'fnlineno.sty' is loaded by 
+%%
+%% As usually, 'fnlineno.sty' is loaded by
 %% % \begin{verbatim}
 %%     `\usepackage{fnlineno}'
 %% % \end{verbatim}
@@ -40,55 +40,55 @@
 %%
 %% === Limitations ===
 %% v0.55 %%% v0.5 %% 2011/02/09
-%% should really work 
+%% should really work
 %% the way users expect,    %% 2011/02/09
 %% but please consider:
-%% % In the \strong{present version (v0.4)}, 'flnineno.sty' is just 
+%% % In the \strong{present version (v0.4)}, 'flnineno.sty' is just
 %% % ``work in progress"---with at least the following issues:
 %% \begin{enumerate}
-%% %   \item Lines are numbered in an order 
-%% %         that you may not like, in the presence of 
-%% %         footnotes. 
-%% %         Overcoming this failure by automagic 
-%% %         will be the major further work on the package! 
+%% %   \item Lines are numbered in an order
+%% %         that you may not like, in the presence of
+%% %         footnotes.
+%% %         Overcoming this failure by automagic
+%% %         will be the major further work on the package!
 %% %         (v0.5!?)
-%% % 
-%% %   \item The package is not expected to work with 'manyfoot' 
+%% %
+%% %   \item The package is not expected to work with 'manyfoot'
 %% %         (neither 'ednotes' ... future work!).
 %%
-%%   \item Nothing is known about compatibility with 
+%%   \item Nothing is known about compatibility with
 %%         packages (other than 'manyfoot' and 'bigfoot')
 %%         providing footnote features beyond standard \LaTeX.
-%% 
-%%   \item `\lipsum[<opt-arg>]' in main text produces 
+%%
+%%   \item `\lipsum[<opt-arg>]' in main text produces
 %%         a different number of paragraphs ...
-%% 
+%%
 %% %% 2010/12/18:
-%% %   \item `\pagebreak' (without optional argument, or 
-%% %         `\pagebreak[4]') in footnotes prints footnote parts 
+%% %   \item `\pagebreak' (without optional argument, or
+%% %         `\pagebreak[4]') in footnotes prints footnote parts
 %% %         (splits) in wrong order.\footnote{TODO:
-%% %              (i)~extra case (using flag) in &\output 
-%% %              with $&\outputpenalty=-10000$; 
+%% %              (i)~extra case (using flag) in &\output
+%% %              with $&\outputpenalty=-10000$;
 %% %              \emph{or}
 %% %              (ii)~redefine &\pagebreak in footnotes ...}
 %% %% 2010/12/19, "tried" "assumed" 2010/12/21:
-%%   \item v0.41 tried supporting `\pagebreak' in footnotes 
-%%         for manual control of splitting footnotes. 
+%%   \item v0.41 tried supporting `\pagebreak' in footnotes
+%%         for manual control of splitting footnotes.
 %% %% 2010/12/20f.:
 %%         However, it wrongly assumed that `\pagebreak[4]'
-%%         forces a footnote split, cf. Section~\ref{sec:sw}; 
+%%         forces a footnote split, cf. Section~\ref{sec:sw};
 %%         users better still don't use `\pagebreak'
 %%         in footnotes!
-%% 
-%%   \item Much of the code is ``guessed" without complete 
-%%         knowledge of \TeX\ internals and without having 
+%%
+%%   \item Much of the code is ``guessed" without complete
+%%         knowledge of \TeX\ internals and without having
 %%         tested many possible cases.
 %% %% 2010/12/27:
 %%   \item \emph{Local} switching to ``pagewise" numbering
-%%         won't be possible for a while; we rather assume 
-%%         that you \emph{always} want ``pagewise" numbering. 
+%%         won't be possible for a while; we rather assume
+%%         that you \emph{always} want ``pagewise" numbering.
 %%
-%%   \item Nothing has been tried to offer choices about the 
+%%   \item Nothing has been tried to offer choices about the
 %%         \emph{style} of numbering footnotes.
 %% \end{enumerate}
 %%
@@ -95,36 +95,36 @@
 %%  \pagebreak              %% 2011/02/09
 %%  == Implementation ==
 %% === Terms ===
-%% ``\strong{OTR}" is short for \textit{``output routine"}, 
+%% ``\strong{OTR}" is short for \textit{``output routine"},
 %% ``\strong{MVL}" is short for \textit{``main vertical list"}.
 %% %%% TODO "acro"
 %%
 %% === Basic Strategy ===
-%% \LaTeX's |\@footnotetext| writes the footnote text into the 
-%% insertion register. For numbering the footnote lines, 
-%% \emph{we here} do not execute this `\@footnotetext' 
-%% immediately after placing |\@footnotemark|, 
-%% but postpone its |\insert| a little so it 
-%% is executed only after the main text paragraph has been 
-%% broken into lines. Right below the line that contains the 
-%% footnote mark, a special new ``slot" of the \strong{OTR} 
-%% is called that interchanges ``the page so far" with the 
-%% footnote text. When the latter has been typeset, 
-%% another ``slot" of the OTR puts ``the page so far" 
-%% back to the MVL and immediately after that fills the footnote 
-%% text as just typeset on the MVL into the `\insert' register. 
-%% 
-%% Passing footnotes from horizontal mode to vertical mode 
-%% resembles 'lineno''s `\PostponeVadjust', but a 
+%% \LaTeX's |\@footnotetext| writes the footnote text into the
+%% insertion register. For numbering the footnote lines,
+%% \emph{we here} do not execute this `\@footnotetext'
+%% immediately after placing |\@footnotemark|,
+%% but postpone its |\insert| a little so it
+%% is executed only after the main text paragraph has been
+%% broken into lines. Right below the line that contains the
+%% footnote mark, a special new ``slot" of the \strong{OTR}
+%% is called that interchanges ``the page so far" with the
+%% footnote text. When the latter has been typeset,
+%% another ``slot" of the OTR puts ``the page so far"
+%% back to the MVL and immediately after that fills the footnote
+%% text as just typeset on the MVL into the `\insert' register.
+%%
+%% Passing footnotes from horizontal mode to vertical mode
+%% resembles 'lineno''s `\PostponeVadjust', but a
 %% different \strong{list} |\FNLN at list|
-%% must store code 
-%% (\textit{a})~for the footnote \strong{mark} and 
-%% (\textit{b})~for the footnote \strong{text}. 
+%% must store code
+%% (\textit{a})~for the footnote \strong{mark} and
+%% (\textit{b})~for the footnote \strong{text}.
 %% %%% (TODO: move this paragraph)
 %%
 %% === Package Options ===
 %% A package option |[check-latex]|     %% typo article 2010/12/31
-%% for checking vital \LaTeX\ internals may once be offered 
+%% for checking vital \LaTeX\ internals may once be offered
 %% (TODO 2010/12/12) ...
 \newif\if at FNLN@check@
 \DeclareOption{check-latex}{\@FNLN at check@true}
@@ -133,13 +133,13 @@
 %% === Footnote Commands ===
 %% ==== Standard Footnotes ====
 %% The following macro |\FNLN at ltx@fntext|           %% more 2010/12/16
-%% is a copy of \LaTeX's `\@footnotetext' 
-%% that we are varying. It may be used for a check 
-%% if the `\@footnotetext' that 'fnlineno.sty' encounters 
+%% is a copy of \LaTeX's `\@footnotetext'
+%% that we are varying. It may be used for a check
+%% if the `\@footnotetext' that 'fnlineno.sty' encounters
 %% is the one expected (TODO).
-%% In line numbering mode, this code may never be needed 
-%% all at once, rather we will have to see which material 
-%% must be used at which point of our unusual way of 
+%% In line numbering mode, this code may never be needed
+%% all at once, rather we will have to see which material
+%% must be used at which point of our unusual way of
 %% processeing footnotes.
 \if at FNLN@check@
   \long\def\FNLN at ltx@fntext#1{\insert\footins{%
@@ -158,24 +158,24 @@
 \fi
 %%
 %% ==== Modifying Footnote Commands ====
-%% In order to number |\footnote| lines and make 
-%% `\linelabel' available in footnotes, it seems to suffice 
-%% (with standard \LaTeX) to \strong{redefine} 
+%% In order to number |\footnote| lines and make
+%% `\linelabel' available in footnotes, it seems to suffice
+%% (with standard \LaTeX) to \strong{redefine}
 %% the internal |\@footnotetext|.
-%% In line numbering mode, `\@footnotetext' will act as 
-%% |\FNLN at text|, 
+%% In line numbering mode, `\@footnotetext' will act as
+%% |\FNLN at text|,
 %% % \begin{itemize}
-%% %  \item[(i)] 
+%% %  \item[(i)]
 %% (\textit{i})~%
 %%        placing a ``signal" \strong{output penalty}
 %%        below the current line via `\vadjust' and
-%% %  \item[(ii)] 
+%% %  \item[(ii)]
 %% (\textit{ii})~%
-%%        appending the footnote text to the 
-%%        \strong{list} |\FNLN at list| of \strong{footnote texts}. 
+%%        appending the footnote text to the
+%%        \strong{list} |\FNLN at list| of \strong{footnote texts}.
 %% % \end{itemize}
-%% 
-%% |\FNLN@@text| stores the `\@footnotetext' found, 
+%%
+%% |\FNLN@@text| stores the `\@footnotetext' found,
 %% we might check if it is `\FNLN at ltx@fntext' ... %% TODO
 \let\FNLN@@text\@footnotetext
 \def\@footnotetext{%
@@ -184,27 +184,27 @@
     \fi}
 \def \FNLN at text {%                      %% 2010/12/31 arg read later
     \vadjust{\penalty-\FNLN at M@swap at codepen}%
-%% Standard \LaTeX's `\@footnotetext' expands `\@thefnmark' 
-%% to produce the footnote mark at the page bottom, 
-%% right after it has been determined for the mark 
-%% in the main text. \emph{Here} the footnote text 
+%% Standard \LaTeX's `\@footnotetext' expands `\@thefnmark'
+%% to produce the footnote mark at the page bottom,
+%% right after it has been determined for the mark
+%% in the main text. \emph{Here} the footnote text
 %% will be typeset only when \emph{other} footnote marks
-%% may have been formed for typesetting the main text 
-%% paragraph before. 
+%% may have been formed for typesetting the main text
+%% paragraph before.
 %% %%% (TODO clearer wording)
-%% In the \strong{footnote list} 
+%% In the \strong{footnote list}
 %% macro |\FNLN at list|, the (\dqtd{`&\protect'ed})
-%% \emph{current} expansion <mark> of `\@thefnmark' 
-%% is stored as an item preceding the footnote text 
-%% <text>. One footnote entry in `\FNLN at list' 
+%% \emph{current} expansion <mark> of `\@thefnmark'
+%% is stored as an item preceding the footnote text
+%% <text>. One footnote entry in `\FNLN at list'
 %% thus has the form \lq`<mark>\@lt<text>\@lt'\rq.
-%% \LaTeX's internal `\g at addto@macro' is used to \emph{append} 
-%% an entry to the list (at the right). The OTR will later 
-%% take the entries from the left of the list. 
-%% 
-%% The argument of the auxiliary/temporary `\@tempa' 
-%% will contain the footnote text and thus must be able to 
-%% carry `\par' tokens. We therefore need a `\long' version of 
+%% \LaTeX's internal `\g at addto@macro' is used to \emph{append}
+%% an entry to the list (at the right). The OTR will later
+%% take the entries from the left of the list.
+%%
+%% The argument of the auxiliary/temporary `\@tempa'
+%% will contain the footnote text and thus must be able to
+%% carry `\par' tokens. We therefore need a `\long' version of
 %% `\protected at edef':
    \let\@@protect\protect
    \let\protect\@unexpandable at protect
@@ -212,7 +212,7 @@
    \long \edef \@tempa ##1{%
         \noexpand\g at addto@macro \noexpand\FNLN at list {%
             \@thefnmark \noexpand\@lt ##1\noexpand \@lt}}%
-%% ... issuing 
+%% ... issuing
 %%     \lq`\g at addto@macro\FNLN at list{<mark>\elt<text>\@lt}'\rq\ ...
    \@tempa                              %% reads arg
 }
@@ -222,62 +222,62 @@
 %% === Output Routines ===
 %% ==== 'lineno''s Output Routine ====
 %% The following is a copy of 'lineno''s OTR
-%% that we are varying. It may be used for a check 
-%% if the OTR that 'fnlineno.sty' encounters 
+%% that we are varying. It may be used for a check
+%% if the OTR that 'fnlineno.sty' encounters
 %% is the one expected (TODO).
 \if at FNLN@check@
   \def\FNLN at lno@output {%
     \LineNoTest
     \if at tempswa
-      \ifnum\outputpenalty=-\@Mllbcodepen 
-        \WriteLineNo 
-      \else 
-        \ifnum\outputpenalty=-\@Mppvacodepen 
-          \PassVadjustList 
-        \else 
-          \LineNoLaTeXOutput 
-        \fi 
-      \fi 
-    \else  
+      \ifnum\outputpenalty=-\@Mllbcodepen
+        \WriteLineNo
+      \else
+        \ifnum\outputpenalty=-\@Mppvacodepen
+          \PassVadjustList
+        \else
+          \LineNoLaTeXOutput
+        \fi
+      \fi
+    \else
       \MakeLineNo
     \fi
   }
 %% The ``signal penalties" used here are
-  \mathchardef\FNLN at M@llbl at codepen=11111 
-  \mathchardef\FNLN at M@ppva at codepen=11112 
+  \mathchardef\FNLN at M@llbl at codepen=11111
+  \mathchardef\FNLN at M@ppva at codepen=11112
 \fi
-%% Their names should mean ```\linelabel' code penalty" and 
+%% Their names should mean ```\linelabel' code penalty" and
 %% ```\PostponeVadjust' code penalty."
 %%
 %% |\TheLineNoLaTeXOutput|:
-%% It turns out to be inconvenient here 
-%% that 'lineno' sacrifices access 
-%% to the \emph{primitive} `\output' (```\@tempa'"; 
-%%  TODO: auxiliary package before loading 'lineno'!?; 
-%%  later change 'lineno.sty' indeed). 
-%% So to change the OTR we use `\LineNoLaTeXOutput' as a hook 
-%% for adding additional cases of `\outputpenalt'ies. 
-%% We take a copy of `\LineNoLaTeXOutput' here. 
+%% It turns out to be inconvenient here
+%% that 'lineno' sacrifices access
+%% to the \emph{primitive} `\output' (```\@tempa'";
+%%  TODO: auxiliary package before loading 'lineno'!?;
+%%  later change 'lineno.sty' indeed).
+%% So to change the OTR we use `\LineNoLaTeXOutput' as a hook
+%% for adding additional cases of `\outputpenalt'ies.
+%% We take a copy of `\LineNoLaTeXOutput' here.
 \let\TheLineNoLaTeXOutput\LineNoLaTeXOutput
 %%
 %% ==== Tools for Temporary Parameter Changes ====
-%% |\GStoreReg{<register>}|\quad 
+%% |\GStoreReg{<register>}|\quad
 %% (or\quad |\GStoreReg<register>|\\[\smallskipamount]
 %%  when <register> is a single token---\lq`\count0'\rq\
-%%  being a counterexample ...)\quad 
-%% stores the current content of <register> 
-%% (\emph{globally}) as an internal macro so that it can be 
-%% restored later by\\[\smallskipamount] 
-%% |\RestoreReg{<register>}|\quad 
+%%  being a counterexample ...)\quad
+%% stores the current content of <register>
+%% (\emph{globally}) as an internal macro so that it can be
+%% restored later by\\[\smallskipamount]
+%% |\RestoreReg{<register>}|\quad
 %%   \mbox{(or\quad }|\RestoreReg<register>|)\\[\smallskipamount]
-%% or \emph{globally} by\\[\smallskipamount] 
+%% or \emph{globally} by\\[\smallskipamount]
 %% |\GRestoreReg{<register>}|\quad (|\GRestoreReg<register>|)
 %% \\[\smallskipamount]
-%% (The OTR runs in a local group!---Recall that assignments 
-%%  to ``special dimens"---\TeX book p.\,271---are 
-%%  automatically global.) 
+%% (The OTR runs in a local group!---Recall that assignments
+%%  to ``special dimens"---\TeX book p.\,271---are
+%%  automatically global.)
 %% <register> is something that can be prefixed by `\the'
-%% to read its content and to which you can assign a value 
+%% to read its content and to which you can assign a value
 %% <value> by \lq<register><value>\rq.
 %% (TODO: could also be some `\catcode'!)
 %% %% and TODO allow changing name space!
@@ -285,15 +285,15 @@
     \expandafter \xdef \csname GS\string#1\endcsname {\the #1}}
 \newcommand*{\RestoreReg}[1]{#1\csname GS\string#1\endcsname \relax}
 \newcommand*{\GRestoreReg}{\global\RestoreReg}
-%% |\GStoreSetReg{<register>}{<value>}| assigns %%% the new value 
-%% <value> to <register> (locally) after executing `\GStoreSet', 
-%% |\GStoreGSetReg| does the same \emph{globally} 
-%% (and still argument braces aren't needed when a single 
-%%  token refers to the register). 
+%% |\GStoreSetReg{<register>}{<value>}| assigns %%% the new value
+%% <value> to <register> (locally) after executing `\GStoreSet',
+%% |\GStoreGSetReg| does the same \emph{globally}
+%% (and still argument braces aren't needed when a single
+%%  token refers to the register).
 \newcommand*{\g at storesetreg}[3]{\GStoreReg{#2}#1#2#3\relax}
 \newcommand*{\GStoreSetReg} {\g at storesetreg\relax}
 \newcommand*{\GStoreGSetReg}{\g at storesetreg\global}
-%% (These preliminaries might go into an own new package, TODO! 
+%% (These preliminaries might go into an own new package, TODO!
 %%  + loop on list of <register>s ...) %% 2010/12/19
 %%
 %% ==== The basic hook ====
@@ -301,15 +301,15 @@
 %% We use two more penalties triggering the ``MVL swaps:"
 \mathchardef\FNLN at M@swap at codepen  =11113
 \mathchardef\FNLN at M@insert at codepen=11114
-%% v0.41 deals with |\pagebreak| in footnote texts, 
-%% using a flag |\if at FNLN@sw@| that must be set globally. 
+%% v0.41 deals with |\pagebreak| in footnote texts,
+%% using a flag |\if at FNLN@sw@| that must be set globally.
 %% %% 2011/01/07:
-%% It turned out not to work properly; however, the new 
-%% switch has served a different purpose for ``continuous 
+%% It turned out not to work properly; however, the new
+%% switch has served a different purpose for ``continuous
 %% line numbering," cf. section~\ref{sec:cont}.
 \newif\if at FNLN@sw@  \global\@FNLN at sw@false  %% v0.41
-%% When a `\pagebreak' triggers the OTR while typesetting 
-%% the footnote text, the page content is collected 
+%% When a `\pagebreak' triggers the OTR while typesetting
+%% the footnote text, the page content is collected
 %% in a box |\FNLN at holdft|:
 \newsavebox\FNLN at holdft                     %% v0.41
 %% Using |\LineNoLaTeXOutput| for hooking into the OTR:
@@ -323,17 +323,17 @@
       \if at FNLN@sw@                          %% v0.41
 %        \showthe\outputpenalty     %% 2010/12/20
         \global\setbox \FNLN at holdft \vbox{%
-          \unvbox\FNLN at holdft 
+          \unvbox\FNLN at holdft
 %% %% moved here, clarified 2010/12/21:
-%% TODO from v0.41: `\pagebreak[4]' does not seem to force (reliably) 
-%% splitting a footnote; if the footnote is not split here, 
+%% TODO from v0.41: `\pagebreak[4]' does not seem to force (reliably)
+%% splitting a footnote; if the footnote is not split here,
 %% at present the `\baselineskip' is lost,
-%% see the footnote paragraph starting 
+%% see the footnote paragraph starting
 %% with \qtd{C} in `edfndemo.pdf' as of 2010/12/21.
 %% We would need some measuring ... `\pagebreak'
 %% might be redefined ... resembling \LaTeX's `\@specialoutput'!
-          \unvbox\@cclv 
-%% TODO same problem here, see the footnote paragraph starting 
+          \unvbox\@cclv
+%% TODO same problem here, see the footnote paragraph starting
 %% with \qtd{D} in `edfndemo.pdf' as of 2010/12/21.
           \penalty\outputpenalty}%
         %% TODO reset page book-keeping!?   %% v0.41
@@ -343,17 +343,17 @@
     \fi
   \fi
 }
-%% \strong{An idea:}\quad Instead of so many `\ifnum', use 
+%% \strong{An idea:}\quad Instead of so many `\ifnum', use
 %% \[`\csname<chars>\the\outputpenalty\endcsname'\]
-%% ... in 'lineno.sty', when you really have a broad 
-%% range of `\outputpenalties' useful to be 
+%% ... in 'lineno.sty', when you really have a broad
+%% range of `\outputpenalties' useful to be
 %% described by `\ifnum' range checks ...
 %%
 %% ==== Typesetting the Footnote Text ====
-%% |\SwapFootnoteMain| is the slot of the OTR that our 
-%% modified `\@footnotetext' calls with 
+%% |\SwapFootnoteMain| is the slot of the OTR that our
+%% modified `\@footnotetext' calls with
 %% $`\outputpenalty'=-`\FNLN at M@swap at codepen'$.
-%% The ``column so far" is stored in a new box register 
+%% The ``column so far" is stored in a new box register
 %% |\FLNL at holdcol|.
 \newsavebox\FNLN at holdcol
 \newcommand*{\SwapFootnoteMain}{%
@@ -360,28 +360,28 @@
     \global \setbox\FNLN at holdcol \vbox{\unvbox\@cclv}%
 %% (... cf. `\@holdpg' in \LaTeX.)
 %%
-%% The entire text of a footnote is typeset on top of 
-%% the MVL. `\vsize' is maximized temporarily to avoid 
-%% that the footnote text is broken across pages. 
+%% The entire text of a footnote is typeset on top of
+%% the MVL. `\vsize' is maximized temporarily to avoid
+%% that the footnote text is broken across pages.
     \GStoreGSetReg\vsize\maxdimen
 %% However, the user may want to use `\pagebreak'
-%% in a footnote in order to control manually where 
-%% a ``long" footnote is split. v0.41 tries to support 
+%% in a footnote in order to control manually where
+%% a ``long" footnote is split. v0.41 tries to support
 %% this:
     \global\@FNLN at sw@true                   %% v0.41
 %% ... cf. Section~\ref{sec:sw}.
 %%
-%% There shouldn't be any `\topskip', the space 
+%% There shouldn't be any `\topskip', the space
 %% on top of a footnote is controlled by `\footnotesep'
 %% entirely:
     \GStoreGSetReg\topskip\z at skip
-%% (`\nointerlineskip' as well as setting `\topskip' 
+%% (`\nointerlineskip' as well as setting `\topskip'
 %%  locally instead fails ... according to `\showlists' ...)
 %%
-%% Resetting |\pagegoal| 
-%% (why doesn't it switch to $`\vsize'=`\maxdimen'$ automatically?), 
-%% |\pagetotal|, and the other ``special dimens" 
-%% (\TeX book p.\,271; rather experimental ... 
+%% Resetting |\pagegoal|
+%% (why doesn't it switch to $`\vsize'=`\maxdimen'$ automatically?),
+%% |\pagetotal|, and the other ``special dimens"
+%% (\TeX book p.\,271; rather experimental ...
 %%  I think it is important to restore them later ...)
     \GStoreSetReg\pagegoal \vsize
     \GStoreSetReg\pagetotal\z@
@@ -395,27 +395,27 @@
 %% such as font:
     \reset at font\footnotesize
     \interlinepenalty\interfootnotelinepenalty
-%% \LaTeX's `split' things here are relevant at 
+%% \LaTeX's `split' things here are relevant at
 %% `\insert\footins' only: (TODO!?)
 %     \splittopskip\footnotesep
 %     \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
     \hsize\columnwidth \@parboxrestore
 %% The previous lines were from \LaTeX's `\@footnotetext'.
-%% Now we need to restore the `\@thefnmark' that belongs 
-%% to the current footnote text. We use a macro that 
-%% tears two items from |\FNLN at list| and executes the 
+%% Now we need to restore the `\@thefnmark' that belongs
+%% to the current footnote text. We use a macro that
+%% tears two items from |\FNLN at list| and executes the
 %% rest of \LaTeX's `\@footnotetext':
     \expandafter \FNLN at typeset \FNLN at list \@@
 %     \showthe\vsize
-%% ... so a `\vsize' assignment without `\global' 
-%% is noted here, and an analogous `\topskip' assignment 
+%% ... so a `\vsize' assignment without `\global'
+%% is noted here, and an analogous `\topskip' assignment
 %% is not!? TODO ...
 }
 %% |\FNLN at typeset| first removes something %% reworded 2010/12/26
 %% from the list of footnotes, similarly to \LaTeX's |\@xnext|
-%% and 'lineno''s `\@LN at xnext', then executes a 
-%% remaining portion of \LaTeX's `\@footnotetext'. 
-%% The footnote text may contain `\par' tokens, 
+%% and 'lineno''s `\@LN at xnext', then executes a
+%% remaining portion of \LaTeX's `\@footnotetext'.
+%% The footnote text may contain `\par' tokens,
 %% so the definition must be `\long':
 \long\def \FNLN at typeset #1\@lt #2\@lt #3\@@{%
     \gdef\FNLN at list{#3}%
@@ -428,11 +428,11 @@
 %% We insert starting the 'lineno' settings ...
       \linenumbers
       \setfootnotelinenumbers                   %% 2010/12/25
-%% ... \LaTeX\ again (v0.41 exports dealing with 
-%%  closing `\par' to `finstrut.sty'): 
+%% ... \LaTeX\ again (v0.41 exports dealing with
+%%  closing `\par' to `finstrut.sty'):
       \@makefntext{%
         \rule\z@\footnotesep\ignorespaces
-%% We replace `#1' by `#2\par' (`\linenumberpar'), 
+%% We replace `#1' by `#2\par' (`\linenumberpar'),
 %% so we really need `finstrut.sty':
         #2\par
         \@finalstrut\strutbox}%
@@ -441,25 +441,25 @@
     \penalty-\FNLN at M@insert at codepen
 }
 \RequirePackage{finstrut}
-%% 
+%%
 %% ==== &\insert\ the Footnote Text ====
 %% |\InsertFootnote| is the slot of the OTR that executes
 %% `\insert\footins' with the numbered footnote text.
-%% The ``column so far" stored in `\FNLN at holdcol' 
-%% is put onto the top of the MVL, and then parts of 
+%% The ``column so far" stored in `\FNLN at holdcol'
+%% is put onto the top of the MVL, and then parts of
 %% \LaTeX's `\@footnotetext' are performed that haven't
-%% been done earlier, applied to the footnote text 
-%% that the OTR should have found in `\box255'. 
-%% Before however, the previous `\topskip', `\vsize', and the 
+%% been done earlier, applied to the footnote text
+%% that the OTR should have found in `\box255'.
+%% Before however, the previous `\topskip', `\vsize', and the
 %% `\page'... book-keeping parameters are restored:
 \newcommand*{\InsertFootnote}{%
     \GRestoreReg\topskip    \GRestoreReg\vsize
-%% (... \emph{global} restoring of `\vsize' proved vital with 
+%% (... \emph{global} restoring of `\vsize' proved vital with
 %%      'edfndemo' 2010/12/17 ...)
     \RestoreReg \pagegoal     \RestoreReg\pagetotal
     \RestoreReg \pagestretch
-    \RestoreReg \pagefilstretch 
-    \RestoreReg \pagefillstretch 
+    \RestoreReg \pagefilstretch
+    \RestoreReg \pagefillstretch
     \RestoreReg \pagefilllstretch
     \RestoreReg \pageshrink   \RestoreReg\pagedepth
     \unvbox\FNLN at holdcol
@@ -478,218 +478,218 @@
 %% === ``Continuous'' Numbering ===
 %% \label{sec:cont}
 %% ==== Goal ====
-%% With v0.5, for the first time we try to get a 
+%% With v0.5, for the first time we try to get a
 %% ``pagewise" numbering such that, if a main text line
-%% has a footnote, 
-%% (\textit{i})~its printed number is just the natural 
-%% successor of the printed number of the previous main 
-%% text line 
-%% (instead of continuing previous numbering with the 
-%%  lines of the footnote first), 
-%% and (\textit{ii})~the printed numbers of footnote lines 
+%% has a footnote,
+%% (\textit{i})~its printed number is just the natural
+%% successor of the printed number of the previous main
+%% text line
+%% (instead of continuing previous numbering with the
+%%  lines of the footnote first),
+%% and (\textit{ii})~the printed numbers of footnote lines
 %% just continue the printed numbers of the main text lines.
-%% This ``obvious'' desirement is not easy to achieve; 
-%% already pagewise numbering of main text lines, 
-%% without numbering footnote lines, has been somewhat 
+%% This ``obvious'' desirement is not easy to achieve;
+%% already pagewise numbering of main text lines,
+%% without numbering footnote lines, has been somewhat
 %% ingenious.
 %%
 %% ==== How to Number Lines Pagewise ====
 %% The basic idea of 'lineno''s pagewise numbering is:
 %% \begin{enumerate}
-%%   \item Each numbered line of the document is identified 
+%%   \item Each numbered line of the document is identified
 %%         by a unique counter value, an ``absolute" number.
-%%   \item For each page (and column), the range of absolute 
-%%         line numbers occurring on them is recorded 
-%%         (or actually: the first and the last number). 
-%%   \item The ``public," ``human-readable" (``pagewise") 
-%%         format of a given absolute line number $l$ is generated by 
-%%         (\textit{i})~finding the page (and column) with 
-%%         first number $n$ and last number $k$ such that 
-%%         $n\leq l\leq k$, 
+%%   \item For each page (and column), the range of absolute
+%%         line numbers occurring on them is recorded
+%%         (or actually: the first and the last number).
+%%   \item The ``public," ``human-readable" (``pagewise")
+%%         format of a given absolute line number $l$ is generated by
+%%         (\textit{i})~finding the page (and column) with
+%%         first number $n$ and last number $k$ such that
+%%         $n\leq l\leq k$,
 %%         (\textit{ii}) ``printing" $l-n+1$ in ``columnwise"
-%%         mode, otherwise $l-m+1$ where $m$ is the first 
-%%         absolute line number in the left-hand column of the 
+%%         mode, otherwise $l-m+1$ where $m$ is the first
+%%         absolute line number in the left-hand column of the
 %%         same page.
 %% \end{enumerate}
-%% \strong{Generating} the ``pagewise" representation for a 
-%% given absolute line number $l$ thus may be summarized as 
-%% \emph{finding the corresponding \emph{\strong{offset}} value} 
+%% \strong{Generating} the ``pagewise" representation for a
+%% given absolute line number $l$ thus may be summarized as
+%% \emph{finding the corresponding \emph{\strong{offset}} value}
 %% to be subtracted ($n$, $n+1$, $m$, or $m+1$ ...).
 %%
-%% When \emph{footnote} lines are to be numbered as well, 
-%% a little problem is the order in which main text and 
-%% footnote lines increment the absolute counter. 
-%% 'lineno''s mechanism for this is started immediately 
-%% after a paragraph has been broken into lines. 
-%% Each line of the paragraph then calls a macro 
-%% generating the line number. 'fnlineno' now interrupts 
-%% numbering of main text lines at a line issuing a footnote. 
-%% The footnote text is typeset, including numbering its 
-%% lines at each end of a footnote paragraph. When the 
-%% footnote text has been sent into the `\insert' register, 
-%% numbering of main text lines is resumed. 
-%% 
-%% Up to v0.4 (a development version), we used the \emph{same} 
-%% absolute counter for main text and footnote lines. 
-%% When a page $p$ has more than one main text line and the first 
-%% one has a long footnote continued on the next page~$p+1$, 
-%% there is no ``range" of absolute line numbers 
-%% characterizing page~$p$ any more, 
-%% because the greatest absolute line number of page~$p$ 
-%% exceeds the absolute line numbers of the footnote continued 
+%% When \emph{footnote} lines are to be numbered as well,
+%% a little problem is the order in which main text and
+%% footnote lines increment the absolute counter.
+%% 'lineno''s mechanism for this is started immediately
+%% after a paragraph has been broken into lines.
+%% Each line of the paragraph then calls a macro
+%% generating the line number. 'fnlineno' now interrupts
+%% numbering of main text lines at a line issuing a footnote.
+%% The footnote text is typeset, including numbering its
+%% lines at each end of a footnote paragraph. When the
+%% footnote text has been sent into the `\insert' register,
+%% numbering of main text lines is resumed.
+%%
+%% Up to v0.4 (a development version), we used the \emph{same}
+%% absolute counter for main text and footnote lines.
+%% When a page $p$ has more than one main text line and the first
+%% one has a long footnote continued on the next page~$p+1$,
+%% there is no ``range" of absolute line numbers
+%% characterizing page~$p$ any more,
+%% because the greatest absolute line number of page~$p$
+%% exceeds the absolute line numbers of the footnote continued
 %% on page~$p+1$.
 %%
-%% 'lineno''s procedure can be revived by numbering 
-%% main text lines and footnote lines independently 
-%% from each other. We use \emph{two} absolute counters, 
-%% one is incremented with main text lines only, 
-%% the other with footnote lines only. 
-%% Numbering of main text lines just will not be affected 
-%% by numbering of the footnote lines. 
+%% 'lineno''s procedure can be revived by numbering
+%% main text lines and footnote lines independently
+%% from each other. We use \emph{two} absolute counters,
+%% one is incremented with main text lines only,
+%% the other with footnote lines only.
+%% Numbering of main text lines just will not be affected
+%% by numbering of the footnote lines.
 %%
-%% Almost the same will hold for footnote lines. 
-%% Each page (and column) will have a characteristic 
-%% ``range" of absolute footnote line numbers $\{n,\dots,k\}$. 
-%% The only notable difference will be that for footnote line~$l$ 
-%% we print $(l-n+1)+(K-N+1) = (K+l)-(N+n)+2$ instead of 
+%% Almost the same will hold for footnote lines.
+%% Each page (and column) will have a characteristic
+%% ``range" of absolute footnote line numbers $\{n,\dots,k\}$.
+%% The only notable difference will be that for footnote line~$l$
+%% we print $(l-n+1)+(K-N+1) = (K+l)-(N+n)+2$ instead of
 %% $l-n+1$---where $\{N,\dots,K\}$ is the range of \emph{main text}
-%% line numbers of the page (and column). 
-%% 
-%% The previous discussion of \strong{generating} the printed 
-%% line number from its absolute version 
-%% has assumed that corresponding \strong{offset} values 
-%% have been given somehow, or that the ``line number ranges" 
-%% for pages are known from somewhere. 
-%% In fact, these ranges are \strong{computed} at the 
-%% \strong{start} of a \LaTeX\ run \emph{before} typesetting, 
-%% when reading the `.aux' file for the first 
-%% time. They are used in the entire document. 
-%% While typesetting, each numbered line of main text leaves 
-%% a record of its absolute number and page number in the new 
-%% version of the `.aux' file that the run creates, 
-%% a two-parameter macro `\@LN'. With 'fnlineno.sty', 
-%% there will be new `\@FLN' entries of the same type. 
-%% These `.aux' entries are used for building 
-%% the page range data for the next run. 
-%% When the document source has been changed, at least 
-%% \emph{two runs} will usually be required 
-%% to get correct line numbers in page margins, 
-%% and \emph{another} run will be needed so references 
-%% to line numbers by `\ref' and `\linelabel' are correct. 
-%% 
+%% line numbers of the page (and column).
+%%
+%% The previous discussion of \strong{generating} the printed
+%% line number from its absolute version
+%% has assumed that corresponding \strong{offset} values
+%% have been given somehow, or that the ``line number ranges"
+%% for pages are known from somewhere.
+%% In fact, these ranges are \strong{computed} at the
+%% \strong{start} of a \LaTeX\ run \emph{before} typesetting,
+%% when reading the `.aux' file for the first
+%% time. They are used in the entire document.
+%% While typesetting, each numbered line of main text leaves
+%% a record of its absolute number and page number in the new
+%% version of the `.aux' file that the run creates,
+%% a two-parameter macro `\@LN'. With 'fnlineno.sty',
+%% there will be new `\@FLN' entries of the same type.
+%% These `.aux' entries are used for building
+%% the page range data for the next run.
+%% When the document source has been changed, at least
+%% \emph{two runs} will usually be required
+%% to get correct line numbers in page margins,
+%% and \emph{another} run will be needed so references
+%% to line numbers by `\ref' and `\linelabel' are correct.
+%%
 %% ==== Summary of Changes ====
-%% Variants of 'lineno.sty''s code for ``pagewise" 
+%% Variants of 'lineno.sty''s code for ``pagewise"
 %% numbering are following. Sometimes we generalize
-%% `pagewise' stuff from 'lineno' and re-implement pagewise 
-%% numbering of main text lines as a special case, 
+%% `pagewise' stuff from 'lineno' and re-implement pagewise
+%% numbering of main text lines as a special case,
 %% the other special case being numbering of footnote lines.
-%% 
+%%
 %% Five things need modifications:
 %% \begin{description}
-%%   \item[Building page info macros:] 
-%%      Processing `\@LN' and `\@FLN' `.aux' entries will 
-%%      use shared building macros, the difference is 
-%%      obtained by switching \strong{name spaces}. 
-%%      (It may be notable that a page may get one 
-%%       info macro for main text and another for 
+%%   \item[Building page info macros:]
+%%      Processing `\@LN' and `\@FLN' `.aux' entries will
+%%      use shared building macros, the difference is
+%%      obtained by switching \strong{name spaces}.
+%%      (It may be notable that a page may get one
+%%       info macro for main text and another for
 %%       footnote text, if it contains footnote text.)
 %%   \item[Logging:]
-%%      While typesetting, the shared logging macro 
-%%      is switched to write either `\@LN' or `\@FLN' 
-%%      to the `.aux' file. Also, `\c at linenumber' 
-%%      may refer to either the main text or to the 
-%%      footnote text counter. 
+%%      While typesetting, the shared logging macro
+%%      is switched to write either `\@LN' or `\@FLN'
+%%      to the `.aux' file. Also, `\c at linenumber'
+%%      may refer to either the main text or to the
+%%      footnote text counter.
 %%   \item[Generating ``pagewise" format:]
-%%      The choice of `\c at linenumber' also determines 
-%%      which counter is incremented, and again 
-%%      name spaces for page info macros are switched. 
-%%      For footnote lines, 
-%%      a tail macro for adding the number of main text lines 
+%%      The choice of `\c at linenumber' also determines
+%%      which counter is incremented, and again
+%%      name spaces for page info macros are switched.
+%%      For footnote lines,
+%%      a tail macro for adding the number of main text lines
 %%      will be activated.
 %%   \item[Referencing:]
 %%      The `.aux' file may have entries from `\linelabel'
 %%      containing large numbers from an ``absolute" counter.
-%%      In generating the ``human-readable" number, 
-%%      it must be known whether it is a main text or a 
-%%      footnote line number. 
+%%      In generating the ``human-readable" number,
+%%      it must be known whether it is a main text or a
+%%      footnote line number.
 %%      %% 2010/12/28:
-%%      An additional complication is referring to a 
-%%      main text line from a footnote and vice versa---thinking 
+%%      An additional complication is referring to a
+%%      main text line from a footnote and vice versa---thinking
 %%      of global changes in generating the number.
-%%      Or even think of the case referring from unnumbered text 
+%%      Or even think of the case referring from unnumbered text
 %%      to numbered text!
-%%      (I have wondered before if the entry couldn't be 
+%%      (I have wondered before if the entry couldn't be
 %%       the ready human-readable number, TODO!)
 %%   %% 2010/12/27:
 %%   \item[Lists of ``vertical tasks":]
-%%      'lineno.sty' (v4) has introduced two lists of 
+%%      'lineno.sty' (v4) has introduced two lists of
 %%      tasks that were issued in horizontal mode
-%%      but only can be completed after breaking a paragraph 
-%%      into lines: one for `\linelabel's and one for `\vadjust' 
-%%      items that must wait until the line number has been 
-%%      attached. It is essential that the tasks are processed 
-%%      in the same order in vertical mode as they were 
-%%      issued in horizontal mode. As we are now interrupting 
-%%      processing of main text paragraphs for processing 
-%%      footnotes, tasks for footnote text must be lined up 
-%%      in separate lists than tasks for main text. 
-%%      This is indeed essential for the previous issue 
-%%      of getting `\linelabel' work in footnotes as well 
+%%      but only can be completed after breaking a paragraph
+%%      into lines: one for `\linelabel's and one for `\vadjust'
+%%      items that must wait until the line number has been
+%%      attached. It is essential that the tasks are processed
+%%      in the same order in vertical mode as they were
+%%      issued in horizontal mode. As we are now interrupting
+%%      processing of main text paragraphs for processing
+%%      footnotes, tasks for footnote text must be lined up
+%%      in separate lists than tasks for main text.
+%%      This is indeed essential for the previous issue
+%%      of getting `\linelabel' work in footnotes as well
 %%      as in main text.
 %% \end{description}
-%% 
+%%
 %% ==== Info Building ====
-%% % These macros 
+%% % These macros
 %% |\@LN|, |\@FLN|, and |\@FNLN|
-%% are processed at reading the `.aux' file before typesetting only. 
-%% The \strong{interface} to \strong{generating} 
+%% are processed at reading the `.aux' file before typesetting only.
+%% The \strong{interface} to \strong{generating}
 %% ``pagewise" and footnote line numbers just are |\LN at Pfirst|
-%% and |\FLN at Pfirst|, eventually pointing to the first page/column 
+%% and |\FLN at Pfirst|, eventually pointing to the first page/column
 %% with numbered main text lines or footnote lines, resp.
 \def \FLN at Pfirst {\nextLN\relax}
-%% This initialization of `\FLN at Pfirst' is just the same 
-%% as the one of `\LN at Pfirst' in 'lineno.sty'; 
-%% their expansions are changed as soon 
+%% This initialization of `\FLN at Pfirst' is just the same
+%% as the one of `\LN at Pfirst' in 'lineno.sty';
+%% their expansions are changed as soon
 %% as such a page is found, replacing the `\relax' by the
-%% corresponding page info macro. 
-%% 
-%% `\LN at Pfirst' and `\FLN at Pfirst' are passed to 
+%% corresponding page info macro.
+%%
+%% `\LN at Pfirst' and `\FLN at Pfirst' are passed to
 %% |\testFirstNumberedPage| via the hook |\FNLN at first@numbered|
 %% that by default is the same as `\LN at first':
 \def \FNLN at first@numbered {\LN at Pfirst}
 %% (oh, it must be `\def' here to recognize the change ...).
-%% This must be changed by `\setfootnotelinenumbers' 
-%% (`\let' then, as when called the change will have happened). 
+%% This must be changed by `\setfootnotelinenumbers'
+%% (`\let' then, as when called the change will have happened).
 %%
-%% Moreover, they are passed to |\NumberedPageCache| 
-%% (the page info macro where a search starts, 
-%%  ``current" page/column) as its initialization; 
-%% the ``generating" macros then change the 
+%% Moreover, they are passed to |\NumberedPageCache|
+%% (the page info macro where a search starts,
+%%  ``current" page/column) as its initialization;
+%% the ``generating" macros then change the
 %% latter macro following `\nextLN' in the page info macros.
 %%
-%% In this sense, no other ``name space switching" is needed 
+%% In this sense, no other ``name space switching" is needed
 %% for communication with other functions.
-%% 
+%%
 %% 'lineno.sty' has changed |\LastNumberedPage| globally ...
-%% the last page with numbered \emph{footnote} lines 
-%% may well be another one than the last page with 
-%% numbered \emph{main} text lines ... 
+%% the last page with numbered \emph{footnote} lines
+%% may well be another one than the last page with
+%% numbered \emph{main} text lines ...
 %% But fortunately, also `\LastNumberedPage'
 %% is needed in reading the `.aux' before typesetting only
 %% (`\@onlypreamble' is \LaTeX's disabling command):
 \@onlypreamble\LastNumberedPage
-%% In 'lineno.sty', we have `\def\LastNumberedPage{first}'. 
-%% We need the same for the footnote variant |\FNLN at last@numbered| 
-%% (to be handled globally!): 
+%% In 'lineno.sty', we have `\def\LastNumberedPage{first}'.
+%% We need the same for the footnote variant |\FNLN at last@numbered|
+%% (to be handled globally!):
 \global   \let \FNLN at last@numbered \LastNumberedPage
 \@onlypreamble \FNLN at last@numbered
 %% |\@FNLN{<names>}<last-numbered>{<line>}{<page>}|
 %% \\[\smallskipamount]
-%% generalizes 'lineno.sty''s `\@LN{<line>}{<page>}' 
-%% to re-implement it. 
-%% There is an additional parameter argument <names> 
+%% generalizes 'lineno.sty''s `\@LN{<line>}{<page>}'
+%% to re-implement it.
+%% There is an additional parameter argument <names>
 %% for choosing name spaces
-%% and a parameter <last-numbered> for choosing the macro 
+%% and a parameter <last-numbered> for choosing the macro
 %% storing the ``last numbered page."
 %% (An argument without braces expects a macro name.)
 \newcommand* \@FNLN [4]{{%
@@ -698,17 +698,17 @@
         \csname #1O#4\endcsname
         {#3}{#4}{#1}{#2}}}
 \@onlypreamble\@FNLN
-%% As in 'lineno.sty' `\@LN' calls `\@@LN', a new variant 
+%% As in 'lineno.sty' `\@LN' calls `\@@LN', a new variant
 %% of `\@@LN' is called by `\@FLN' here, but it gets one
-%% additional parameter for passing <names> 
-%% and another for passing <last-numbered> from `\@FLN'. 
-%% So the new syntax is\\[\smallskipamount] 
+%% additional parameter for passing <names>
+%% and another for passing <last-numbered> from `\@FLN'.
+%% So the new syntax is\\[\smallskipamount]
 %% |\@@LN<info><first-page-line>{<line>}{<page>}{<names>}<last-numbered>|:
-\renewcommand* \@@LN [6]{% 
+\renewcommand* \@@LN [6]{%
   \ifx#1\relax
     \ifx#2\relax\gdef#2{#3}\fi
-    \expandafter\@@@LN\csname #5#6\endcsname#1% 
-    \xdef#1{\lastLN{#3}\firstLN{#3}% 
+    \expandafter\@@@LN\csname #5#6\endcsname#1%
+    \xdef#1{\lastLN{#3}\firstLN{#3}%
             \pageLN{#4}{\@LN at column}{#2}\nextLN\relax}%
   \else
     \def\lastLN##1{\noexpand\lastLN{#3}}%
@@ -717,54 +717,54 @@
   \xdef#6{#4C\@LN at column}}
 \@onlypreamble\@@LN
 %% 'lineno.sty''s |\@@@LN| does not need any adjustment.
-%% 
-%% 'lineno.sty''s |\@LN{<line>}{<page>}| is reimplemented as 
-\def \@LN {\@FNLN{LN at P}\LastNumberedPage} 
-%% ---so `\@LN' really does the same as before, including name spaces. 
-%% 
-%% |\@FLN{<line>}{<page>}| is the other special case of the 
-%% new `\@FNLN'---an `F' precedes the earlier names, and 
+%%
+%% 'lineno.sty''s |\@LN{<line>}{<page>}| is reimplemented as
+\def \@LN {\@FNLN{LN at P}\LastNumberedPage}
+%% ---so `\@LN' really does the same as before, including name spaces.
+%%
+%% |\@FLN{<line>}{<page>}| is the other special case of the
+%% new `\@FNLN'---an `F' precedes the earlier names, and
 %% |\FNLN at last@numbered| is the storing macro initialized above:
 \def \@FLN {\@FNLN{FLN at P}\FNLN at last@numbered}
-%% For logging, we make both unexpandable: %% 2010/12/27 
+%% For logging, we make both unexpandable: %% 2010/12/27
 % \AtBeginDocument{\let\@LN\relax \let\@FLN\relax}
 %% ... but this way nothing appears in the file!? TODO ...
 \@onlypreamble\@LN  \@onlypreamble\@FLN
-%% For reading the `.aux' finally, we do what 
+%% For reading the `.aux' finally, we do what
 %% 'lineno' does with `\@LN':
 \AtEndDocument{\let\@FLN\@gobbletwo}
 %%
-%% ==== Tool for Reusing Global Operations with Macros ==== 
+%% ==== Tool for Reusing Global Operations with Macros ====
 %% %% 2010/12/28
-%% 'lineno.sty' v4 provides list handling (changing lists globally) 
-%% and global changes of `\NumberedPageCache'. 
-%% We want to use them in ``main text" mode 
-%% as well as in ``footnote" mode. 
-%% To use such an operation on <ln-macro> for <fln-macro>, 
-%% we `\global\let<ln-macro><fln-macro>', apply the operations, 
-%% and finally `\global\let<fln-macro><ln-macro>'. 
-%% However, we are not only interested in how <fln-macro> 
-%% is changed this way, rather <ln-macro> also is used as input 
-%% for some operations, and we can choose which <fln-macro> 
-%% should be used as input. To switch from working on/with 
-%% <fln-1> to <fln-2>  using <ln-macro> with an option 
-%% to use <fln-1> later again, a tool 
-%% |\GStoreUse<ln-macro><fln-1><fln-2>| is provided 
+%% 'lineno.sty' v4 provides list handling (changing lists globally)
+%% and global changes of `\NumberedPageCache'.
+%% We want to use them in ``main text" mode
+%% as well as in ``footnote" mode.
+%% To use such an operation on <ln-macro> for <fln-macro>,
+%% we `\global\let<ln-macro><fln-macro>', apply the operations,
+%% and finally `\global\let<fln-macro><ln-macro>'.
+%% However, we are not only interested in how <fln-macro>
+%% is changed this way, rather <ln-macro> also is used as input
+%% for some operations, and we can choose which <fln-macro>
+%% should be used as input. To switch from working on/with
+%% <fln-1> to <fln-2>  using <ln-macro> with an option
+%% to use <fln-1> later again, a tool
+%% |\GStoreUse<ln-macro><fln-1><fln-2>| is provided
 %% (should render later switchings much better readable):
 \newcommand* \GStoreUse [3]{\global\let#2#1\global\let#1#3}
-%% I.e., current content of #1 is stored in #2, then 
+%% I.e., current content of #1 is stored in #2, then
 %% #1 attains the content of #3.
-%% 
+%%
 %% ==== General Settings for Typesetting Stage ====
 %% % %% 2011/01/01: %% 2011/01/02: wrong!
-%% % With 'ednotes', it turns out that the heading is not quite 
-%% % correct, 'ednotes'' special `\newlabel' mechanism evaluates 
-%% % `\getpagewiselinelabel' already for building its note 
-%% % info macros at the first reading of the `.aux' file. 
+%% % With 'ednotes', it turns out that the heading is not quite
+%% % correct, 'ednotes'' special `\newlabel' mechanism evaluates
+%% % `\getpagewiselinelabel' already for building its note
+%% % info macros at the first reading of the `.aux' file.
 %%
 %% %% 2010/12/27:
-%% Oh my dear, it seems that all the switching 
-%% for the footnote variant of `pagewise' must be global 
+%% Oh my dear, it seems that all the switching
+%% for the footnote variant of `pagewise' must be global
 %% (I can't find something useful using `\aftergroup' quickly).
 %% Therefore, I render 'lineno''s |\setpagewisenumbers|
 %% acting globally:
@@ -775,16 +775,16 @@
 }
 %% I just force this, hehe ...
 \setpagewiselinenumbers
-%% As a counterpart to `\c at pagelinenumber', 
-%% |\c at footnotelinenumber| is reserved for the 
+%% As a counterpart to `\c at pagelinenumber',
+%% |\c at footnotelinenumber| is reserved for the
 %% absolute footnote line numbers:
 \newcount\c at footnotelinenumber
 %% %% 2011/01/01 severe-bug fix, why didn't show up?:
-%% |\FNLN@@cache| stores `\NumberedPageCache' 
+%% |\FNLN@@cache| stores `\NumberedPageCache'
 %% as from ``main" mode:
 \let \FNLN@@cache \NumberedPageCache
-%% |\FNLN at cache| stores `\NumberedPageCache' 
-%% as from ``footnote" mode; its initial content is the 
+%% |\FNLN at cache| stores `\NumberedPageCache'
+%% as from ``footnote" mode; its initial content is the
 %% counterpart or analogue to `\LN at Pfirst':
 \def \FNLN at cache {\FLN at Pfirst}
 %% %% 2010/12/28:
@@ -802,40 +802,40 @@
 \global\let \FNLN at vadjusts \@empty
 %% %% separation for referencing 2010/12/28:
 %% Settings for footnote line numbers first resemble
-%% `\setpagewiselinenumbers'; but more changes 
-%% are needed, and results from main text numbering 
-%% must be stored. 
-%% Some of the settings are needed \emph{locally} for 
-%% generating numbers for labels, collected in 
+%% `\setpagewiselinenumbers'; but more changes
+%% are needed, and results from main text numbering
+%% must be stored.
+%% Some of the settings are needed \emph{locally} for
+%% generating numbers for labels, collected in
 %% |\setgetfootnotelinenumbers|; for this purpose
 %% nothing must be stored explicitly:
-\newcommand* \setgetfootnotelinenumbers {% 
+\newcommand* \setgetfootnotelinenumbers {%
 %% Change of `\theLineNumber' is omitted as we are \emph{reading},
-%% not writing a label. 
+%% not writing a label.
     \let\c at linenumber\c at footnotelinenumber
 %     \let\makeLineNumber\makeFootnoteLineNumber
 %% But in fact, |\makeFootnoteLineNumber| and
-%% |\makePagewiseLineNumber| will be the same. 
-%% The difference is made by the choice of 
-%% |\FNLN at first@numbered| and |\NumberedPageCache| 
-%% for the line range searches. 
+%% |\makePagewiseLineNumber| will be the same.
+%% The difference is made by the choice of
+%% |\FNLN at first@numbered| and |\NumberedPageCache|
+%% for the line range searches.
     \let \FNLN at first@numbered \FLN at Pfirst
     \let \FNLN at finish \FNLN at add
 }
-%% |\setfootnotelinenumbers| performs all the settings 
-%% for typesetting footnotes in line numbering mode 
-%% \emph{globally}, 
+%% |\setfootnotelinenumbers| performs all the settings
+%% for typesetting footnotes in line numbering mode
+%% \emph{globally},
 %% including storing results from typesetting main text:
-\newcommand* \setfootnotelinenumbers {% 
+\newcommand* \setfootnotelinenumbers {%
   \globaldefs\@ne
 %% The previous line also renders `\setgetfootnotelinenumbers' global:
     \setgetfootnotelinenumbers
-%% |\theLineNumber| is used for `\linelabel' entries. 
+%% |\theLineNumber| is used for `\linelabel' entries.
 %% `\thePagewiseLineNumber' is replaced by
 %% |\theFootnoteLineNumber|:
     \let\theLineNumber\theFootnoteLineNumber
 %% Logging to `.aux':
-    \def \FNLN at log {\string\@FLN}% 
+    \def \FNLN at log {\string\@FLN}%
 %% %% 2010/12/28:
 %% Starting range search: |\NumberedPageCache|
     \FNLN at foot@cache
@@ -844,8 +844,8 @@
     \GStoreUse \@LN at vadjustlist \FNLN@@vadjusts \FNLN at vadjusts
   \globaldefs\z@
 }
-%% For switching back to ``main text mode," 
-%% again some settings may need a local variant---for 
+%% For switching back to ``main text mode,"
+%% again some settings may need a local variant---for
 %% processing line references from footnotes to main text!
 %% This is the purpose of |\setgetpagewiselinenumbers|:
 \newcommand* \setgetpagewiselinenumbers {%
@@ -852,8 +852,8 @@
     \let \FNLN at first@numbered \LN at Pfirst
     \let \FNLN at finish         \@gobbletwo
 }
-%% |\unsetfootnotelinenumbers| stores the ``current" 
-%% page with footnote lines and loads the ``most recent" 
+%% |\unsetfootnotelinenumbers| stores the ``current"
+%% page with footnote lines and loads the ``most recent"
 %% page with main text lines---and more ...:
 \newcommand* \unsetfootnotelinenumbers {%
     \gdef \FNLN at log {\string\@LN}%
@@ -864,33 +864,33 @@
     \globaldefs\@ne \setgetpagewiselinenumbers \globaldefs\z@ %% v0.53
     \setpagewiselinenumbers
 }
-%% |\makeFootnoteLineNumber| actually only copies 
-%% |\makePagewiseLineNumber|, different results are obtained 
-%% be changing hooks. The command first calls 
-%% logging---|\logtheLineNumber|, 
-%% then generating the ``public" line number---|\getLineNumber| 
-%% (which in turn only is a copy of |\testNumberedPage| 
+%% |\makeFootnoteLineNumber| actually only copies
+%% |\makePagewiseLineNumber|, different results are obtained
+%% be changing hooks. The command first calls
+%% logging---|\logtheLineNumber|,
+%% then generating the ``public" line number---|\getLineNumber|
+%% (which in turn only is a copy of |\testNumberedPage|
 %%  in 'lineno.sty').
 \@ifdefinable\makeFootnoteLineNumber
     {\let \makeFootnoteLineNumber \makePagewiseLineNumber}
 %%
 %% ==== Logging ====
-%% |\logtheLineNumber| is redefined to log both 
-%% main text and footnote line numbers. 
+%% |\logtheLineNumber| is redefined to log both
+%% main text and footnote line numbers.
 \def \logtheLineNumber {%
     \protected at write\@auxout{}{%
-        \FNLN at log{\the\c at linenumber}{\noexpand\the\c at LN@truepage}}} 
-%% |\FNLN at log| is the hook for the difference, 
-%% its default expansion |\@LN| is made for 
+        \FNLN at log{\the\c at linenumber}{\noexpand\the\c at LN@truepage}}}
+%% |\FNLN at log| is the hook for the difference,
+%% its default expansion |\@LN| is made for
 %% \emph{main text} line numbers:
 \gdef \FNLN at log {\string\@LN}
 %%
 %% ==== ``Public" Line Numbers ====
-%% Fortunately, these commands don't need to know much about 
-%% name spaces. The interfaces to them are 
-%% |\NumberedPageCache|---changing globally---and 
-%% |\FNLN at first@numbered|. Our 
-%% |\FNLN at cache| is initialized 
+%% Fortunately, these commands don't need to know much about
+%% name spaces. The interfaces to them are
+%% |\NumberedPageCache|---changing globally---and
+%% |\FNLN at first@numbered|. Our
+%% |\FNLN at cache| is initialized
 %% by analogy to its counterpart `\NumberedPageCache'
 %% (a minute name space change):
 \def \FNLN at cache {\FLN at Pfirst}
@@ -908,12 +908,12 @@
 %% don't need any modification. |\testLastNumberedPage|
 %% is modified in 'edfnotes.sty'.   %% 2011/01/07
 %%
-%% |\gotNumberedPage| just needs a closing hook 
+%% |\gotNumberedPage| just needs a closing hook
 %% `\FNLN at finish' to allow for footnote lines.
 \renewcommand* \gotNumberedPage [4]{%
   \oddNumberedPagefalse
   \ifodd \if at twocolumn #3\else #2\fi\relax\oddNumberedPagetrue\fi
-  \advance\c at linenumber\@ne 
+  \advance\c at linenumber\@ne
   \ifcolumnwiselinenumbers
      \subtractlinenumberoffset{#1}%
   \else
@@ -922,12 +922,12 @@
 %  \show\FNLN at finish
   \FNLN at finish{#2}{#3}%
 }
-%% |\FNLN at finish{<page>}{<column>}| gobbles both 
-%% arguments with \emph{main} text lines, 
-%% but will add the number of main text lines to 
+%% |\FNLN at finish{<page>}{<column>}| gobbles both
+%% arguments with \emph{main} text lines,
+%% but will add the number of main text lines to
 %% \emph{footnote} line numbers:
 \global\let \FNLN at finish \@gobbletwo
-%% Then it will act as |\FNLN at add|. We run the page info macro 
+%% Then it will act as |\FNLN at add|. We run the page info macro
 %% for the same page (column; if defined).
 \newcommand* \FNLN at add [2]{%
   \expandafter \let\expandafter \@tempa\csname LN at P#1C#2\endcsname
@@ -950,8 +950,8 @@
 }
 %%
 %% ==== Referencing ====
-%% Now that we are using two separate counters for main text lines 
-%% and footnote lines (v0.5), correct references to footnote lines 
+%% Now that we are using two separate counters for main text lines
+%% and footnote lines (v0.5), correct references to footnote lines
 %% using |\linelabel| and `\ref' need further adjustments.
 %% %
 %% 'lineno.sty''s `\thePagewiseLineNumber'
@@ -958,24 +958,24 @@
 %% and `\getpagewiselinenumber{<integer>}'
 %% are generalized and re-implemented
 %% % by |\theWiseLineNumber| and |\getwiselinenumber|
-%% by macros that then serve to implement 
-%% referring to footnote line numbers. 
+%% by macros that then serve to implement
+%% referring to footnote line numbers.
 %%
-%% |\theWiseLineNumber{<trans>}| leaves a `\protect'ed call 
+%% |\theWiseLineNumber{<trans>}| leaves a `\protect'ed call
 %% to a one-parameter macro <trans> in the `.aux' file:
-\newcommand* \theWiseLineNumber [1]{\protect #1{\the\c at linenumber}} 
-%% |\getwiselinenumber{<choice>}{<integer>}| executes <choice> 
-%% before applying `\testNumberedPage' to <integer>---within 
+\newcommand* \theWiseLineNumber [1]{\protect #1{\the\c at linenumber}}
+%% |\getwiselinenumber{<choice>}{<integer>}| executes <choice>
+%% before applying `\testNumberedPage' to <integer>---within
 %% a local group:
 \newcommand* \getwiselinenumber [2]{{%
-%% Some wisdom is needed to take account of the current 
+%% Some wisdom is needed to take account of the current
 %% ``numbering state" from which `\ref' was called.
 %% \begin{description}
 %%   \item[Referring to main text line:]\leavevmode
 %%     \begin{itemize}
-%%       \item Unless called from numbered footnote, 
+%%       \item Unless called from numbered footnote,
 %%             no extra care is needed.
-%%       \item If called from numbered footnote, 
+%%       \item If called from numbered footnote,
 %%             `\setgetpagewiselinenumbers'
 %%             and temporary switching of `\NumberedPageCache'
 %%             is needed.
@@ -982,8 +982,8 @@
 %%     \end{itemize}
 %%   \item[Referring to footnote line:]\leavevmode
 %%     \begin{itemize}
-%%       \item If called from numbered footnote, 
-%%             no extra care is needed. 
+%%       \item If called from numbered footnote,
+%%             no extra care is needed.
 %%       \item Otherwise, `\setgetfootnotelinenumbers'
 %%             and temporary switching of `\NumberedPageCache'
 %%             is needed.
@@ -1007,26 +1007,26 @@
   \FNLN at restore@cache
 }}
 \let \FNLN at restore@cache \relax
-%% |\getpagewiselinenumber| doesn't need any <choice>---we 
-%% assume that the label was written in the default `pagewise' 
+%% |\getpagewiselinenumber| doesn't need any <choice>---we
+%% assume that the label was written in the default `pagewise'
 %% mode (but it is difficult, though, `\relax' is essential!):
-% \renewcommand* \getpagewiselinenumber {\getwiselinenumber\relax} %!! 
-%% 2010/12/31, a compatibility problem with 'ednotes'' `\newlabel' 
-%% mechanism shows up. 'ednotes' ``undefines" `\getpagewiselinenumber' 
-%% and restores it only `\AtBeginDocument'. We must ensure that 
-%% 'ednotes' will not override our new version of 
-%% `\getpagewiselinenumber'. 
-%% (TODO in my view another motivation to write ``ready" numbers 
+% \renewcommand* \getpagewiselinenumber {\getwiselinenumber\relax} %!!
+%% 2010/12/31, a compatibility problem with 'ednotes'' `\newlabel'
+%% mechanism shows up. 'ednotes' ``undefines" `\getpagewiselinenumber'
+%% and restores it only `\AtBeginDocument'. We must ensure that
+%% 'ednotes' will not override our new version of
+%% `\getpagewiselinenumber'.
+%% (TODO in my view another motivation to write ``ready" numbers
 %%  without `\getpagewiselinenumbers' directly.)
 %%
-%% We might assume that 'ednotes' (if at all) is loaded directly 
-%% and loads 'lineno.sty' 
-%% (that is the usual and recommended way of using 'ednotes') 
-%% and that this will happen before 'fnlineno.sty' is loaded. 
-%% But now that we have spent some time understanding the 
-%% situation, we can deal with the case as well that 'lineno.sty' 
-%% is loaded first, then 'fnlineno.sty' is loaded, and then 'ednotes'. 
-%% (I have assumed earlier that 'fnlineno.sty' is loaded after 
+%% We might assume that 'ednotes' (if at all) is loaded directly
+%% and loads 'lineno.sty'
+%% (that is the usual and recommended way of using 'ednotes')
+%% and that this will happen before 'fnlineno.sty' is loaded.
+%% But now that we have spent some time understanding the
+%% situation, we can deal with the case as well that 'lineno.sty'
+%% is loaded first, then 'fnlineno.sty' is loaded, and then 'ednotes'.
+%% (I have assumed earlier that 'fnlineno.sty' is loaded after
 %%  'lineno.sty' ...)
 \AtBeginDocument{%
     \def \getpagewiselinenumber {\getwiselinenumber\relax}% sic!
@@ -1034,7 +1034,7 @@
 %% For |\thePagewiseLineNumber|, <trans> is `\getpagewiselinenumber':
 \renewcommand* \thePagewiseLineNumber {%
     \theWiseLineNumber\getpagewiselinenumber}
-%% |\getfootnotelinenumber{<integer>}| considers <integer> 
+%% |\getfootnotelinenumber{<integer>}| considers <integer>
 %% the absolute number of a \emph{footnote} line. The <choice>
 %% therefore is `\setgetfootnotelinenumbers':
 \newcommand* \getfootnotelinenumber {%
@@ -1044,69 +1044,69 @@
 %% is called with <trans> being `\getfootnotelinenumber':
 \newcommand* \theFootnoteLineNumber {%
     \theWiseLineNumber\getfootnotelinenumber}
-%% 
+%%
 %% === Leaving the Package File ===
 \endinput
 %%
-%%  == Acknowledgements == 
+%%  == Acknowledgements ==
 %% %% 2010/12/19
-%% On the 'texhax' mailing list, Boris Veytsman recommended 
-%% using Victor \mbox{Eijk}\-hout's \textit{\TeX\ by Topic} to me, 
-%% and Andrej Lapshin pointed me to David Salomon's work 
-%% on output routines 
-%% (TUGboat 1990 and 1994, also available as a book, 
+%% On the 'texhax' mailing list, Boris Veytsman recommended
+%% using Victor \mbox{Eijk}\-hout's \textit{\TeX\ by Topic} to me,
+%% and Andrej Lapshin pointed me to David Salomon's work
+%% on output routines
+%% (TUGboat 1990 and 1994, also available as a book,
 %%  as Ulrich Dirr tells me).
-%% It helped me a lot to read about output routines 
-%% in these works, beyond the \TeX book. 
-%% The abbreviations \lq OTR\rq\ and \lq MVL\rq\ are 
+%% It helped me a lot to read about output routines
+%% in these works, beyond the \TeX book.
+%% The abbreviations \lq OTR\rq\ and \lq MVL\rq\ are
 %% Salomon's.---And %% added 2010/12/27
-%% recall Christian's work and support 
-%% by the DFG named at the start of the package file.---And 
-%% ... the ideas of how to implement 
-%% (\textit i)~attaching line numbers, 
-%% (\textit{ii})~`\linelabel', and 
-%% (\textit{iii})~numbering lines ``pagewise"---so flexibly, 
-%% compatibly with many other \LaTeX\ packages, still 
+%% recall Christian's work and support
+%% by the DFG named at the start of the package file.---And
+%% ... the ideas of how to implement
+%% (\textit i)~attaching line numbers,
+%% (\textit{ii})~`\linelabel', and
+%% (\textit{iii})~numbering lines ``pagewise"---so flexibly,
+%% compatibly with many other \LaTeX\ packages, still
 %% are Stephan's ...
-%% 
+%%
 %%  == VERSION HISTORY ==
-v0.1    2010/12/08  very first, \linelabel works in footnote 
+v0.1    2010/12/08  very first, \linelabel works in footnote
         SENT TO Christian, problems with "long" footnotes
 
 v0.2    2010/12/08  corr. "manifoot"
-        2010/12/09  moving doc. from .tex to here, 
+        2010/12/09  moving doc. from .tex to here,
                     different doc. sectioning;
-                    \@footnotetext modified (user feature!); 
+                    \@footnotetext modified (user feature!);
                     \@doclearpage NOT modified!; \if at FNLN@placing@
-        2010/12/10  ignore dummy footnote split; 
-                    \FNLNpar, \AutoPars, \ExplicitPars, 
+        2010/12/10  ignore dummy footnote split;
+                    \FNLNpar, \AutoPars, \ExplicitPars,
                     more on limitations
         2010/12/11  more trying, almost anew ...
         JUST STORED
 
 v0.3    2010/12/12  new approach, removed much before proceeding
-        2010/12/13  -- this was putting \box\footins onto MVL, 
+        2010/12/13  -- this was putting \box\footins onto MVL,
                     bad with those penalties
         JUST STORED
 
-v0.4    2010/12/14  another new approach: 
-                    typeset footnote on MVL immediately -- 
+v0.4    2010/12/14  another new approach:
+                    typeset footnote on MVL immediately --
                     described strategy
-        2010/12/15  ... continued, choice of hooking into \output 
+        2010/12/15  ... continued, choice of hooking into \output
                     (...swap...)
-        2010/12/16  ... continued; rearranged sections ... 
+        2010/12/16  ... continued; rearranged sections ...
                     \FNLN@@fntext vs. ...ltx...
-        2010/12/17  success with \pagegoal ...; \GStoreReg etc.; 
-                    ... at fntext shortened 
-        2010/12/18  another two limitations: \pagebreak in fn., 
-                    guessed/tested; another note to <register>; 
+        2010/12/17  success with \pagegoal ...; \GStoreReg etc.;
+                    ... at fntext shortened
+        2010/12/18  another two limitations: \pagebreak in fn.,
+                    guessed/tested; another note to <register>;
                     ack. Christian; directed -> organized!?
         SENT TO Christian/Stephan
 
-v0.41   2010/12/19  support of \pagebreak with \if at FNLN@sw@ etc.; 
+v0.41   2010/12/19  support of \pagebreak with \if at FNLN@sw@ etc.;
                     TODO on lists of <register>s
         2010/12/20  debugging: \if...true; \setbox...ft;
-                    \@finalstrut in vmode exported to finstrut.sty; 
+                    \@finalstrut in vmode exported to finstrut.sty;
                     notes on how v0.41 still fails with \pagebreak
         2010/12/21  additional notes on *two* \pagebreak's
 
@@ -1117,33 +1117,33 @@
         2010/12/24  ... continued ...
         2010/12/25  moved this to pwlineno, replaced ...
                     more on \FNLN at typeset, + \setfootnotelinenumbers
-        2010/12/26  new summary of implementation, 
+        2010/12/26  new summary of implementation,
                     rearranged code sections; logging settled
 v0.51   2010/12/27  "build" settled, typesetting, logging reformated;
-                    ack.s: "recall"; all settings global, 
+                    ack.s: "recall"; all settings global,
                     "public" works
-        JUST STORED, MARGINAL NUMBERS OK, 
+        JUST STORED, MARGINAL NUMBERS OK,
         \linelabel in footnote broken
-        [2010/12/28] 
-v0.52   2010/12/28  own label and vadjust lists for footnotes; 
-                    local settings for referencing, 
+        [2010/12/28]
+v0.52   2010/12/28  own label and vadjust lists for footnotes;
+                    local settings for referencing,
                     tool and care for global changes (...Cache)
                     (TODO write ready in .aux? needs another run)
         \linelabel's ok, MARGINAL NOTES MAIN BROKEN
-v0.53   2010/12/28  debugging; OK; minor doc. modifications; 
+v0.53   2010/12/28  debugging; OK; minor doc. modifications;
                     less "limitations"; \\[\smallskipamount]
         TO CHRISTIAN 2010-12-29
-v0.54   2010/12/31  typo options; \FNLN at text without arg, 
+v0.54   2010/12/31  typo options; \FNLN at text without arg,
                     \getpagewiselinenumber with ednotes
-        2011/01/01  \FNLN at cache, \FNLN@@cache initialized; 
+        2011/01/01  \FNLN at cache, \FNLN@@cache initialized;
                     doc. "Typesetting Stage" qualification
         2011/01/02  that qualification was wrong
         2011/01/03  samepage at hook
         TO CHRISTIAN SAME DAY
-v0.55   2011/01/04  samepage at hook emptied here as well; 
+v0.55   2011/01/04  samepage at hook emptied here as well;
         2011/01/06  edited version history
-        2011/01/07  note on \if at FNLN@sw@ with v0.5; 
+        2011/01/07  note on \if at FNLN@sw@ with v0.5;
                     finally without support for samepage at hook!
                     note on \testLastNumberedPage
         PART OF EDFN RELEASE r0.5 (together with edfnotes v0.2)
-v0.55a  2011/02/09  corr. owner; "Limitations" updated; \pagebreak 
+v0.55a  2011/02/09  corr. owner; "Limitations" updated; \pagebreak

Modified: trunk/Master/texmf-dist/tex/latex/lineno/lineno.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lineno/lineno.sty	2022-12-05 10:28:48 UTC (rev 65203)
+++ trunk/Master/texmf-dist/tex/latex/lineno/lineno.sty	2022-12-05 21:23:48 UTC (rev 65204)
@@ -1,55 +1,56 @@
-                                \iffalse; awk '/S[H]ELL1/' lineno.sty|sh;exit; 
-                                     ... see bottom for .tex documentation ... 
+                                \iffalse; awk '/S[H]ELL1/' lineno.sty|sh;exit;
+                                     ... see bottom for .tex documentation ...
 
-Macro file lineno.sty for LaTeX: attach line numbers, refer to them. 
-                                                                           \fi 
-\def\fileversion{v4.41} \def\filedate{2005/11/02}                     %VERSION
+Macro file lineno.sty for LaTeX: attach line numbers, refer to them.
+                                                                           \fi
+\def\fileversion{v5.0}  \def\filedate{2022/07/30}                     %VERSION
 
-%%% Copyright 1995--2003 Stephan I. B"ottcher <boettcher at physik.uni-kiel.de>; 
-%%% Copyright 2002--2005 Uwe L"uck, http://www.contact-ednotes.sty.de.vu 
-%%%                      for version 4 and code from former Ednotes bundle 
-%%%                      --author-maintained. 
-%%% 
-%%% This file can be redistributed and/or modified under 
-%%% the terms of the LaTeX Project Public License; either 
+%%% Copyright 1995--2003 Stephan I. B"ottcher <boettcher at physik.uni-kiel.de>;
+%%% Copyright 2002--2005 Uwe L"uck, http://www.contact-ednotes.sty.de.vu
+%%%                      for version 4 and code from former Ednotes bundle
+%%%                      --author-maintained.
+%%%
+%%% This file can be redistributed and/or modified under
+%%% the terms of the LaTeX Project Public License; either
 %%% version 1.3a of the License, or any later version.
 %%% The latest version of this license is in
 %%%     http://www.latex-project.org/lppl.txt
-%%% We did our best to help you, but there is NO WARRANTY. 
-% 
+%%% We did our best to help you, but there is NO WARRANTY.
+%
 %%% $Id: lineno.sty,v 3.14.2.2 2004/09/13 19:30:39 stephan Exp $ %% was v4.00.
-%                                                      \title{\texttt{\itshape 
+%                                                      \title{\texttt{\itshape
 %%                                       %% (UL 2004/10/09:) Italic TT is evil
-%%                                       %% ... or nice front page layout!? 
+%%                                       %% ... or nice front page layout!?
 %%
-%         lineno.sty \ \fileversion\ \filedate 
+%         lineno.sty \ \fileversion\ \filedate
 %                                                               \unskip}\\\ \\
-%          A \LaTeX\ package  to attach 
+%          A \LaTeX\ package  to attach
 % \\        line numbers to paragraphs
-%                                                            \unskip}\author{% 
-%              Stephan I. B\"ottcher 
-%  \\          Uwe L\"uck 
-%                                                              \unskip}\date{% 
-%            boettcher at physik.uni-kiel.de 
-%  \\        http://contact-ednotes.sty.de.vu 
+%                                                            \unskip}\author{%
+%              Stephan I. B\"ottcher
+%  \\          Uwe L\"uck
+%                                                              \unskip}\date{%
+%            boettcher at physik.uni-kiel.de
+%  \\        http://contact-ednotes.sty.de.vu
 %% \\        stephan at nevis.columbia.edu
-%% \\        Stephan.Boettcher at cern.ch                     
+%% \\        Stephan.Boettcher at cern.ch
 %                                                                          \\}
 %
 %                                      \documentclass[a4paper,12pt]{article}%D
-%                                                        \usepackage{lineno}%D 
+%                                                        \usepackage{lineno}%D
+%                                                      \usepackage{hyperref}%D
 %%                                                              %% (New v4.00)
-%                                                     \catcode`\_\active\let_~ 
-%%                                               %% Beware math!? (/New v4.00) 
-%                                                                \def~{\verb~} 
-%                                                               \let\lessthan< 
+%                                                     \catcode`\_\active\let_~
+%%                                               %% Beware math!? (/New v4.00)
+%                                                                \def~{\verb~}
+%                                                               \let\lessthan<
 %                                                           \catcode`\<\active
 %                                   \def<#1>{$\langle${\itshape#1}\/$\rangle$}
 %                                                           \catcode`\|\active
-%%                                        (New v4.1: \tt star; in box anyway.) 
+%%                                        (New v4.1: \tt star; in box anyway.)
 %                                                  \def|#1{\ttfamily\string#1}
 %%                                               \def|#1{{\ttfamily\string#1}}
-%%                                                                 (/New v4.1) 
+%%                                                                 (/New v4.1)
 %                                                        \newenvironment{code}
 %                                                     {\par\runninglinenumbers
 %                                                       \modulolinenumbers[1]%
@@ -57,13 +58,13 @@
 %                                                                \footnotesize
 %                                                          \def\linenumberfont
 %                                                  {\normalfont\tiny\itshape}}
-%                                                                           {} 
+%                                                                           {}
 %%                                                              %% (New v4.00)
 %                                           {\makeatletter \gdef\scs#1{\texttt
 %                                                {\protect\@backslashchar#1}}}
 %                                                  \def\old{\par\footnotesize}
 %%                                                             %% (/New v4.00)
-%%                                                               %% (New v4.1) 
+%%                                                               %% (New v4.1)
 %                                                          {\catcode`\/\active
 %                                     \gdef\path{\begingroup\catcode`\/\active
 %                                                          \let/\slash\dopath}
@@ -73,25 +74,25 @@
 %                                                           \begin{document}%D
 %%                                                         \DocInput{lineno}%D
 %                                                         \pagewiselinenumbers
-%                                                                   \maketitle 
+%                                                                   \maketitle
 %                                                         \pagestyle{headings}
 %                                                             \tableofcontents
 %                                                                      \sloppy
-% 
-%%                                      %% New v4.00: `...section{%' + \unskip 
+%
+%%                                      %% New v4.00: `...section{%' + \unskip
 %                                                                   \section{%
-%                    Introductions 
+%                    Introductions
 %%                                                           %% New v4.00: `s'
 %                                                                     \unskip}
-% 
-% (New v4.00)           Parts of former first section 
-% have been rendered separate subsections for package 
-% version_v4.00.                         (/New v4.00) 
-% 
-%                                                                \subsection{% 
+%
+% (New v4.00)           Parts of former first section
+% have been rendered separate subsections for package
+% version_v4.00.                         (/New v4.00)
+%
+%                                                                \subsection{%
 %               Introduction to versions $\textrm{v}\lessthan4$
-%                                                                     \unskip} 
-% 
+%                                                                     \unskip}
+%
 % This package provides line numbers on paragraphs.
 % After \TeX\ has broken a paragraph into lines there will
 % be line numbers attached to them, with the possibility to
@@ -115,8 +116,8 @@
 % precisely refer to passages in the text.  It works well
 % together with ~\marginpar~s, but not too well with displaymath.
 % ~\footnote~s are a problem, especially when they
-% are split, but we may get there. 
-% (New v4.00 UL) Version v4.00 overcomes the problem, I believe. 
+% are split, but we may get there.
+% (New v4.00 UL) Version v4.00 overcomes the problem, I believe.
 % (/UL /New v4.00)
 %
 % lineno.sty works
@@ -127,151 +128,151 @@
 % well, so I can try to fix it.
 %
 %                                                                \subsection{%
-%               Introduction to versions v4.00ff. (UL) 
+%               Introduction to versions v4.00ff. (UL)
 %                                                                     \unskip}
-% 
+%
 % ~lineno.sty~ has been maintained by Stephan until version_v3.14.
-% From version_v4.00 onwards, maintenance is shifting towards 
-% Uwe L\"uck (UL), who is the author of v4\dots code and of v4\dots 
-% changes in documentation. This came about as follows. 
-% 
-% Since late 2002, Christian Tapp and Uwe L\"uck have employed 
-% ~lineno.sty~ for their ~ednotes.sty~, a package supporting 
+% From version_v4.00 onwards, maintenance is shifting towards
+% Uwe L\"uck (UL), who is the author of v4\dots code and of v4\dots
+% changes in documentation. This came about as follows.
+%
+% Since late 2002, Christian Tapp and Uwe L\"uck have employed
+% ~lineno.sty~ for their ~ednotes.sty~, a package supporting
 % critical editions---cf.
-%                                                                  \[\mbox{\tt 
-%     http://ednotes.sty.de.vu 
+%                                                                  \[\mbox{\tt
+%     http://ednotes.sty.de.vu
 %                                                                   \unskip}\]
-% ---while you find ~ednotes.sty~ and surrounding files in 
+% ---while you find ~ednotes.sty~ and surrounding files in
 % CTAN folder \path{macros/latex/contrib/ednotes}.
-% 
-% Soon, some weaknesses of ~lineno.sty~ showed up, mainly since 
-% Christian's critical editions (using ~ednotes.sty~) needed lots 
-% of ~\linelabel~s and footnotes. (These weaknesses are due to 
-% weaknesses of \LaTeX's ~\marginpar~ mechanism that Stephan 
-% used for ~\linelabel~.) So we changed some ~lineno.sty~ 
-% definitions in some extra files, which moreover offered new 
-% features. We sent these files to Stephan, hoping he would take 
-% the changes into ~lineno.sty~. However, he was too short of time. 
-% 
-% Writing a TUGboat article on Ednotes in 2004, we hoped to 
-% reduce the number of files in the Ednotes bundle and so asked 
-% Stephan again. Now he generously offered maintenance to me, so 
-% I could execute the changes on my own. 
-% 
-% The improvements are as follows: 
-%                                                         \begin{itemize}\item 
-% [(i)]   Footnotes placement approaches intentions better 
-% (footnotes formerly liked to pile up at late pages). 
-%                                                                        \item 
-% [(ii)]  The number of ~\linelabel~s in one paragraph is no longer 
-% limited to 18. 
-%                                                                        \item 
-% [(iii)] ~\pagebreak~, ~\nopagebreak~, ~\vspace~, and the star 
-% and optional versions of ~\\~ work as one would expect 
+%
+% Soon, some weaknesses of ~lineno.sty~ showed up, mainly since
+% Christian's critical editions (using ~ednotes.sty~) needed lots
+% of ~\linelabel~s and footnotes. (These weaknesses are due to
+% weaknesses of \LaTeX's ~\marginpar~ mechanism that Stephan
+% used for ~\linelabel~.) So we changed some ~lineno.sty~
+% definitions in some extra files, which moreover offered new
+% features. We sent these files to Stephan, hoping he would take
+% the changes into ~lineno.sty~. However, he was too short of time.
+%
+% Writing a TUGboat article on Ednotes in 2004, we hoped to
+% reduce the number of files in the Ednotes bundle and so asked
+% Stephan again. Now he generously offered maintenance to me, so
+% I could execute the changes on my own.
+%
+% The improvements are as follows:
+%                                                         \begin{itemize}\item
+% [(i)]   Footnotes placement approaches intentions better
+% (footnotes formerly liked to pile up at late pages).
+%                                                                        \item
+% [(ii)]  The number of ~\linelabel~s in one paragraph is no longer
+% limited to 18.
+%                                                                        \item
+% [(iii)] ~\pagebreak~, ~\nopagebreak~, ~\vspace~, and the star
+% and optional versions of ~\\~ work as one would expect
 % (section_\ref{s:MVadj}).                                   %% Added for v4.1
-%                                                                        \item 
-% [(iv)]  A command is offered which chooses the first line number 
-% to be printed in the margin 
+%                                                                        \item
+% [(iv)]  A command is offered which chooses the first line number
+% to be printed in the margin
 % (subsection_\ref{ss:Mod}).                                 %% Added for v4.1
-%                                                                        \item 
-% [(v)]   (New v4.1) \LaTeX\ tabular environments (optionally) 
-% get line numbers as well, and you can refer to them in the 
-% usual automatic way. (It may be considered a shortcoming that, 
-% precisely, \emph{rows} are numbered, not lines.---See 
-% subsection_\ref{ss:Tab}.) 
-%                                                                        \item 
-% [(vi)]  We are moving towards referring to math items 
-% (subsection_\ref{ss:MathRef} and the hooks in 
-% subsection_\ref{ss:LL}). 
-% (/New v4.1) 
+%                                                                        \item
+% [(v)]   (New v4.1) \LaTeX\ tabular environments (optionally)
+% get line numbers as well, and you can refer to them in the
+% usual automatic way. (It may be considered a shortcoming that,
+% precisely, \emph{rows} are numbered, not lines.---See
+% subsection_\ref{ss:Tab}.)
+%                                                                        \item
+% [(vi)]  We are moving towards referring to math items
+% (subsection_\ref{ss:MathRef} and the hooks in
+% subsection_\ref{ss:LL}).
+% (/New v4.1)
 %                                                                 \end{itemize}
 % (Thanks to Stephan for making this possible!)
-% 
-%% Unpublish: 
-%% You may trace the earlier developments of these changes by 
-%% requesting our files ~linenox0.sty~, ~linenox1.sty~, and 
-%% ~lnopatch.sty~. Most of our changes have been in ~linenox0.sty~. 
-%% Our ~linenox1.sty~ has extended ~linenox0.sty~ for one single 
-%% purpose in a not very stable way. 
-%%% (See ~\linenumberpar~ below). 
-%% ~lnopatch.sty~ has done the first line number thing referred 
-%% to in case_(iv) up to now. 
-%% (New v4.1) 
-%% Case_(v) earlier was provided by our ~edtab02.sty~---now 
-%% called ~edtable.sty~. 
-%% (/New v4.1) 
-% 
-% Ednotes moreover profits from Stephan's offer with regard 
-% to the documentation of our code which yielded these 
-% improvements formerly. This documentation now becomes 
-% printable, being part of the ~lineno.sty~ documentation. 
-% 
-% Of course, Stephan's previous ~lineno.sty~ versions were a great 
-% and ingenious work and exhibit greatest \TeX pertise. I never 
-% could have done this. I learnt a lot in studying the code when 
-% Christian pointed out strange output results and error 
-% messages, and there are still large portions of ~lineno.sty~ 
-% which I don't understand (consider only pagewise numbering of 
-% lines). Fortunately, Stephan has offered future help if 
-% needed.---My code for attaching line numbers to \emph{tabular 
-% environments} (as mentioned above, now still in 
+%
+%% Unpublish:
+%% You may trace the earlier developments of these changes by
+%% requesting our files ~linenox0.sty~, ~linenox1.sty~, and
+%% ~lnopatch.sty~. Most of our changes have been in ~linenox0.sty~.
+%% Our ~linenox1.sty~ has extended ~linenox0.sty~ for one single
+%% purpose in a not very stable way.
+%%% (See ~\linenumberpar~ below).
+%% ~lnopatch.sty~ has done the first line number thing referred
+%% to in case_(iv) up to now.
+%% (New v4.1)
+%% Case_(v) earlier was provided by our ~edtab02.sty~---now
+%% called ~edtable.sty~.
+%% (/New v4.1)
+%
+% Ednotes moreover profits from Stephan's offer with regard
+% to the documentation of our code which yielded these
+% improvements formerly. This documentation now becomes
+% printable, being part of the ~lineno.sty~ documentation.
+%
+% Of course, Stephan's previous ~lineno.sty~ versions were a great
+% and ingenious work and exhibit greatest \TeX pertise. I never
+% could have done this. I learnt a lot in studying the code when
+% Christian pointed out strange output results and error
+% messages, and there are still large portions of ~lineno.sty~
+% which I don't understand (consider only pagewise numbering of
+% lines). Fortunately, Stephan has offered future help if
+% needed.---My code for attaching line numbers to \emph{tabular
+% environments} (as mentioned above, now still in
 % ~edtable.sty~) %%                                                      %% TODO
-% developed from macros which Stephan and Christian experimented 
-% with in December 2002. Stephan built the basics. 
-% (However, I then became too proud to follow his advice only to 
+% developed from macros which Stephan and Christian experimented
+% with in December 2002. Stephan built the basics.
+% (However, I then became too proud to follow his advice only to
 % use and modify ~longtable.sty~.)
-% 
-% There are some issues concerning use of counters on which I 
-% don't agree with Stephan and where I would like to change the 
-% code if ~lineno.sty~ is ``mine'' as Stephan offered. However, 
-% Stephan is afraid of compatibility problems from which, in 
-% particular, his wife could suffer in the near future. So he 
-% demanded that I change as little as possible for my first 
-% version. Instead of executing changes that I plan I just offer 
-% my opinions at the single occasions. I hope to get in touch 
-% this way with users who consider subtle features vital which I 
-% consider strange. 
-% 
-% On the other hand, the sections on improvements of the 
-% implementation have been blown up very much and may be tiring 
-% and litte understandable for mere \emph{users}. These users 
-% may profit from the present presentation just by jumping to 
-% sections_\ref{s:Opts} and_\ref{s:UserCmds}. There is a user's 
-% guide ulineno.tex which may be even more helpful, but it has 
+%
+% There are some issues concerning use of counters on which I
+% don't agree with Stephan and where I would like to change the
+% code if ~lineno.sty~ is ``mine'' as Stephan offered. However,
+% Stephan is afraid of compatibility problems from which, in
+% particular, his wife could suffer in the near future. So he
+% demanded that I change as little as possible for my first
+% version. Instead of executing changes that I plan I just offer
+% my opinions at the single occasions. I hope to get in touch
+% this way with users who consider subtle features vital which I
+% consider strange.
+%
+% On the other hand, the sections on improvements of the
+% implementation have been blown up very much and may be tiring
+% and litte understandable for mere \emph{users}. These users
+% may profit from the present presentation just by jumping to
+% sections_\ref{s:Opts} and_\ref{s:UserCmds}. There is a user's
+% guide ulineno.tex which may be even more helpful, but it has
 % not been updated for a while.                                        %% TODO
-% 
+%
 %                                                                \subsection{%
-%               Availability 
+%               Availability
 %                                                                     \unskip}
-% 
-% In case you have found the present file otherwise than from 
-% CTAN: A recent version and documentation of this package 
-% should be available from CTAN folder 
+%
+% In case you have found the present file otherwise than from
+% CTAN: A recent version and documentation of this package
+% should be available from CTAN folder
 % \path{macros/latex/contrib/lineno}.
-% Or mail to one of the addresses at top of file. 
-% 
-%                                                                \subsection{% 
+% Or mail to one of the addresses at top of file.
+%
+%                                                                \subsection{%
 %               Introductory code
 %                                                                     \unskip}
-% 
+%
 % This style option is written for \LaTeXe, November 1994 or later,
-% since we need the ~\protected at write~ macro. 
-% 
-% (New v4.00)               And we use ~\newcommand*~ for 
-% controlling length of user macro arguments, which has been 
-% available since December 1994. 
-%% 
+% since we need the ~\protected at write~ macro.
+%
+% (New v4.00)               And we use ~\newcommand*~ for
+% controlling length of user macro arguments, which has been
+% available since December 1994.
+%%
 
-\NeedsTeXFormat{LaTeX2e}[1994/12/01] 
-%%                                                                [1994/11/04] 
-\ProvidesPackage{lineno} 
-  [\filedate\space line numbers on paragraphs \fileversion] 
-% (/New v4.00) 
-%% 
-%% History of versions: 
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+%%                                                                [1994/11/04]
+\ProvidesPackage{lineno}
+  [\filedate\space line numbers on paragraphs \fileversion]
+% (/New v4.00)
+%%
+%% History of versions:
 %% v1.00 1995/03/31  SIB: first release for Petra's interview transcriptions
 %% v1.01 1995/10/28  SIB: added ~pagewise~ mode
-%% v1.02 1995/11/15  SIB: added ~modulo~ option  
+%% v1.02 1995/11/15  SIB: added ~modulo~ option
 %% v1.03 1995/12/05  SIB: pagewise: try to reduce the hash-size requirements
 %% v2.00 1995/12/06  SIB:   .. it works, new user interface
 %% v2.01 1996/09/17  SIB: put into CVS
@@ -284,8 +285,8 @@
 %% v3.02 2000/03/10  SiB: \@LN at output
 %% v3.03 2000/07/01  SiB: \@LN at ExtraLabelItems, hyperref
 %% v3.04 2000/12/17  SiB: longtable compatibility.
-%% v3.05 2001/01/02  SiB: [fleqn] detection. 
-%% v3.05a 2001/01/04 SiB: [fleqn] detection reverted for eqnarray. 
+%% v3.05 2001/01/02  SiB: [fleqn] detection.
+%% v3.05a 2001/01/04 SiB: [fleqn] detection reverted for eqnarray.
 %% v3.06 2001/01/17  SiB: [twocolumn] mode support.
 %% v3.07 2001/07/30  SiB: [hyperref] option obsoleted.
 %% v3.08 2001/08/02  SiB: linenomath wrapping for \[ \]
@@ -294,138 +295,139 @@
 %% v3.09 2003/01/14  SIB: hyperref detection fix
 %% v3.10 2003/04/15  FMi: \MakeLineNo fix for deep boxes
 %% v3.10a 2003/11/12  Uwe L\xFCck: \lineref typo fix
-%% v4.00 2004/09/02  UL:  included linenox0, linenox1, lnopatch code with 
-%%                        documentation, usually indicated by `New v4.00'; 
-%%                        discussions of old code, indicated by `UL'; 
-%%                        LPPL v.1 ->  LPPL v1.3, `program' -> `file'; 
-%%                        first lines with \filedate and \fileversion, 
-%%                        according nawk lines; `November 1994 or later', 
-%%                        some earlier documentation typos (including a few 
-%%                        bad minus signs), { -> {% and } -> \unskip} at 
-%%                        line ends (so, e.g., alignment in TOC works); \scs. 
-%%       2004/09/03  UL:  removed everything which indicated that the 
-%%                        present file were named `lineno4.sty'. 
-%% v4.1  2004/09/19  UL:  Inserted Stephan's identification line, removed 
-%%                        some TODOs and remarks from v4.00. 
-%%       2004/10/04  UL:  Added acknowledgement for Daniel Doherty; 
-%%                        `(New v4.00)' with [|\firstlinenumber]; changed 
-%%                        TODOs; Refining -> Redefining (\vadjust). 
+%% v4.00 2004/09/02  UL:  included linenox0, linenox1, lnopatch code with
+%%                        documentation, usually indicated by `New v4.00';
+%%                        discussions of old code, indicated by `UL';
+%%                        LPPL v.1 ->  LPPL v1.3, `program' -> `file';
+%%                        first lines with \filedate and \fileversion,
+%%                        according nawk lines; `November 1994 or later',
+%%                        some earlier documentation typos (including a few
+%%                        bad minus signs), { -> {% and } -> \unskip} at
+%%                        line ends (so, e.g., alignment in TOC works); \scs.
+%%       2004/09/03  UL:  removed everything which indicated that the
+%%                        present file were named `lineno4.sty'.
+%% v4.1  2004/09/19  UL:  Inserted Stephan's identification line, removed
+%%                        some TODOs and remarks from v4.00.
+%%       2004/10/04  UL:  Added acknowledgement for Daniel Doherty;
+%%                        `(New v4.00)' with [|\firstlinenumber]; changed
+%%                        TODOs; Refining -> Redefining (\vadjust).
 %%       2004/10/05  UL:  ednmath0 -> mathrefs; \catcode`\~ -> \active;
-%%                        \path; refined section on options `mathrefs'; 
-%%                        changes in introduction. 
-%%       2004/10/06  UL:  Changed/removed TODOs, e.g., for edtable.sty. 
-%%       2004/10/11  UL:  Reminders: linenox0/1/lnopatch.sty obsolete; 
+%%                        \path; refined section on options `mathrefs';
+%%                        changes in introduction.
+%%       2004/10/06  UL:  Changed/removed TODOs, e.g., for edtable.sty.
+%%       2004/10/11  UL:  Reminders: linenox0/1/lnopatch.sty obsolete;
 %%                        \tt star in list of commands.
-%%       2004/10/12  UL:  Corrected blank lines in lineno.tex. 
-%%       2004/10/19  UL:  Fixed minor typos; remark on \if at LN@edtable. 
-%% v4.1a 2004/11/07  UL:  LPPL v1.3a. 
-%% v4.1b 2004/11/13  UL:  Comment on \outputpenalty values. 
-%% v4.1c 2005/01/10  UL:  Contact via http. 
-%% v4.11 2005/02/20  UL:  Error message with \linelabel when not numbering. 
-%%       2005/03/07  UL:  Removed \linelabel from ss:Tab heading, consider 
-%%                        marginal line numbers as well, revised ss:Tab. 
-%%                        Added a few lines on missing explanations to 
-%%                        s:UserCmds. Corrected some code alignments. 
-%%       2005/03/08  UL:  Require recent edtable.sty. 
+%%       2004/10/12  UL:  Corrected blank lines in lineno.tex.
+%%       2004/10/19  UL:  Fixed minor typos; remark on \if at LN@edtable.
+%% v4.1a 2004/11/07  UL:  LPPL v1.3a.
+%% v4.1b 2004/11/13  UL:  Comment on \outputpenalty values.
+%% v4.1c 2005/01/10  UL:  Contact via http.
+%% v4.11 2005/02/20  UL:  Error message with \linelabel when not numbering.
+%%       2005/03/07  UL:  Removed \linelabel from ss:Tab heading, consider
+%%                        marginal line numbers as well, revised ss:Tab.
+%%                        Added a few lines on missing explanations to
+%%                        s:UserCmds. Corrected some code alignments.
+%%       2005/03/08  UL:  Require recent edtable.sty.
 %%
 
-%% v4.2  2005/03/21  UL:  "Physical page" counter works with \include. 
-%%       2005/04/17  UL:  Raised options section above extensions section 
-%%                        (v4.00 disabled `displaymath' option); 
-%%                        third arg for \@ifundefined{mathindent}; 
-%%                        "bunch of options"; 
-%%       2005/04/24  UL:  compatibility with tamefloats; vplref.sty. 
-%%       2005/04/25  UL:  \number -> \the; wondered -> $$; subsec. appbas; 
-%%                        CrtlLN sec -> subsec.; \newcommand* wherever ...; 
-%%                        doc. on `other output routines' and `addpageno' 
-%%                        (this changed from `varioref'). 
-%%       2005/04/27  UL:  =1\relax -> =\@ne, 0\relax ..., \hb at xt@, 
-%%                        \ifx\@@par\@@@par -> \ifLineNumbers, typos, 
-%%                        \pagestyle{headings}, LaTeX -> \LaTeX. 
-%% v4.21 2005/04/28  UL:  linenomath section: removed wrong \else's, 
-%%                        \holding...: \thr@@, \@LN at outer@holdins, \global. 
-%% v4.22 2005/05/01  UL:  \unvbox\@outputbox; \@LN at col without #1, 
-%%       2005/05/08  UL:  global/local \internall..., \resetl... global, 
-%%                        shortened discussions of this and of \newcounter. 
-%%       2005/05/09  UL:  corr.: doc. typo, version history, bad lines; 
-%%                        percent; \chardef for modulo, 
-%%                        \value{firstlinenumber}. 
-%% v4.3  2005/05/10  UL:  \@backslashchar -> \char`\\ in \scs. 
-%%       2005/05/11  UL:  \linenumbers sets ...outer at holdins; tidied up 
-%%                        documentation regarding earlier versions. 
-%%       2005/05/12  UL:  `linenomath' without spurious number above; 
-%%                        `displaymath' default; edmac homepage -> 
-%%                        ednotes.sty.de.vu, \endlinenomath without 
-%%                        numbers: no change of \holdinginserts; 
-%%                        \linelabel doesn't go to .aux or mark, 
-%%                        hyperref detected; undone 2005/05/10 (bad mark). 
-%%       2005/05/13  UL:  Reworked hyperref detection (new subsec.). 
-%%       2005/05/15  UL:  More typo fixes, corrected terrible confusions in 
-%%                        the discussion (v4.22/v4.3) of \new/\stepcounter; 
-%%                        new subsec. in `Line number ...'; another 
-%%                        implementation of `hyperref' detection. 
-%%       2005/05/16  UL:  Final minor changes. 
-%% v4.31b    /06/14  UL:  Extended explanation of \firstlinenumbers 
-%%                        and package options; \@LN at ifgreat@critical; 
+%% v4.2  2005/03/21  UL:  "Physical page" counter works with \include.
+%%       2005/04/17  UL:  Raised options section above extensions section
+%%                        (v4.00 disabled `displaymath' option);
+%%                        third arg for \@ifundefined{mathindent};
+%%                        "bunch of options";
+%%       2005/04/24  UL:  compatibility with tamefloats; vplref.sty.
+%%       2005/04/25  UL:  \number -> \the; wondered -> $$; subsec. appbas;
+%%                        CrtlLN sec -> subsec.; \newcommand* wherever ...;
+%%                        doc. on `other output routines' and `addpageno'
+%%                        (this changed from `varioref').
+%%       2005/04/27  UL:  =1\relax -> =\@ne, 0\relax ..., \hb at xt@,
+%%                        \ifx\@@par\@@@par -> \ifLineNumbers, typos,
+%%                        \pagestyle{headings}, LaTeX -> \LaTeX.
+%% v4.21 2005/04/28  UL:  linenomath section: removed wrong \else's,
+%%                        \holding...: \thr@@, \@LN at outer@holdins, \global.
+%% v4.22 2005/05/01  UL:  \unvbox\@outputbox; \@LN at col without #1,
+%%       2005/05/08  UL:  global/local \internall..., \resetl... global,
+%%                        shortened discussions of this and of \newcounter.
+%%       2005/05/09  UL:  corr.: doc. typo, version history, bad lines;
+%%                        percent; \chardef for modulo,
+%%                        \value{firstlinenumber}.
+%% v4.3  2005/05/10  UL:  \@backslashchar -> \char`\\ in \scs.
+%%       2005/05/11  UL:  \linenumbers sets ...outer at holdins; tidied up
+%%                        documentation regarding earlier versions.
+%%       2005/05/12  UL:  `linenomath' without spurious number above;
+%%                        `displaymath' default; edmac homepage ->
+%%                        ednotes.sty.de.vu, \endlinenomath without
+%%                        numbers: no change of \holdinginserts;
+%%                        \linelabel doesn't go to .aux or mark,
+%%                        hyperref detected; undone 2005/05/10 (bad mark).
+%%       2005/05/13  UL:  Reworked hyperref detection (new subsec.).
+%%       2005/05/15  UL:  More typo fixes, corrected terrible confusions in
+%%                        the discussion (v4.22/v4.3) of \new/\stepcounter;
+%%                        new subsec. in `Line number ...'; another
+%%                        implementation of `hyperref' detection.
+%%       2005/05/16  UL:  Final minor changes.
+%% v4.31b    /06/14  UL:  Extended explanation of \firstlinenumbers
+%%                        and package options; \@LN at ifgreat@critical;
 %%                        \modulolinenumbers*. Sent to Ednotes.news only.
-%% v4.31 2005/06/15  UL:  \modulolinenumbers* with \firstlinenumber{1}; 
+%% v4.31 2005/06/15  UL:  \modulolinenumbers* with \firstlinenumber{1};
 %%                        " -> ``/''; more doc. on \firstlinenumber .
-%%       2005/06/20  UL:  Typo fix. 
-%%       2005/10/01  UL:  Warning about \mod...* with pagewise mode. 
-%% v4.31a    /10/02  UL:  Minor changes of appearance of doc., e.g., 
-%%                        \[ for $$. 
+%%       2005/06/20  UL:  Typo fix.
+%%       2005/10/01  UL:  Warning about \mod...* with pagewise mode.
+%% v4.31a    /10/02  UL:  Minor changes of appearance of doc., e.g.,
+%%                        \[ for $$.
 %% v4.32b    /10/15  UL:  Support for \addvspace; removed comments that
-%%                        had been invisible already for some time; 
-%%                        made clear with which environments the 
-%%                        linenomath environment is not needed. 
-%% v4.32ab   /10/15  UL:  Observe \if at nobreak with support for \addvspace. 
-%% v4.32 2005/10/17  UL:  Just made it official and sent it to CTAN. 
-%% v4.33b    /10/23  UL:  \if at nobreak\nobreak\fi -> \nobreak . 
-%% v4.33ab   /10/24  UL:  \LineNoLaTeXOutput without \@tempswafalse; 
-%%                        undid v4.22: \[unv]box\@outputbox (space is OK, 
-%%                        \unvbox pushes short columns down); \@LN at kern@z@ . 
-%% v4.4b 2005/10/24  UL:  Another tidying-up of the discussion of 
-%%                        \stepcounter{linenumber}; \@LN at screenoff@pen 
-%%                        replaces \@LN at kern@z@, \@LN at depthbox . 
-%% v4.4  2005/10/27  UL:  Just made official for CTAN. 
-%% v4.4a 2005/10/29  UL:  Undid change of discussion of 
-%%                        \stepcounter{linenumber} (confusion again). 
-%% v4.41 2005/11/02  UL:  Raised \CheckCommand*. 
-%% 
+%%                        had been invisible already for some time;
+%%                        made clear with which environments the
+%%                        linenomath environment is not needed.
+%% v4.32ab   /10/15  UL:  Observe \if at nobreak with support for \addvspace.
+%% v4.32 2005/10/17  UL:  Just made it official and sent it to CTAN.
+%% v4.33b    /10/23  UL:  \if at nobreak\nobreak\fi -> \nobreak .
+%% v4.33ab   /10/24  UL:  \LineNoLaTeXOutput without \@tempswafalse;
+%%                        undid v4.22: \[unv]box\@outputbox (space is OK,
+%%                        \unvbox pushes short columns down); \@LN at kern@z@ .
+%% v4.4b 2005/10/24  UL:  Another tidying-up of the discussion of
+%%                        \stepcounter{linenumber}; \@LN at screenoff@pen
+%%                        replaces \@LN at kern@z@, \@LN at depthbox .
+%% v4.4  2005/10/27  UL:  Just made official for CTAN.
+%% v4.4a 2005/10/29  UL:  Undid change of discussion of
+%%                        \stepcounter{linenumber} (confusion again).
+%% v4.41 2005/11/02  UL:  Raised \CheckCommand*.
+%% v5.0  2022/07/30  KW:  Merge in `linenoamsmath' patches
+%%
 %% Acknowledgements:
 %% v3.06:  Donald Arseneau, pointed to mparhack.sty.
 %% v3.07+: Frank Mittelbach, points out inconsistencies in the
 %%         user interface.
 %% v3.10:  Frank Mittelbach \MakeLineNo fix for deep boxes
-%% v4.00:  Daniel Doherty points out clash of \pagewise... with resetting 
-%%         page number. 
-%% v4.21:  Much testing work by Erik Luijten. 
-%% v4.3:   `displaymath' default by Erik Luijten's suggestion. 
-%% v4.31:  \modulolinenumbers* is an idea of Hillel Chayim Yisraeli's. 
-%% v4.32:  Support for \addvspace due to Saravanan M.'s observation. 
-%% v4.33:  Different support for \addvspace due to bug reports by 
-%%         Saravanan M.'s and David Josef Dev. 
-%% v4.4:   David Josef Dev points out that \kern\z@ after a paragraph 
-%%         tends to place its final baseline wrongly. 
+%% v4.00:  Daniel Doherty points out clash of \pagewise... with resetting
+%%         page number.
+%% v4.21:  Much testing work by Erik Luijten.
+%% v4.3:   `displaymath' default by Erik Luijten's suggestion.
+%% v4.31:  \modulolinenumbers* is an idea of Hillel Chayim Yisraeli's.
+%% v4.32:  Support for \addvspace due to Saravanan M.'s observation.
+%% v4.33:  Different support for \addvspace due to bug reports by
+%%         Saravanan M.'s and David Josef Dev.
+%% v4.4:   David Josef Dev points out that \kern\z@ after a paragraph
+%%         tends to place its final baseline wrongly.
 %
 %
 %                                                                   \section{%
 %               Put the line numbers to the lines
 %                                                                     \unskip}
-% 
-% (New v4.00)                    This section contained the most 
-% basic package code previously. For various purposes of 
-% version_4\dots, much of these basics have been to be modified. 
-% Much of my (UL's) reasoning on these modifications has been to 
-% be reported. Sorry, the present section has been blown up 
-% awfully thus and contains ramifications that may be difficult 
-% to trace. We add some ~\subsection~ commands in order to cope 
-% with the new situation. (/New v4.00) 
-% 
-%                                                                \subsection{% 
+%
+% (New v4.00)                    This section contained the most
+% basic package code previously. For various purposes of
+% version_4\dots, much of these basics have been to be modified.
+% Much of my (UL's) reasoning on these modifications has been to
+% be reported. Sorry, the present section has been blown up
+% awfully thus and contains ramifications that may be difficult
+% to trace. We add some ~\subsection~ commands in order to cope
+% with the new situation. (/New v4.00)
+%
+%                                                                \subsection{%
 %               Basic code of \texttt{lineno.sty} \scs{output}
-%                                                    \unskip}\label{ss:output} 
-% 
+%                                                    \unskip}\label{ss:output}
+%
 % The line numbers have to be attached by the output
 % routine.  We simply set the ~\interlinepenalty~ to $-100000$.
 % The output routine will be called after each line in the
@@ -433,33 +435,33 @@
 % The ~\linenopenalty~ is small enough to compensate a bunch of
 % penalties (e.g., with ~\samepage~).
 %
-% (New v3.04)            Longtable uses 
-% ~\penalty~$-30000$.  The lineno penalty range was 
+% (New v3.04)            Longtable uses
+% ~\penalty~$-30000$.  The lineno penalty range was
 % shrunk to $-188000 \dots -32000$.  (/New v3.04)
-% (New v4.00) New values are listed below (11111f.). (/New v4.00) 
+% (New v4.00) New values are listed below (11111f.). (/New v4.00)
 
 \newcount\linenopenalty\linenopenalty=-100000
 
-%% TODO v4.4+: 
-% (UL)                              Hm. It is never needed below 
-% that this is a counter. ~\def\linenopenalty{-100000\relax}~ 
-% would do. (I guess this consumes more memory, but it 
-% is more important to save counters than to save memory.) 
-% I was frightened by ~-\linenopenalty~ below, but indeed 
-% \TeX\ interprets the string ~--100000~ as 100000. 
-% Has any user or extension package writer ever called 
-% ~\linenopenalty=xxx~, or could I really change this?---The 
-% counter is somewhat faster than the macro. Together with the 
-% compatibility question this seems to support keeping the 
-% counter. (???) 
-%% Note that Stephan chose ~\mathchardef~ below, 
-%% so his choice above seems to have been deliberate. 
-%% <- no point, \mathchardef token is fast. 
-% (/UL) 
+%% TODO v4.4+:
+% (UL)                              Hm. It is never needed below
+% that this is a counter. ~\def\linenopenalty{-100000\relax}~
+% would do. (I guess this consumes more memory, but it
+% is more important to save counters than to save memory.)
+% I was frightened by ~-\linenopenalty~ below, but indeed
+% \TeX\ interprets the string ~--100000~ as 100000.
+% Has any user or extension package writer ever called
+% ~\linenopenalty=xxx~, or could I really change this?---The
+% counter is somewhat faster than the macro. Together with the
+% compatibility question this seems to support keeping the
+% counter. (???)
+%% Note that Stephan chose ~\mathchardef~ below,
+%% so his choice above seems to have been deliberate.
+%% <- no point, \mathchardef token is fast.
+% (/UL)
 
 \mathchardef\linenopenaltypar=32000
 
-% So let's make a hook to ~\output~,  the direct way. The \LaTeX\ 
+% So let's make a hook to ~\output~,  the direct way. The \LaTeX\
 % macro ~\@reinserts~ puts the footnotes back on the page.
 %
 % (New v3.01)                ~\@reinserts~ badly
@@ -469,7 +471,7 @@
 % part. Thus, since lineno.sty does not play well
 % with ~\inserts~ anyway, we can safely experiment
 % with ~\holdinginserts~, without making things
-% much worse.    
+% much worse.
 %
 % Or that's what I thought, but:  Just activating
 % ~\holdinginserts~ while doing the ~\par~ will
@@ -484,9 +486,9 @@
 % restart ~\output~.
 %
 % Then, again, how do we keep the remaining
-% ~\inserts~ while doing further line numbers? 
+% ~\inserts~ while doing further line numbers?
 %
-% If we find ~\holdinginserts~=$-3$ we activate it again 
+% If we find ~\holdinginserts~=$-3$ we activate it again
 % after doing ~\output~.             (/New v3.01)
 %
 % (New v3.02)                    To work with
@@ -494,51 +496,51 @@
 % called indirectly, instead of being replaced.
 % When multicol.sty changes ~\output~, it is a
 % toks register, not the real thing. (/New v3.02)
-% 
-% (New v4.00)               Two further complications are added. 
+%
+% (New v4.00)               Two further complications are added.
 %%
-%% TODO v4.3+: Or three, ~\@nobreakfalse~ after ~\MakeLineNo~ 
-%% for getting rid of ~\@LN at nopagebreak~. 
+%% TODO v4.3+: Or three, ~\@nobreakfalse~ after ~\MakeLineNo~
+%% for getting rid of ~\@LN at nopagebreak~.
 %                                                         \begin{itemize}\item
-% [(i)]  Problems with footnotes formerly resulted from 
-% \LaTeX's ~\@reinserts~ in ~\@specialoutput~ which Stephan's 
-% ~\linelabel~ called via the ~\marginpar~ mechanism. 
+% [(i)]  Problems with footnotes formerly resulted from
+% \LaTeX's ~\@reinserts~ in ~\@specialoutput~ which Stephan's
+% ~\linelabel~ called via the ~\marginpar~ mechanism.
 %                                                                        \item
-% [(ii)] \LaTeX\ commands using ~\vadjust~ formerly didn't work 
-% as one would have hoped. The problem is as follows: 
-% Printing the line number results from 
-% a box that the output routine inserts at the place of the 
-% ~\interlinepenalty~. ~\vadjust~ items appear \emph{above} the 
-% ~\interlinepenalty~ (\TeX book p._105). So ~\pagebreak~, e.g., 
-% formerly sent the line number to the next page, while the 
-% penalty from ~\nopagebreak~ could not tie the following line, 
-% since it was screened off by the line number box.---Our trick 
-% is putting the ~\vadjust~ items into a list macro from which 
-% the output routine transfers them into the vertical list, 
-% below the line number box. 
+% [(ii)] \LaTeX\ commands using ~\vadjust~ formerly didn't work
+% as one would have hoped. The problem is as follows:
+% Printing the line number results from
+% a box that the output routine inserts at the place of the
+% ~\interlinepenalty~. ~\vadjust~ items appear \emph{above} the
+% ~\interlinepenalty~ (\TeX book p._105). So ~\pagebreak~, e.g.,
+% formerly sent the line number to the next page, while the
+% penalty from ~\nopagebreak~ could not tie the following line,
+% since it was screened off by the line number box.---Our trick
+% is putting the ~\vadjust~ items into a list macro from which
+% the output routine transfers them into the vertical list,
+% below the line number box.
 %                                                                \end{itemize}
-% In this case_(ii), like in case_(i), footnotes would suffer 
-% if ~\holdinginserts~ were non-positive. Indeed, in both 
-% cases_(i) and_(ii) we tackle the footnote problem by extending 
-% that part of Stephan's output routine that is active when 
-% ~\holdinginserts~ is positive. This extension writes the line 
-% number ~\newlabel~ to the .aux file (which was formerly done 
-% under $~\holdinginserts~=-3$) and handles the ~\vadjust~ 
-% items.---To trigger ~\output~ and its ~\linelabel~ or, resp., 
-% ~\vadjust~ part, the list of signal penalties started 
-% immediately before is increased here (first for ~\linelabel~, 
-% second for postponed ~\vadjust~ items): 
+% In this case_(ii), like in case_(i), footnotes would suffer
+% if ~\holdinginserts~ were non-positive. Indeed, in both
+% cases_(i) and_(ii) we tackle the footnote problem by extending
+% that part of Stephan's output routine that is active when
+% ~\holdinginserts~ is positive. This extension writes the line
+% number ~\newlabel~ to the .aux file (which was formerly done
+% under $~\holdinginserts~=-3$) and handles the ~\vadjust~
+% items.---To trigger ~\output~ and its ~\linelabel~ or, resp.,
+% ~\vadjust~ part, the list of signal penalties started
+% immediately before is increased here (first for ~\linelabel~,
+% second for postponed ~\vadjust~ items):
 
-\mathchardef\@Mllbcodepen=11111 
-\mathchardef\@Mppvacodepen=11112 
+\mathchardef\@Mllbcodepen=11111
+\mathchardef\@Mppvacodepen=11112
 
-% (/New v4.00) (New v4.2) David Kastrup urges to use a private 
-% name instead of ~\the\output~ (LaTeX-L-list). Otherwise an 
-% ~\output~ routine loaded later and using ~\newtoks\output~ 
-% again may get lost entirely. So we change use of ~\@LN at output~, 
-% using it for the former purpose. Reference to what appeared 
-% with the name of ~\output~ here lasts for a few lines and then 
-% is given away. 
+% (/New v4.00) (New v4.2) David Kastrup urges to use a private
+% name instead of ~\the\output~ (LaTeX-L-list). Otherwise an
+% ~\output~ routine loaded later and using ~\newtoks\output~
+% again may get lost entirely. So we change use of ~\@LN at output~,
+% using it for the former purpose. Reference to what appeared
+% with the name of ~\output~ here lasts for a few lines and then
+% is given away.
 
 \let\@tempa\output
 \newtoks\output
@@ -551,63 +553,63 @@
 % (/New 4.2)
             \LineNoTest
             \if at tempswa
-%% 
-%% (UL) Learnt that even in def.s blank line means ~\par~. 
+%%
+%% (UL) Learnt that even in def.s blank line means ~\par~.
 %% to leave visual space in present file with having a
-%% blank line neither in present nor in .tex file, 
-%% use double comment mark (`%%'). (/UL) 
-%% 
+%% blank line neither in present nor in .tex file,
+%% use double comment mark (`%%'). (/UL)
+%%
 % (New v4.00)
-% We insert recognition of waiting ~\linelabel~ items--- 
-%% 
-              \ifnum\outputpenalty=-\@Mllbcodepen 
-                \WriteLineNo 
+% We insert recognition of waiting ~\linelabel~ items---
 %%
-% ---and of waiting ~\vadjust~ items: 
-%% 
-              \else 
-                \ifnum\outputpenalty=-\@Mppvacodepen 
-                  \PassVadjustList 
-                \else 
-%% 
-%% Now we give control back to Stephan. 
-% (/New v4.00) (New v4.2) Outsource ``Standard'' output 
-% ---which occurs so rarely---to subsection_\ref{ss:LLO}: 
-%% 
-                  \LineNoLaTeXOutput 
-% (/New v4.2) (New v4.00) 
-% Two new ~\fi~s for the ~\linelabel~ and ~\vadjust~ tests--- 
-%% 
-                \fi 
-              \fi 
+              \ifnum\outputpenalty=-\@Mllbcodepen
+                \WriteLineNo
 %%
-% ---and the remaining is 
-%%%next three lines are 
-% Stephan's code again: 
-% (/New v4.00) 
+% ---and of waiting ~\vadjust~ items:
 %%
-            \else  
+              \else
+                \ifnum\outputpenalty=-\@Mppvacodepen
+                  \PassVadjustList
+                \else
+%%
+%% Now we give control back to Stephan.
+% (/New v4.00) (New v4.2) Outsource ``Standard'' output
+% ---which occurs so rarely---to subsection_\ref{ss:LLO}:
+%%
+                  \LineNoLaTeXOutput
+% (/New v4.2) (New v4.00)
+% Two new ~\fi~s for the ~\linelabel~ and ~\vadjust~ tests---
+%%
+                \fi
+              \fi
+%%
+% ---and the remaining is
+%%%next three lines are
+% Stephan's code again:
+% (/New v4.00)
+%%
+            \else
               \MakeLineNo
             \fi
             }
- 
-% (New v4.00)                                  Our new macros 
-% ~\WriteLineNo~ and ~\PassVadjustList~ will be dealt with in 
-% sections_\ref{s:LNref} and_\ref{ss:PVadj}. (/New v4.00) 
-% 
+
+% (New v4.00)                                  Our new macros
+% ~\WriteLineNo~ and ~\PassVadjustList~ will be dealt with in
+% sections_\ref{s:LNref} and_\ref{ss:PVadj}. (/New v4.00)
+%
 %                                                                \subsection{%
 %               \scs{LineNoTest}
-%                                                                     \unskip} 
-% 
+%                                                                     \unskip}
+%
 % The float mechanism inserts ~\interlinepenalty~s during
 % ~\output~.  So carefully reset it before going on.  Else
 % we get doubled line numbers on every float placed in
-% horizontal mode, e.g, from ~\linelabel~.  
+% horizontal mode, e.g, from ~\linelabel~.
 %
 % Sorry, neither a ~\linelabel~ nor a ~\marginpar~ should
 % insert a penalty, else the following linenumber
 % could go to the next page. Nor should any other
-% float.  So let us suppress the ~\interlinepenalty~ 
+% float.  So let us suppress the ~\interlinepenalty~
 % altogether with the ~\@nobreak~ switch.
 %
 % Since (ltspace.dtx, v1.2p)[1996/07/26], the ~\@nobreaktrue~ does
@@ -629,306 +631,306 @@
 
 \def\@LN at nobreaktrue{\let\if at nobreak\iftrue} % renamed v4.33
 
-% (UL)                                      I thought here were 
-% another case of the save stack problem explained in \TeX book, 
-% p._301, namely through both local and global changing 
-% ~\if at nobreak~. However, ~\@LN at nobreak~ is called during 
-% ~\@LN at output~ only, while ~\@nobreaktrue~ is called by \LaTeX's 
-% ~\@startsection~ only. The latter never happens during 
-% ~\@LN at output~. So there is no local value of ~\if at nobreak~ on 
-% save stack when ~\@nobreaktrue~ acts, since ~\the\@LN at output~ 
-% (where ~\@LN at output~ is a new name for the original ~\output~) 
+% (UL)                                      I thought here were
+% another case of the save stack problem explained in \TeX book,
+% p._301, namely through both local and global changing
+% ~\if at nobreak~. However, ~\@LN at nobreak~ is called during
+% ~\@LN at output~ only, while ~\@nobreaktrue~ is called by \LaTeX's
+% ~\@startsection~ only. The latter never happens during
+% ~\@LN at output~. So there is no local value of ~\if at nobreak~ on
+% save stack when ~\@nobreaktrue~ acts, since ~\the\@LN at output~
+% (where ~\@LN at output~ is a new name for the original ~\output~)
 % is executed within a group (\TeX book p._21).
 %%
 %%           2004/09/19 Removed nonsense here according to Stephan 2004/09/04.
-%% 
-% (/UL) 
+%%
+% (/UL)
 %
 %                                                                \subsection{%
 %               Other output routines (v4.2)
-%                                                       \unskip}\label{ss:LLO} 
-% 
-% I had thought of dealing with bad interference of footnotes 
-% (and ~\enlargethispage~) with (real) ~\marginpar~s and floats 
-% \emph{here}. Yet this is done in 
+%                                                       \unskip}\label{ss:LLO}
+%
+% I had thought of dealing with bad interference of footnotes
+% (and ~\enlargethispage~) with (real) ~\marginpar~s and floats
+% \emph{here}. Yet this is done in
 %                                                                           \[
 %     ~http://~\mbox{[CTAN]}
 %           ~/macros/latex/contrib/tamefloats/tameflts.sty~
 %                                                                           \]
-% now, and I prefer striving for compatibility with the latter. 
+% now, and I prefer striving for compatibility with the latter.
 % (See there for expanding on the problem.)
-% This requires returning the special absolute value of 
-% ~\holdinginserts~ that ~lineno.sty~ finds at the end of a newly 
+% This requires returning the special absolute value of
+% ~\holdinginserts~ that ~lineno.sty~ finds at the end of a newly
 % typeset paragraph---now done in subsection_\ref{ss:calls}
-% (~\linenumberpar~). 
-% The former ~\LineNoHoldInsertsTest~ has been filled into here. 
-%% ---`3' is replaced by ~\thr@@~ for a while. ~\thr@@~ is 
-%% useful practice since plain \TeX, but Stephan may have been 
-%% wise in suspecting that \LaTeX\ once could forsake ~\thr@@~. 
-%% The same holds for ~\@M=10000~. 
-% Note: when the following code is invoked, we have 
-% ~\if at tempswa~_ =_~\iftrue~. 
-% WARNING: I am still not sure whether the present code is good 
-% for cooperating with other packages that use ~\holdinginserts~. 
+% (~\linenumberpar~).
+% The former ~\LineNoHoldInsertsTest~ has been filled into here.
+%% ---`3' is replaced by ~\thr@@~ for a while. ~\thr@@~ is
+%% useful practice since plain \TeX, but Stephan may have been
+%% wise in suspecting that \LaTeX\ once could forsake ~\thr@@~.
+%% The same holds for ~\@M=10000~.
+% Note: when the following code is invoked, we have
+% ~\if at tempswa~_ =_~\iftrue~.
+% WARNING: I am still not sure whether the present code is good
+% for cooperating with other packages that use ~\holdinginserts~.
 
-\def\LineNoLaTeXOutput{% 
+\def\LineNoLaTeXOutput{%
   \ifnum \holdinginserts=\thr@@   % v4.33 without \@tempswafalse
-    \global\holdinginserts-\thr@@ 
-    \unvbox\@cclv 
-    \ifnum \outputpenalty=\@M \else \penalty\outputpenalty \fi 
+    \global\holdinginserts-\thr@@
+    \unvbox\@cclv
+    \ifnum \outputpenalty=\@M \else \penalty\outputpenalty \fi
   \else
     \if at twocolumn \let\@makecol\@LN at makecol \fi
-    \the\@LN at output % finally following David Kastrup's advice. 
-    \ifnum \holdinginserts=-\thr@@ 
-      \global\holdinginserts\thr@@ \fi 
+    \the\@LN at output % finally following David Kastrup's advice.
+    \ifnum \holdinginserts=-\thr@@
+      \global\holdinginserts\thr@@ \fi
   \fi
 }
 
-% \textit{More on dealing with output routines from other 
-%         packages:} 
-% Since ~lineno.sty~'s output routine is called at least once 
-% for each output line, I think it should be in \TeX's 
-% original ~\output~, while output routines dealing with 
-% building pages and with floats etc.\ should be filled into 
-% registers addressed by ~\output~ after ~\newtoks\output~. 
+% \textit{More on dealing with output routines from other
+%         packages:}
+% Since ~lineno.sty~'s output routine is called at least once
+% for each output line, I think it should be in \TeX's
+% original ~\output~, while output routines dealing with
+% building pages and with floats etc.\ should be filled into
+% registers addressed by ~\output~ after ~\newtoks\output~.
 % Therefore                                                  \begin{enumerate}
-%                                                                        \item 
-%   ~tameflts.sty~ should be loaded \emph{after} ~lineno.sty~; 
-%                                                                        \item 
-%   if a class changes ~\output~ (APS journal class revtex4, 
-%   e.g.), ~lineno.sty~ should be loaded by ~\RequirePackage~ 
-%   [here presumably following some options in 
-%   brackets]~{lineno}~ \emph{preceding} ~\documentclass~. 
-%                                                                        \item 
-%   If you actually maintain such a class, please consider 
-%   loading ~lineno.sty~ on some draft option. The bunch of 
-%   lineno's package options may be a problem, but perhaps the 
-%   purpose of your class is offering only very few of lineno's 
-%   options anyway, maybe just one. 
-%                                                              \end{enumerate} 
-% The latter may also be needed with classes that don't follow 
-% David Kastrup's rule on changing ~\output~. 
-% 
+%                                                                        \item
+%   ~tameflts.sty~ should be loaded \emph{after} ~lineno.sty~;
+%                                                                        \item
+%   if a class changes ~\output~ (APS journal class revtex4,
+%   e.g.), ~lineno.sty~ should be loaded by ~\RequirePackage~
+%   [here presumably following some options in
+%   brackets]~{lineno}~ \emph{preceding} ~\documentclass~.
+%                                                                        \item
+%   If you actually maintain such a class, please consider
+%   loading ~lineno.sty~ on some draft option. The bunch of
+%   lineno's package options may be a problem, but perhaps the
+%   purpose of your class is offering only very few of lineno's
+%   options anyway, maybe just one.
+%                                                              \end{enumerate}
+% The latter may also be needed with classes that don't follow
+% David Kastrup's rule on changing ~\output~.
+%
 %                                                                \subsection{%
-%               \scs{MakeLineNo}: Actually attach line number 
-%                                                       \unskip}\label{ss:MLN} 
-% 
+%               \scs{MakeLineNo}: Actually attach line number
+%                                                       \unskip}\label{ss:MLN}
+%
 % We have to return all the page to the current page, and
 % add a box with the line number, without adding
 % breakpoints, glue or space.  The depth of our line number
 % should be equal to the previous depth of the page, in
 % case the page breaks here,  and the box has to be moved up
-% by that depth.  
+% by that depth.
 %
 % The ~\interlinepenalty~ comes after the ~\vadjust~ from a
 % ~\linelabel~,  so we increment the line number \emph{after}
 % printing it. The macro ~\makeLineNumber~ produces the
 % text of the line number, see section \ref{appearance}.
-% 
-% (UL)                        I needed a while to understand 
-% the sentence on incrementing. Correctly: writing the 
-% ~\newlabel~ to the .aux file is triggered by the signal 
-% penalty that ~\end at float~ inserts via ~\vadjust~. 
-% However, this could be changed by our new ~\PostponeVadjust~. 
-% After ~\c at linenumber~ has been introduced as a \LaTeX\ 
-% counter, it might be preferable that it behaved like standard 
-% \LaTeX\ counters which are incremented shortly before printing. 
-% But this may be of little practical relevance in this case, 
-% as ~\c at linenumber~ is driven in a very non-standard 
-% way.---However still, this behaviour of ~\c at linenumber~ 
-% generates a problem with our ~edtable.sty~. 
-%% \unskip---Before, 
-%% I thought that Stephan had reported his reasoning incorrectly 
-%% and rather did this because of his ~\resetlinenumber~ which 
-%% initializes ~\c at linenumber~ to 1 instead of 0---the latter is 
-%% usual with \LaTeX\ counters. Cf._additional comment at 
-%% ~\resetlinenumber~. 
-% (/UL). 
 %
+% (UL)                        I needed a while to understand
+% the sentence on incrementing. Correctly: writing the
+% ~\newlabel~ to the .aux file is triggered by the signal
+% penalty that ~\end at float~ inserts via ~\vadjust~.
+% However, this could be changed by our new ~\PostponeVadjust~.
+% After ~\c at linenumber~ has been introduced as a \LaTeX\
+% counter, it might be preferable that it behaved like standard
+% \LaTeX\ counters which are incremented shortly before printing.
+% But this may be of little practical relevance in this case,
+% as ~\c at linenumber~ is driven in a very non-standard
+% way.---However still, this behaviour of ~\c at linenumber~
+% generates a problem with our ~edtable.sty~.
+%% \unskip---Before,
+%% I thought that Stephan had reported his reasoning incorrectly
+%% and rather did this because of his ~\resetlinenumber~ which
+%% initializes ~\c at linenumber~ to 1 instead of 0---the latter is
+%% usual with \LaTeX\ counters. Cf._additional comment at
+%% ~\resetlinenumber~.
+% (/UL).
+%
 % Finally we put in the natural ~\interlinepenalty~, except
-% after the last line. 
+% after the last line.
 %
-% (New v3.10) Frank Mittelbach points out that box255 may be 
-% less deep than the last box inside, so he proposes to 
+% (New v3.10) Frank Mittelbach points out that box255 may be
+% less deep than the last box inside, so he proposes to
 % measure the page depth with ~\boxmaxdepth=\maxdimen~.
 % (/New v3.10)
-% 
-% (UL, New v4.00)               We also resume the matter of 
-% ~\vadjust~ items that was started in section_\ref{ss:output}. 
-% 
-% \TeX\ puts only nonzero interline 
-% penalties into the vertical list (\TeX book p._105), while 
-% ~lineno.sty~ formerly replaced the signal interline penalty by 
-% something closing with an explicit penalty of the value that 
-% the interline penalty would have without ~lineno.sty~. 
-% This is usually 0. Now, explicit vertical penalties can be 
-% very nasty with respect to ~\nopagebreak~, e.g., a low (even 
-% positive) ~\widowpenalty~ may force a widow where you 
-% explicitly tried to forbid it by ~\nopagebreak~ 
-% (see explanation soon below). 
-% The ~\nopagebreak~ we create here would never work if all 
-% those zero penalties were present.---On 
-% the other hand, we cannot just omit Stephan's zero penalties, 
-% because \TeX\ puts a penalty of 10000 after what ~lineno.sty~ 
-% inserts (\TeX book p._125). This penalty must be overridden 
-% to allow page breaks between ordinary lines. To revive 
-% ~\nopagebreak~, we therefore replace those zero (or low) 
-% penalties by penalties that the user demanded by 
-% ~\nopagebreak~.---This mechanism is not perfect and does not 
-% exactly restore the original \LaTeX\ working of ~\pagebreak~ 
-% and ~\nopagebreak~. Viz., if there are several vertical 
-% penalties after a line which were produced by closely sitting 
-% ~\[no]pagebreak~s, without ~lineno.sty~ the lowest penalty would 
-% be effective (cf._\TeX book exercise_14.10). Our mechanism, by 
-% contrast, chooses the \emph{last} user-set penalty of the line 
-% as the effective one. It would not be very difficult to come 
-% more close to the original mechanism, but until someone urges 
-% us we will cling to the present simple way. You may consider an 
-% advantage of the difference between our mechanism and the 
-% original one that the user here can actually override low 
-% penalties by ~\nopagebreak~, which may be what a lay \LaTeX\ 
-% user would expect. 
-%% ---Zero glue would do instead of zero 
-%% penalty! This could make things easier. Maybe next time. 
-%% <- v4.4: No, problem with column depth. 
-% (/UL, /New v4.00) 
+%
+% (UL, New v4.00)               We also resume the matter of
+% ~\vadjust~ items that was started in section_\ref{ss:output}.
+%
+% \TeX\ puts only nonzero interline
+% penalties into the vertical list (\TeX book p._105), while
+% ~lineno.sty~ formerly replaced the signal interline penalty by
+% something closing with an explicit penalty of the value that
+% the interline penalty would have without ~lineno.sty~.
+% This is usually 0. Now, explicit vertical penalties can be
+% very nasty with respect to ~\nopagebreak~, e.g., a low (even
+% positive) ~\widowpenalty~ may force a widow where you
+% explicitly tried to forbid it by ~\nopagebreak~
+% (see explanation soon below).
+% The ~\nopagebreak~ we create here would never work if all
+% those zero penalties were present.---On
+% the other hand, we cannot just omit Stephan's zero penalties,
+% because \TeX\ puts a penalty of 10000 after what ~lineno.sty~
+% inserts (\TeX book p._125). This penalty must be overridden
+% to allow page breaks between ordinary lines. To revive
+% ~\nopagebreak~, we therefore replace those zero (or low)
+% penalties by penalties that the user demanded by
+% ~\nopagebreak~.---This mechanism is not perfect and does not
+% exactly restore the original \LaTeX\ working of ~\pagebreak~
+% and ~\nopagebreak~. Viz., if there are several vertical
+% penalties after a line which were produced by closely sitting
+% ~\[no]pagebreak~s, without ~lineno.sty~ the lowest penalty would
+% be effective (cf._\TeX book exercise_14.10). Our mechanism, by
+% contrast, chooses the \emph{last} user-set penalty of the line
+% as the effective one. It would not be very difficult to come
+% more close to the original mechanism, but until someone urges
+% us we will cling to the present simple way. You may consider an
+% advantage of the difference between our mechanism and the
+% original one that the user here can actually override low
+% penalties by ~\nopagebreak~, which may be what a lay \LaTeX\
+% user would expect.
+%% ---Zero glue would do instead of zero
+%% penalty! This could make things easier. Maybe next time.
+%% <- v4.4: No, problem with column depth.
+% (/UL, /New v4.00)
 
 \def\MakeLineNo{%
-   \@LN at maybe@normalLineNumber                        % v4.31 
+   \@LN at maybe@normalLineNumber                        % v4.31
    \boxmaxdepth\maxdimen\setbox\z@\vbox{\unvbox\@cclv}%
    \@tempdima\dp\z@ \unvbox\z@
    \sbox\@tempboxa{\hb at xt@\z@{\makeLineNumber}}%
-%% 
-% (New v4.00) Previously, 
+%%
+% (New v4.00) Previously,
 %                                                  \begin{old}\begin{verbatim}
 % %    \stepcounter{linenumber}%
 % \end{verbatim}
 %                                                                    \end{old}
 %%                                         %% TODO: Still first `\begin{old}'?
-% followed. (Of course, there was no 
-% comment mark; I put it there to make 
-% reading the actual code easy.) 
-% 
-% (New v4.22: improved) Why not just 
+% followed. (Of course, there was no
+% comment mark; I put it there to make
+% reading the actual code easy.)
+%
+% (New v4.22: improved) Why not just
 %   \[~\global\advance\c at linenumber\@ne~?\]
-% ~\stepcounter~ additionally resets ``subordinate'' 
-% counters, but which could these (usefully) be? 
-% Again, may be column counters with ~edtable.sty~!? 
-% 
-% But then, our ~edtable.sty~ and its ~longtable~ option 
-% should use it as well. So use a shorthand supporting 
-% uniformity. You can even use it as a hook for choosing 
-% ~\global\advance\c at linenumber\@ne~ instead of our choice. 
-% (/New v4.22) 
-%% 
+% ~\stepcounter~ additionally resets ``subordinate''
+% counters, but which could these (usefully) be?
+% Again, may be column counters with ~edtable.sty~!?
+%
+% But then, our ~edtable.sty~ and its ~longtable~ option
+% should use it as well. So use a shorthand supporting
+% uniformity. You can even use it as a hook for choosing
+% ~\global\advance\c at linenumber\@ne~ instead of our choice.
+% (/New v4.22)
+%%
    \stepLineNumber
-%% 
-%  (New v4.4)   Now 
-%% 
-   \ht\@tempboxa\z@ \@LN at depthbox 
-%% 
-% appends the box containing the line number without changing 
-% ~\prevdepth~---see end of section. 
-% Now is the time for inserting the $\dots$ (/New v4.4) 
-%% The line number has now been placed (it may be invisible 
-%% depending on the modulo feature), so 
-%% we can insert the 
-% ~\vadjust~ items. We cannot do this much later, because 
-% their right place is above the artificial interline 
-% penalty which Stephan's code will soon insert 
-% (cf._\TeX book p._105). The next command is just ~\relax~ 
-% if no ~\vadjust~ items have been accumulated for the 
-% current line. Otherwise it is a list macro inserting 
-% the ~\vadjust~ items and finally resetting itself. 
+%%
+%  (New v4.4)   Now
+%%
+   \ht\@tempboxa\z@ \@LN at depthbox
+%%
+% appends the box containing the line number without changing
+% ~\prevdepth~---see end of section.
+% Now is the time for inserting the $\dots$ (/New v4.4)
+%% The line number has now been placed (it may be invisible
+%% depending on the modulo feature), so
+%% we can insert the
+% ~\vadjust~ items. We cannot do this much later, because
+% their right place is above the artificial interline
+% penalty which Stephan's code will soon insert
+% (cf._\TeX book p._105). The next command is just ~\relax~
+% if no ~\vadjust~ items have been accumulated for the
+% current line. Otherwise it is a list macro inserting
+% the ~\vadjust~ items and finally resetting itself.
 % (This is made in section_\ref{ss:PVadj} below.)
-% If the final item is a penalty, it is stored so it can 
-% compete with other things about page breaking. 
-%% 
-   \@LN at do@vadjusts 
-   \count@\lastpenalty 
-%% 
-% At this place, 
+% If the final item is a penalty, it is stored so it can
+% compete with other things about page breaking.
+%%
+   \@LN at do@vadjusts
+   \count@\lastpenalty
+%%
+% At this place,
 %                                                  \begin{old}\begin{verbatim}
 % %    \ifnum\outputpenalty=-\linenopenaltypar\else
 % \end{verbatim}
 %                                                                    \end{old}
-% originally followed. We need something \emph{before} the 
-% ~\else~: 
-%% 
-   \ifnum\outputpenalty=-\linenopenaltypar 
-     \ifnum\count@=\z@ \else 
-%% 
-% So final ~\pagebreak[0]~ or ~\nopagebreak[0]~ has no 
-% effect---but this will make a difference after headings only, 
-% where nobody should place such a thing anyway. 
-%% 
-       \xdef\@LN at parpgbrk{% 
+% originally followed. We need something \emph{before} the
+% ~\else~:
+%%
+   \ifnum\outputpenalty=-\linenopenaltypar
+     \ifnum\count@=\z@ \else
+%%
+% So final ~\pagebreak[0]~ or ~\nopagebreak[0]~ has no
+% effect---but this will make a difference after headings only,
+% where nobody should place such a thing anyway.
+%%
+       \xdef\@LN at parpgbrk{%
          \penalty\the\count@
          \global\let\noexpand\@LN at parpgbrk
-                      \noexpand\@LN at screenoff@pen}% v4.4 
-%% 
-% That penalty will replace former ~\kern\z@~ in 
+                      \noexpand\@LN at screenoff@pen}% v4.4
+%%
+% That penalty will replace former ~\kern\z@~ in
 % ~\linenumberpar~, see subsection_\ref{ss:calls}.---A
-% few days earlier, I tried to send just a penalty value. 
-% However, the ~\kern\z@~ in ~\linenumberpar~ is crucial, 
-% as I then found out. See below.---The final penalty is 
-% repeated, but this does no harm. (It would not be very 
-% difficult to avoid the repeating, but it may even be 
-% less efficient.) It may be repeated due to the previous 
-% ~\xdef~, but it may be repeated as well below in the 
-% present macro where artificial interline penalty is to 
+% few days earlier, I tried to send just a penalty value.
+% However, the ~\kern\z@~ in ~\linenumberpar~ is crucial,
+% as I then found out. See below.---The final penalty is
+% repeated, but this does no harm. (It would not be very
+% difficult to avoid the repeating, but it may even be
+% less efficient.) It may be repeated due to the previous
+% ~\xdef~, but it may be repeated as well below in the
+% present macro where artificial interline penalty is to
 % be overridden.
-%% 
+%%
      \fi
    \else
-%% 
-% (/New v4.00) 
-%%                                        Corrected code alignment with v4.11. 
+%%
+% (/New v4.00)
+%%                                        Corrected code alignment with v4.11.
      \@tempcnta\outputpenalty
      \advance\@tempcnta -\linenopenalty
-%% 
-% (New v4.00) 
+%%
+% (New v4.00)
 %                                                  \begin{old}\begin{verbatim}
 % %        \penalty\@tempcnta
 % \end{verbatim}
 %                                                                    \end{old}
-% followed previously. To give ~\nopagebreak~ a chance, 
-% we do 
-%%                                        Corrected code alignment with v4.11. 
-     \penalty \ifnum\count@<\@tempcnta \@tempcnta \else \count@ \fi 
-%% 
-% instead.---In ~linenox0.sty~, the ~\else~ thing once was omitted. 
-% Sergei Mariev's complaint (thanks!) showed that it is vital 
-% (see comment before ~\MakeLineNo~). 
-% The remaining ~\fi~ from previous package version closes the 
-% ~\ifnum\outputpenalty~\dots 
-% (/New v4.00) 
-%% 
+% followed previously. To give ~\nopagebreak~ a chance,
+% we do
+%%                                        Corrected code alignment with v4.11.
+     \penalty \ifnum\count@<\@tempcnta \@tempcnta \else \count@ \fi
+%%
+% instead.---In ~linenox0.sty~, the ~\else~ thing once was omitted.
+% Sergei Mariev's complaint (thanks!) showed that it is vital
+% (see comment before ~\MakeLineNo~).
+% The remaining ~\fi~ from previous package version closes the
+% ~\ifnum\outputpenalty~\dots
+% (/New v4.00)
+%%
    \fi
    }
 
-% (New v4.00) 
+% (New v4.00)
 
-\newcommand\stepLineNumber{\stepcounter{linenumber}} 
+\newcommand\stepLineNumber{\stepcounter{linenumber}}
 
-% For reason, see use above. (/New v4.00) 
-%%                                   %% TODO v4.4+: ~\newcommand~ more often!? 
-% 
-% (New v4.4)   The depth preserving trick is drawn here from 
-% ~\MakeLineNo~ because it will be used again in 
+% For reason, see use above. (/New v4.00)
+%%                                   %% TODO v4.4+: ~\newcommand~ more often!?
+%
+% (New v4.4)   The depth preserving trick is drawn here from
+% ~\MakeLineNo~ because it will be used again in
 % section_\ref{ss:calls}.
 
-\def\@LN at depthbox{% 
+\def\@LN at depthbox{%
   \dp\@tempboxa=\@tempdima
-  \nointerlineskip \kern-\@tempdima \box\@tempboxa} 
+  \nointerlineskip \kern-\@tempdima \box\@tempboxa}
 
-% (/New v4.4) 
-% 
+% (/New v4.4)
+%
 %                                                                   \section{%
-%               Control line numbering 
+%               Control line numbering
 %                                                                     \unskip}
 %                                                                \subsection{%
-%                  Inserting \scs{output} calls           %% own subsec. v4.4. 
+%                  Inserting \scs{output} calls           %% own subsec. v4.4.
 %                                                     \unskip}\label{ss:calls}
 % The line numbering is controlled via ~\par~.  \LaTeX\
 % saved the \TeX-primitive ~\par~ in ~\@@par~.  We push it
@@ -935,163 +937,163 @@
 % one level further out, and redefine ~\@@par~ to insert
 % the ~\interlinepenalty~ needed to trigger the
 % line numbering. And we need to allow pagebreaks after a
-% paragraph. 
-% 
+% paragraph.
+%
 % New (2.05beta): the prevgraf test.  A paragraph that ends with a
 % displayed equation, a ~\noindent\par~ or ~wrapfig.sty~ produce empty
 % paragraphs. These should not get a spurious line number via
-% ~\linenopenaltypar~. 
+% ~\linenopenaltypar~.
 
 \let\@@@par\@@par
 \newcount\linenoprevgraf
 
-% (UL)                          And needs ~\linenoprevgraf~ 
-% to be a counter? Perhaps there may be a paragraph having 
-% thousands of lines, so ~\mathchardef~ doesn't suffice (really??). 
+% (UL)                          And needs ~\linenoprevgraf~
+% to be a counter? Perhaps there may be a paragraph having
+% thousands of lines, so ~\mathchardef~ doesn't suffice (really??).
 %%
-%%                      %% TODO: limitations of lines per paragraph elsewhere? 
-%%                      %% Signal penalties, e.g.!? ~\deadcycles~!? 
+%%                      %% TODO: limitations of lines per paragraph elsewhere?
+%%                      %% Signal penalties, e.g.!? ~\deadcycles~!?
 %%
-% A macro ending on ~\relax~ might suffice, but would be 
-% somewhat slow. I think I will use ~\mathchardef~ next time. 
-% Or has any user used ~\linenoprevgraf~? (/UL) 
+% A macro ending on ~\relax~ might suffice, but would be
+% somewhat slow. I think I will use ~\mathchardef~ next time.
+% Or has any user used ~\linenoprevgraf~? (/UL)
 
-%% v4.33: changed code alignment for better understanding. 
-\def\linenumberpar{% 
-  \ifvmode \@@@par \else 
+%% v4.33: changed code alignment for better understanding.
+\def\linenumberpar{%
+  \ifvmode \@@@par \else
     \ifinner \@@@par \else
-      \xdef\@LN at outer@holdins{\the\holdinginserts}% v4.2 
+      \xdef\@LN at outer@holdins{\the\holdinginserts}% v4.2
       \advance \interlinepenalty \linenopenalty
       \linenoprevgraf \prevgraf
-      \global \holdinginserts \thr@@ 
+      \global \holdinginserts \thr@@
       \@@@par
       \ifnum\prevgraf>\linenoprevgraf
         \penalty-\linenopenaltypar
       \fi
-%% 
-% (New v4.00) 
+%%
+% (New v4.00)
 %                                                  \begin{old}\begin{verbatim}
-% %          \kern\z@ 
+% %          \kern\z@
 % \end{verbatim}
 %                                                                    \end{old}
-% was here previously. What for? 
-% According to \TeX book p._125, Stephan's 
-% interline penalty is changed into 10000. At the end of a 
-% paragraph, the ~\parskip~ would follow that penalty of 10000, 
-% so there could be a page break neither at the 
-% ~\parskip~ nor at the ~\baselineskip~ (\TeX book p._110)---so 
-% there could never be a page break between two paragraphs. 
-% So something must screen off the 10000 penalty. 
-% Indeed, the ~\kern~ is a place to break. 
+% was here previously. What for?
+% According to \TeX book p._125, Stephan's
+% interline penalty is changed into 10000. At the end of a
+% paragraph, the ~\parskip~ would follow that penalty of 10000,
+% so there could be a page break neither at the
+% ~\parskip~ nor at the ~\baselineskip~ (\TeX book p._110)---so
+% there could never be a page break between two paragraphs.
+% So something must screen off the 10000 penalty.
+% Indeed, the ~\kern~ is a place to break.
 % (Stephan once knew this: see `allow pagebreaks' above.)
-% 
-% Formerly, I tried to replace ~\kern\z@~ by 
+%
+% Formerly, I tried to replace ~\kern\z@~ by
 %                                                  \begin{old}\begin{verbatim}
-% %         \penalty\@LN at parpgpen\relax 
+% %         \penalty\@LN at parpgpen\relax
 % \end{verbatim}
 %                                                                    \end{old}
-% ---but this allows a page break after heading. So: 
-%% 
-      \@LN at parpgbrk 
-%% 
-%% After heading, ~\kern\z@~ resulting from previous line 
-%% (see below) is followed by ~\write~ or ~\penalty10000~, 
-%% so causes no page break. 
-% 
-% These and similar changes were formerly done by ~linenox1.sty~. 
-% (/New v4.00) 
-% 
-% (New v4.4) 
-% A ~\belowdisplayskip~ may precede the previous when the paragraph 
-% ends on a display-math; or there may be a ~\topsep~ from a list, etc. 
-% ~\addvspace~ couldn't take account for it with ~\kern\z@~ 
-% here. v4.32 therefore moved the space down -- with at least two 
-% bad consequences. 
-% Moreover, David Josef Dev observes that ~\kern\z@~ may 
-% inappropriately yield column depth 0pt. 
-% For these reasons, we introduce ~\@LN at screenoff@pen~ below. 
-% (/New v4.4) 
-%% 
+% ---but this allows a page break after heading. So:
+%%
+      \@LN at parpgbrk
+%%
+%% After heading, ~\kern\z@~ resulting from previous line
+%% (see below) is followed by ~\write~ or ~\penalty10000~,
+%% so causes no page break.
+%
+% These and similar changes were formerly done by ~linenox1.sty~.
+% (/New v4.00)
+%
+% (New v4.4)
+% A ~\belowdisplayskip~ may precede the previous when the paragraph
+% ends on a display-math; or there may be a ~\topsep~ from a list, etc.
+% ~\addvspace~ couldn't take account for it with ~\kern\z@~
+% here. v4.32 therefore moved the space down -- with at least two
+% bad consequences.
+% Moreover, David Josef Dev observes that ~\kern\z@~ may
+% inappropriately yield column depth 0pt.
+% For these reasons, we introduce ~\@LN at screenoff@pen~ below.
+% (/New v4.4)
+%%
       \global\holdinginserts\@LN at outer@holdins % v4.2
       \advance\interlinepenalty -\linenopenalty
-    \fi     % from \ifinner ... \else 
-  \fi}      % from \ifvmode ... \else 
+    \fi     % from \ifinner ... \else
+  \fi}      % from \ifvmode ... \else
 
-% (New v4.00, v4.4) Initialize ~\@LN at parpgbrk~, accounting 
-% for earlier space and for appropriate columndepth. 
-% We use former ~\MakeLineNo~'s depth-preverving trick 
-% ~\@LN at depthbox~ again: 
+% (New v4.00, v4.4) Initialize ~\@LN at parpgbrk~, accounting
+% for earlier space and for appropriate columndepth.
+% We use former ~\MakeLineNo~'s depth-preverving trick
+% ~\@LN at depthbox~ again:
 
-\def\@LN at screenoff@pen{% 
-  \ifdim\lastskip=\z@ 
-    \@tempdima\prevdepth \setbox\@tempboxa\null 
+\def\@LN at screenoff@pen{%
+  \ifdim\lastskip=\z@
+    \@tempdima\prevdepth \setbox\@tempboxa\null
     \@LN at depthbox                           \fi}
 
-\global\let\@LN at parpgbrk\@LN at screenoff@pen 
+\global\let\@LN at parpgbrk\@LN at screenoff@pen
 
-% (/New v4.4, v4.00) 
+% (/New v4.4, v4.00)
 %                                                                \subsection{%
 %                  Turning on/off                         %% own subsec. v4.4.
 %                                                     \unskip}\label{ss:OnOff}
 % The basic commands to enable and disable line numbers.
-% ~\@par~ and ~\par~ are only touched, when they are ~\let~ 
+% ~\@par~ and ~\par~ are only touched, when they are ~\let~
 % to ~\@@@par~/~\linenumberpar~.  The line number may be
 % reset to 1 with the star-form, or set by an optional
-% argument ~[~<number>~]~. 
-% 
-% (New v4.00)        We add ~\ifLineNumbers~ etc.\ since 
-% a number of our new adjustments need to know whether 
-% linenumbering is active. This just provides a kind of 
-% shorthand for ~\ifx\@@par\linenumberpar~; moreover it is 
-% more stable: who knows what may happen to ~\@@par~?---A 
-% caveat: ~\ifLineNumbers~ may be wrong. E.g., it may be 
-% ~\iffalse~ where it acts, while a ~\linenumbers~ a few 
-% lines below---in the same paragraph---brings about that 
-% the line where the ~\ifLineNumbers~ appears gets a 
-% marginal number. 
-%%                                      Better implementation suggested below. 
-%% 
-% (New v4.3)        Just noticed: Such tricks have been 
-% disallowed with v4.11, see subsections_\ref{ss:LL} 
+% argument ~[~<number>~]~.
+%
+% (New v4.00)        We add ~\ifLineNumbers~ etc.\ since
+% a number of our new adjustments need to know whether
+% linenumbering is active. This just provides a kind of
+% shorthand for ~\ifx\@@par\linenumberpar~; moreover it is
+% more stable: who knows what may happen to ~\@@par~?---A
+% caveat: ~\ifLineNumbers~ may be wrong. E.g., it may be
+% ~\iffalse~ where it acts, while a ~\linenumbers~ a few
+% lines below---in the same paragraph---brings about that
+% the line where the ~\ifLineNumbers~ appears gets a
+% marginal number.
+%%                                      Better implementation suggested below.
+%%
+% (New v4.3)        Just noticed: Such tricks have been
+% disallowed with v4.11, see subsections_\ref{ss:LL}
 % and_\ref{ss:OnOff}.---Moreover, the switching between
-% meanings of ~\linelabel~ for a possible error message 
-% as of v4.11 is removed. Speed is difficult to esteem 
-% and also depends on applications. Just use the most 
-% simple code you find.                      (/New v4.3) 
+% meanings of ~\linelabel~ for a possible error message
+% as of v4.11 is removed. Speed is difficult to esteem
+% and also depends on applications. Just use the most
+% simple code you find.                      (/New v4.3)
 
-\newif\ifLineNumbers \LineNumbersfalse 
+\newif\ifLineNumbers \LineNumbersfalse
 
-% (/New v4.00) 
+% (/New v4.00)
 
-\def\linenumbers{% 
-     \LineNumberstrue                            % v4.00 
-     \xdef\@LN at outer@holdins{\the\holdinginserts}% v4.3 
+\def\linenumbers{%
+     \LineNumberstrue                            % v4.00
+     \xdef\@LN at outer@holdins{\the\holdinginserts}% v4.3
 %%
-% (New v4.3) The previous line is for ~{linenomath}~ 
-% in a first numbered paragraph.         (/New v4.3) 
-%% 
+% (New v4.3) The previous line is for ~{linenomath}~
+% in a first numbered paragraph.         (/New v4.3)
+%%
      \let\@@par\linenumberpar
- %      \let\linelabel\@LN at linelabel % v4.11, removed v4.3 
+ %      \let\linelabel\@LN at linelabel % v4.11, removed v4.3
      \ifx\@par\@@@par\let\@par\linenumberpar\fi
      \ifx\par\@@@par\let\par\linenumberpar\fi
-     \@LN at maybe@moduloresume         % v4.31 
+     \@LN at maybe@moduloresume         % v4.31
      \@ifnextchar[{\resetlinenumber}%]
                  {\@ifstar{\resetlinenumber}{}}%
      }
 
-\def\nolinenumbers{% 
+\def\nolinenumbers{%
   \LineNumbersfalse                              % v4.00
   \let\@@par\@@@par
- %   \let\linelabel\@LN at LLerror      % v4.11, removed v4.3 
+ %   \let\linelabel\@LN at LLerror      % v4.11, removed v4.3
   \ifx\@par\linenumberpar\let\@par\@@@par\fi
   \ifx\par\linenumberpar\let\par\@@@par\fi
   }
 
-% (New v4.00)               Moreover, it is useful to switch to 
-% ~\nolinenumbers~ in ~\@arrayparboxrestore~. We postpone this 
-% to section_\ref{ss:ReDef} where we'll have an appending macro 
-% for doing this.                                  (/New v4.00) 
-% 
+% (New v4.00)               Moreover, it is useful to switch to
+% ~\nolinenumbers~ in ~\@arrayparboxrestore~. We postpone this
+% to section_\ref{ss:ReDef} where we'll have an appending macro
+% for doing this.                                  (/New v4.00)
+%
 % What happens with a display math?  Since ~\par~ is not executed,
 % when breaking the lines before a display, they will not get
 % line numbers.  Sorry, but I do not dare to change
@@ -1103,15 +1105,15 @@
 % See the subsection below, for a wrapper environment to make
 % it work.  But that requires to wrap each and every display
 % in your \LaTeX\ source %%.
-%% v4.3: 
-% (see option ~displaymath~ in subsections_\ref{ss:v3opts} 
-% and_\ref{ss:display} for some relief [UL]). 
+%% v4.3:
+% (see option ~displaymath~ in subsections_\ref{ss:v3opts}
+% and_\ref{ss:display} for some relief [UL]).
 %
 % The next two commands are provided to turn on line
 % numbering in a specific mode. Please note the difference:
 % for pagewise numbering, ~\linenumbers~ comes first to
 % inhibit it from seeing optional arguments, since
-% re-/presetting the counter is useless. 
+% re-/presetting the counter is useless.
 
 \def\pagewiselinenumbers{\linenumbers\setpagewiselinenumbers}
 \def\runninglinenumbers{\setrunninglinenumbers\linenumbers}
@@ -1119,25 +1121,25 @@
 % Finally, it is a \LaTeX\ style, so we provide for the use
 % of environments, including the suppression of the
 % following paragraph's indentation.
-% 
-%% TODO: v4.4+: 
-% (UL)                                I am drawing the following 
-% private thoughts of Stephan's to publicity so that others may 
-% think about them---or to remind myself of them in an efficient 
-% way.                                                     (/UL) 
-%% UL changed `%%%' to `% %' below. 
-%% TODO: add \par to \linenumbers, if called from an environment. %% v4.3 
+%
+%% TODO: v4.4+:
+% (UL)                                I am drawing the following
+% private thoughts of Stephan's to publicity so that others may
+% think about them---or to remind myself of them in an efficient
+% way.                                                     (/UL)
+%% UL changed `%%%' to `% %' below.
+%% TODO: add \par to \linenumbers, if called from an environment. %% v4.3
 %% ToDO: add an \@endpe hack if \linenumbers are turned on
-%                                                  \begin{old}\begin{verbatim} 
+%                                                  \begin{old}\begin{verbatim}
 % % TO DO: add \par to \linenumbers, if called from an environment.
 % % To DO: add an \@endpe hack if \linenumbers are turned on
 % %        in horizontal mode. {\par\parskip\z@\noindent} or
 % %        something.
 % \end{verbatim}
-%                                                                    \end{old} 
-% (UL)     However, I rather think that ~\linenumbers~ and        %% v4.31 
-% ~\nolinenumbers~ should execute a ~\par~ already. (Then the 
-% ~\par~s in the following definitions should be removed.) (/UL) 
+%                                                                    \end{old}
+% (UL)     However, I rather think that ~\linenumbers~ and        %% v4.31
+% ~\nolinenumbers~ should execute a ~\par~ already. (Then the
+% ~\par~s in the following definitions should be removed.) (/UL)
 
 \@namedef{linenumbers*}{\par\linenumbers*}
 \@namedef{runninglinenumbers*}{\par\runninglinenumbers*}
@@ -1154,19 +1156,19 @@
 %                  Display math
 %                                                        \unskip}\label{ss:DM}
 %
-% Now we tackle the problem to get display math working.  
+% Now we tackle the problem to get display math working.
 % There are different options.
 %                                                      \begin{enumerate}\item[
-% 1.]  Precede every display math with a ~\par~.  
+% 1.]  Precede every display math with a ~\par~.
 %      Not too good.
 %                                                                       \item[
-% 2.]  Change ~\interlinepenalty~ and associates globally.  
+% 2.]  Change ~\interlinepenalty~ and associates globally.
 %      Unstable.
 %                                                                       \item[
-% 3.]  Wrap each display math with a ~{linenomath}~  
-%      environment. 
+% 3.]  Wrap each display math with a ~{linenomath}~
+%      environment.
 %                                                              \end{enumerate}
-% We'll go for option 3.  See if it works:  
+% We'll go for option 3.  See if it works:
 % \begin{linenomath}
 %   \begin{equation}
 %      display \ math
@@ -1178,7 +1180,7 @@
 %   \begin{eqnarray}
 %     multi   && line \\
 %     display && math \\
-%     & 
+%     &
 %     \begin{array}{c}
 %       with \\
 %       array
@@ -1187,7 +1189,7 @@
 %   \end{eqnarray}
 % \end{linenomath*}
 % including multline displays.
-% 
+%
 % First, here are two macros to turn
 % on linenumbering on paragraphs preceeding displays, with
 % numbering the lines of the display itself, or without.
@@ -1196,20 +1198,20 @@
 % not numbered.  Nor does it harm to wrap a display
 % twice, e.q, in case you have some ~{equation}~s wrapped
 % explicitely, and later you redefine ~\equation~ to do it
-% automatically. 
-% 
-% (New v4.3)  To avoid the spurious line number above a 
-% display in vmode, I insert ~\ifhmode~.       (/New v4.3) 
+% automatically.
+%
+% (New v4.3)  To avoid the spurious line number above a
+% display in vmode, I insert ~\ifhmode~.       (/New v4.3)
 
 \newcommand\linenomathNonumbers{%
-  \ifLineNumbers 
-%%  \ifx\@@par\@@@par\else 
+  \ifLineNumbers
+%%  \ifx\@@par\@@@par\else
     \ifnum\interlinepenalty>-\linenopenaltypar
-      \global\holdinginserts\thr@@ 
+      \global\holdinginserts\thr@@
       \advance\interlinepenalty \linenopenalty
-     \ifhmode                                   % v4.3 
+     \ifhmode                                   % v4.3
       \advance\predisplaypenalty \linenopenalty
-     \fi 
+     \fi
     \fi
   \fi
   \ignorespaces
@@ -1216,14 +1218,14 @@
   }
 
 \newcommand\linenomathWithnumbers{%
-  \ifLineNumbers 
+  \ifLineNumbers
 %%  \ifx\@@par\@@@par\else
     \ifnum\interlinepenalty>-\linenopenaltypar
-      \global\holdinginserts\thr@@ 
+      \global\holdinginserts\thr@@
       \advance\interlinepenalty \linenopenalty
-     \ifhmode                                   % v4.3 
+     \ifhmode                                   % v4.3
       \advance\predisplaypenalty \linenopenalty
-     \fi 
+     \fi
       \advance\postdisplaypenalty \linenopenalty
       \advance\interdisplaylinepenalty \linenopenalty
     \fi
@@ -1246,11 +1248,11 @@
   \@namedef{linenomath*}{\linenomathWithnumbers}%
   }
 
-\def\endlinenomath{% 
-  \ifLineNumbers                            % v4.3 
-   \global\holdinginserts\@LN at outer@holdins % v4.21 
-  \fi 
-   \global % v4.21 support for LaTeX2e earlier than 1996/07/26. 
+\def\endlinenomath{%
+  \ifLineNumbers                            % v4.3
+   \global\holdinginserts\@LN at outer@holdins % v4.21
+  \fi
+   \global % v4.21 support for LaTeX2e earlier than 1996/07/26.
    \@ignoretrue
 }
 \expandafter\let\csname endlinenomath*\endcsname\endlinenomath
@@ -1264,21 +1266,21 @@
 %
 %                                                                   \section{%
 %               Line number references
-%                                                      \unskip}\label{s:LNref} 
-%                                                                \subsection{% 
-%                  Internals                              %% New subsec. v4.3. 
+%                                                      \unskip}\label{s:LNref}
+%                                                                \subsection{%
+%                  Internals                              %% New subsec. v4.3.
 %                                                                     \unskip}
 % The only way to get a label to a line number in a
 % paragraph is to ask the output routine to mark it.
 %
-% (New v4.00) The following two paragraphs don't hold any 
-% longer, see below. (/New v4.00) 
+% (New v4.00) The following two paragraphs don't hold any
+% longer, see below. (/New v4.00)
 %                                                  \begin{old}\begin{verbatim}
 % % We use the marginpar mechanism to hook to ~\output~ for a
 % % second time.  Marginpars are floats with number $-1$, we
 % % fake marginpars with No $-2$. Originally, every negative
 % % numbered float was considered to be a marginpar.
-% % 
+% %
 % % The float box number ~\@currbox~ is used to transfer the
 % % label name in a macro called ~\@LNL@~<box-number>.
 % \end{verbatim}
@@ -1286,14 +1288,14 @@
 % A ~\newlabel~ is written to the aux-file.  The reference
 % is to ~\theLineNumber~, \emph{not} ~\thelinenumber~.
 % This allows to hook in, as done below for pagewise line
-% numbering. 
+% numbering.
 %
 % (New v3.03) The ~\@LN at ExtraLabelItems~ are added for a hook
 % to keep packages like ~{hyperref}~ happy.      (/New v3.03)
-% 
-% (New v4.00) 
-% We fire the ~\marginpar~ mechanism, so we leave \LaTeX's 
-% ~\@addmarginpar~ untouched. 
+%
+% (New v4.00)
+% We fire the ~\marginpar~ mechanism, so we leave \LaTeX's
+% ~\@addmarginpar~ untouched.
 %                                                  \begin{old}\begin{verbatim}
 % % \let\@LN at addmarginpar\@addmarginpar
 % % \def\@addmarginpar{%
@@ -1308,47 +1310,47 @@
 % %    \fi}
 % \end{verbatim}
 %                                                                    \end{old}
-% OK, we keep Stephan's ~\@LN at ExtraLabelItems~: 
-% (/New v4.00) 
+% OK, we keep Stephan's ~\@LN at ExtraLabelItems~:
+% (/New v4.00)
 
 \let\@LN at ExtraLabelItems\@empty
 
-% (New v4.00) 
-% We imitate the ~\marginpar~ mechanism without using the 
-% ~\@freelist~ boxes. ~\linelabel~ will indeed place a signal 
-% penalty (~\@Mllbcodepen~, new), and it will put a label into 
-% some list macro ~\@LN at labellist~. A new part of the output 
-% routine will take the labels from the list and will write 
-% ~\newlabel~s to the .aux file. 
-% 
+% (New v4.00)
+% We imitate the ~\marginpar~ mechanism without using the
+% ~\@freelist~ boxes. ~\linelabel~ will indeed place a signal
+% penalty (~\@Mllbcodepen~, new), and it will put a label into
+% some list macro ~\@LN at labellist~. A new part of the output
+% routine will take the labels from the list and will write
+% ~\newlabel~s to the .aux file.
+%
 % The following is a version of \LaTeX's ~\@xnext~.
 
 \def\@LN at xnext#1\@lt#2\@@#3#4{\def#3{#1}\gdef#4{#2}}
 
-% This takes an item ~#1~ from a list ~#4~ into ~#3~; 
-% to be used as ~\expandafter\@LN at xnext#4\@@#3#4~. 
-% Our lists use ~\@lt~ after each item for separating. 
-% Indeed, there will be another list macro which can 
-% appear as argument ~#4~, this will be used for moving 
-% ~\vadjust~ items (section_\ref{ss:PVadj}). 
-% The list for ~\linelabel~s is the following: 
+% This takes an item ~#1~ from a list ~#4~ into ~#3~;
+% to be used as ~\expandafter\@LN at xnext#4\@@#3#4~.
+% Our lists use ~\@lt~ after each item for separating.
+% Indeed, there will be another list macro which can
+% appear as argument ~#4~, this will be used for moving
+% ~\vadjust~ items (section_\ref{ss:PVadj}).
+% The list for ~\linelabel~s is the following:
 
-\global\let\@LN at labellist\@empty 
+\global\let\@LN at labellist\@empty
 
-% The next is the new part of the output routine writing the 
-% ~\newlabel~ to the .aux file. Since it is no real page output, 
-% the page is put back to top of the main vertical list. 
+% The next is the new part of the output routine writing the
+% ~\newlabel~ to the .aux file. Since it is no real page output,
+% the page is put back to top of the main vertical list.
 
-\def\WriteLineNo{% 
-  \unvbox\@cclv 
-  \expandafter \@LN at xnext \@LN at labellist \@@ 
-                          \@LN at label \@LN at labellist 
-  \protected at write\@auxout{}{\string\newlabel{\@LN at label}% 
-         {{\theLineNumber}{\thepage}\@LN at ExtraLabelItems}}% 
+\def\WriteLineNo{%
+  \unvbox\@cclv
+  \expandafter \@LN at xnext \@LN at labellist \@@
+                          \@LN at label \@LN at labellist
+  \protected at write\@auxout{}{\string\newlabel{\@LN at label}%
+         {{\theLineNumber}{\thepage}\@LN at ExtraLabelItems}}%
 }
 
 % (/New v4.00)
-% 
+%
 %                                                                \subsection{%
 %                  The \scs{linelabel} command
 %                                                        \unskip}\label{ss:LL}
@@ -1360,9 +1362,9 @@
 %                   \marginpar{\tiny\raggedright
 %                       See if it works: This paragraph
 %                       starts on page \pageref{demo}, line
-%                       \ref{demo}.  
+%                       \ref{demo}.
 %                   \unskip}%
-% (New v4.11) 
+% (New v4.11)
 %                                                  \begin{old}\begin{verbatim}
 % % If you use this command outside a ~\linenumbers~
 % % paragraph, you will get references to some bogus
@@ -1372,12 +1374,12 @@
 % % or not.  A ~\linelabel~ may legally appear earlier than
 % % ~\linenumbers~.
 % \end{verbatim}
-%                                                                    \end{old} 
-% This trick is better not allowed---see subsections_\ref{ss:LL} 
+%                                                                    \end{old}
+% This trick is better not allowed---see subsections_\ref{ss:LL}
 % and_\ref{ss:OnOff}.
 % (/New v4.11)
 %
-% ~\linelabel~ 
+% ~\linelabel~
 %                                                  \begin{old}\begin{verbatim}
 % %, via a fake float number $-2$, %% new mechanism v4.00
 % \end{verbatim}
@@ -1393,13 +1395,13 @@
 % A ~\linelabel~ is allowed only in outer horizontal mode.
 % In outer vertical mode we start a paragraph, and ignore
 % trailing spaces (by fooling ~\@esphack~).
-% 
-% (New v4.00) We aim at relaxing the previous condition. 
-% We insert a hook ~\@LN at mathhook~ and a shorthand 
-% ~\@LN at postlabel~ to support the ~mathrefs~ option which 
-% allows ~\linelabel~ in math mode. 
 %
-% The next paragraph is no longer valid. 
+% (New v4.00) We aim at relaxing the previous condition.
+% We insert a hook ~\@LN at mathhook~ and a shorthand
+% ~\@LN at postlabel~ to support the ~mathrefs~ option which
+% allows ~\linelabel~ in math mode.
+%
+% The next paragraph is no longer valid.
 %                                                  \begin{old}\begin{verbatim}
 % % The argument of ~\linelabel~ is put into a macro with a
 % % name derived from the number of the allocated float box.
@@ -1406,43 +1408,43 @@
 % % Much of the rest is dummy float setup.
 % \end{verbatim}
 %                                                                    \end{old}
-% (/New v4.00) 
+% (/New v4.00)
 %
-% (New v4.11) 
-%                                                  \begin{old}\begin{verbatim} 
+% (New v4.11)
+%                                                  \begin{old}\begin{verbatim}
 % % \def\linelabel#1{%
 % \end{verbatim}
-%                                                                    \end{old} 
-% I forgot ~\linenumbers~ today, costed me hours or so. 
+%                                                                    \end{old}
+% I forgot ~\linenumbers~ today, costed me hours or so.
 
-\def\@LN at LLerror{\PackageError{lineno}{% 
-  \string\linelabel\space without \string\linenumbers}{% 
+\def\@LN at LLerror{\PackageError{lineno}{%
+  \string\linelabel\space without \string\linenumbers}{%
   Just see documentation. (New feature v4.11)}\@gobble}
 
-% (New v4.3)         Here some things have changed for v4.3. 
-% The previous ~#1~ has been replaced by ~\@gobble~. 
-% Ensuing, the ~\linelabel~ error message is re-implemented. 
-% I find it difficult to compare efficiency of slight 
-% alternatives---so choose an easy one. Explicit switching 
-% in ~\linenumbers~ and ~\nolinenumbers~ is an additional 
-% command that may better be avoided. 
+% (New v4.3)         Here some things have changed for v4.3.
+% The previous ~#1~ has been replaced by ~\@gobble~.
+% Ensuing, the ~\linelabel~ error message is re-implemented.
+% I find it difficult to compare efficiency of slight
+% alternatives---so choose an easy one. Explicit switching
+% in ~\linenumbers~ and ~\nolinenumbers~ is an additional
+% command that may better be avoided.
 
-\newcommand\linelabel{% 
-  \ifLineNumbers \expandafter \@LN at linelabel 
+\newcommand\linelabel{%
+  \ifLineNumbers \expandafter \@LN at linelabel
   \else          \expandafter \@LN at LLerror   \fi}
-%%\let\linelabel\@LN at LLerror 
+%%\let\linelabel\@LN at LLerror
 
-\gdef\@LN at linelabel#1{% 
-%% 
-% ~\gdef~ for hyperref ``symbolically''. (/New v4.11) 
-%% 
-  \ifx\protect\@typeset at protect 
-%% 
-% $\gets$ And a ~\linelabel~ should never be replicated in a 
-% mark or a TOC entry.                           (/New v4.3) 
-%% 
+\gdef\@LN at linelabel#1{%
+%%
+% ~\gdef~ for hyperref ``symbolically''. (/New v4.11)
+%%
+  \ifx\protect\@typeset at protect
+%%
+% $\gets$ And a ~\linelabel~ should never be replicated in a
+% mark or a TOC entry.                           (/New v4.3)
+%%
    \ifvmode
-       \ifinner \else 
+       \ifinner \else
           \leavevmode \@bsphack \@savsk\p@
        \fi
    \else
@@ -1452,10 +1454,10 @@
      \ifinner
        \@parmoderr
      \else
-%% 
-% (New v4.00) 
-%% 
-       \@LN at postlabel{#1}% 
+%%
+% (New v4.00)
+%%
+       \@LN at postlabel{#1}%
 %                                                  \begin{old}\begin{verbatim}
 % %        \@floatpenalty -\@Mii
 % %        \@next\@currbox\@freelist
@@ -1467,55 +1469,55 @@
 % %        \endgroup
 % %        \@ignorefalse \@esphack
 % \end{verbatim}
-%                                                                    \end{old} 
-% (/New v4.00) 
-%% 
-       \@esphack 
-%% 
-% (New v4.00) 
-% The ~\@ignorefalse~ was appropriate before because the 
-% ~\@Esphack~ in ~\end at float~ set ~\@ignoretrue~. Cf._\LaTeX's 
-% ~\@xympar~. (/New v4.00) 
-%% 
+%                                                                    \end{old}
+% (/New v4.00)
+%%
+       \@esphack
+%%
+% (New v4.00)
+% The ~\@ignorefalse~ was appropriate before because the
+% ~\@Esphack~ in ~\end at float~ set ~\@ignoretrue~. Cf._\LaTeX's
+% ~\@xympar~. (/New v4.00)
+%%
      \fi
    \else
-%% 
-% (New v4.00) 
-%% 
+%%
+% (New v4.00)
+%%
      \@LN at mathhook{#1}%
 %                                                  \begin{old}\begin{verbatim}
 % %     \@parmoderr
 % \end{verbatim}
-%                                                                    \end{old} 
-% Instead of complaining, you may just do your job. 
-% (/New v4.00) 
-%% 
+%                                                                    \end{old}
+% Instead of complaining, you may just do your job.
+% (/New v4.00)
+%%
    \fi
-  \fi 
+  \fi
    }
 
-% (New v4.00)   The shorthand just does what happened 
-% with ~linenox0.sty~ before ~ednmath0.sty~ (New v4.1: 
-% now ~mathrefs~ option) appeared, and 
-% the hook is initialized to serve the same purpose. 
-% So errors come just where Stephan had built them in, 
-% and this is just the \LaTeX\ ~\marginpar~ behaviour. 
+% (New v4.00)   The shorthand just does what happened
+% with ~linenox0.sty~ before ~ednmath0.sty~ (New v4.1:
+% now ~mathrefs~ option) appeared, and
+% the hook is initialized to serve the same purpose.
+% So errors come just where Stephan had built them in,
+% and this is just the \LaTeX\ ~\marginpar~ behaviour.
 
 \def\@LN at postlabel#1{\g at addto@macro\@LN at labellist{#1\@lt}%
-       \vadjust{\penalty-\@Mllbcodepen}} 
+       \vadjust{\penalty-\@Mllbcodepen}}
 \def\@LN at mathhook#1{\@parmoderr}
 
-% (/New v4.00) 
-% 
-%                                                        \modulolinenumbers[3] 
+% (/New v4.00)
+%
+%                                                        \modulolinenumbers[3]
 %                                                          \firstlinenumber{1}
 %                                                                   \section{%
 %               The appearance of the line numbers
 %                                                   \unskip}\label{appearance}
 %                                                                \subsection{%
-%                  Basic code                             %% own subsec. v4.2. 
+%                  Basic code                             %% own subsec. v4.2.
 %                                                                     \unskip}
-% 
+%
 % The line numbers are set as ~\tiny\sffamily\arabic{linenumber}~,
 % $10pt$ left of the text.  With options to place it
 % right of the text, or . . .
@@ -1522,10 +1524,10 @@
 %
 %      . . . here are the hooks:
 
-\def\makeLineNumberLeft{% 
+\def\makeLineNumberLeft{%
   \hss\linenumberfont\LineNumber\hskip\linenumbersep}
 
-\def\makeLineNumberRight{% 
+\def\makeLineNumberRight{%
   \linenumberfont\hskip\linenumbersep\hskip\columnwidth
   \hb at xt@\linenumberwidth{\hss\LineNumber}\hss}
 
@@ -1539,7 +1541,7 @@
 
 % Margin switching requires ~pagewise~ numbering mode, but
 % choosing the left or right margin for the numbers always
-% works. 
+% works.
 
 \def\switchlinenumbers{\@ifstar
     {\let\makeLineNumberOdd\makeLineNumberRight
@@ -1588,70 +1590,70 @@
 % Only the running mode counter may be reset, or preset,
 % for individual paragraphs.  The pagewise counter must
 % give a unique anonymous number for each line.
-% 
-% (New v4.3)                  ~\newcounter{linenumber}~ 
-% was the only ~\newcounter~ in the whole package, and 
-% formerly I was near using ~\newcount~ instead. Yet 
-% ~\newcounter~ may be quite useful for ~\includeonly~. 
-% It also supports resetting ``subcounters'', but what 
-% could these be? Well, ~edtable~ might introduce a 
-% subcounter for columns. 
-% (Note that \LaTeX's setting commands would work with 
-% ~\newcount\c at linenumber~ already, apart from this. 
-% And perhaps sometimes ~\refstepcounter{linenumber}~ 
-% wouldn't work---cf._my discussion of ~\stepcounter~ in 
-% subsection_\ref{ss:MLN}, similarly ~\refstep...~ would 
-% be quite useless. 
-% Even the usual redefinitions of ~\thelinenumber~ would 
-% work. It is nice, on the other hand, that 
-% ~\thelinenumber~ is predefined here. \LaTeX's 
-% initialization of the value perhaps just serves making 
-% clear \LaTeX\ counters should always be changed 
-% globally.---Shortened and improved the discussion here.) 
-% (/New v4.3) 
-% 
-% (New v4.22) 
-% ~\c at linenumber~ usually is---globally---incremented by 
-% ~\stepcounter~ (at present), so resetting it locally would 
-% raise the save stack problem of \TeX book p._301, moreover 
-% it would be is useless, there is no hope of keeping the 
-% values local (but see subsection_\ref{ss:ILN}). So I insert 
-% ~\global~:        (/New v4.22) 
+%
+% (New v4.3)                  ~\newcounter{linenumber}~
+% was the only ~\newcounter~ in the whole package, and
+% formerly I was near using ~\newcount~ instead. Yet
+% ~\newcounter~ may be quite useful for ~\includeonly~.
+% It also supports resetting ``subcounters'', but what
+% could these be? Well, ~edtable~ might introduce a
+% subcounter for columns.
+% (Note that \LaTeX's setting commands would work with
+% ~\newcount\c at linenumber~ already, apart from this.
+% And perhaps sometimes ~\refstepcounter{linenumber}~
+% wouldn't work---cf._my discussion of ~\stepcounter~ in
+% subsection_\ref{ss:MLN}, similarly ~\refstep...~ would
+% be quite useless.
+% Even the usual redefinitions of ~\thelinenumber~ would
+% work. It is nice, on the other hand, that
+% ~\thelinenumber~ is predefined here. \LaTeX's
+% initialization of the value perhaps just serves making
+% clear \LaTeX\ counters should always be changed
+% globally.---Shortened and improved the discussion here.)
+% (/New v4.3)
+%
+% (New v4.22)
+% ~\c at linenumber~ usually is---globally---incremented by
+% ~\stepcounter~ (at present), so resetting it locally would
+% raise the save stack problem of \TeX book p._301, moreover
+% it would be is useless, there is no hope of keeping the
+% values local (but see subsection_\ref{ss:ILN}). So I insert
+% ~\global~:        (/New v4.22)
 
-\newcommand*\resetlinenumber[1][\@ne]{% 
+\newcommand*\resetlinenumber[1][\@ne]{%
   \global                             % v4.22
   \c at runninglinenumber#1\relax}
 
-% (New v4.00) 
+% (New v4.00)
 %                                                  \begin{old}\begin{verbatim}
 % % \newcommand\resetlinenumber[1][1]{\c at runninglinenumber#1}
 % \end{verbatim}
 %                                                                    \end{old}
-% Added ~\relax~, being quite sure that this does no harm 
-% and is quite important, as with ~\setcounter~ etc. 
-% I consider this a bug fix (although perhaps no user has 
-% ever had a problem with this).    (/New v4.00) 
-% 
-% (v4.22: I had made much fuss about resetting subordinate 
+% Added ~\relax~, being quite sure that this does no harm
+% and is quite important, as with ~\setcounter~ etc.
+% I consider this a bug fix (although perhaps no user has
+% ever had a problem with this).    (/New v4.00)
+%
+% (v4.22: I had made much fuss about resetting subordinate
 % counters here---removed, somewhat postponed.)
-% 
-%% TODO v4.4+: 
-%% \newcommand*\resetlinenumber[1][\@ne]{% 
-%%   \ifx\c at linenumber\c at runninglinenumber 
+%
+%% TODO v4.4+:
+%% \newcommand*\resetlinenumber[1][\@ne]{%
+%%   \ifx\c at linenumber\c at runninglinenumber
 %%     \global\c at linenumber#1\relax
-%%     \global\advance\c at linenumber\m at ne 
-%%     \stepLineNumber 
-%%   \else 
-%%     \PackageError{lineno}%% Shorthand!? 
-%%       {You can't reset line number in pagewise mode}% 
-%%       {This should suffice.}% 
-%%   \fi 
-%% } 
-% 
+%%     \global\advance\c at linenumber\m at ne
+%%     \stepLineNumber
+%%   \else
+%%     \PackageError{lineno}%% Shorthand!?
+%%       {You can't reset line number in pagewise mode}%
+%%       {This should suffice.}%
+%%   \fi
+%% }
+%
 %                                                                \subsection{%
 %                  Running line numbers
-%                                                                     \unskip} 
-% 
+%                                                                     \unskip}
+%
 % Running mode is easy,  ~\LineNumber~ and ~\theLineNumber~
 % produce ~\thelinenumber~, which defaults to
 % ~\arabic{linenumber}~, using the ~\c at runninglinenumber~
@@ -1670,12 +1672,12 @@
 %
 %                                                                \subsection{%
 %                  Pagewise line numbers
-%                                                        \unskip}\label{ss:PW} 
-% 
+%                                                        \unskip}\label{ss:PW}
+%
 % Difficult, if you think about it.  The number has to be
 % printed when there is no means to know on which page it
-% will end up,  except through the aux-file.  My solution  
-% is really expensive, but quite robust.  
+% will end up,  except through the aux-file.  My solution
+% is really expensive, but quite robust.
 %
 % With version ~v2.00~ the hashsize requirements are
 % reduced, because we do not need one controlsequence for
@@ -1712,58 +1714,58 @@
 % there might else be in ~\thepage~.
 
 \def\logtheLineNumber{\protected at write\@auxout{}{%
-%% 
+%%
 % (New v4.00) (UL)
-% As Daniel Doherty observed, the earlier line 
+% As Daniel Doherty observed, the earlier line
 %                                                  \begin{old}\begin{verbatim}
 % %    \string\@LN{\the\c at linenumber}{\noexpand\the\c at page}}}
 % \end{verbatim}
 %                                                                    \end{old}
-% here may lead into an infinite loop when the user resets 
-% the page number (think of ~\pagenumbering~, e.g.). 
-% Stephan and I brief\/ly discussed the matter and decided 
-% to introduce a ``physical''-page counter to which 
-% ~\logtheLineNumber~ refers. It was Stephan's idea to use 
-% ~\cl at page~ for reliably augmenting the ``physical''-page 
-% counter. However, this relies on the output routine once 
-% doing ~\stepcounter{page}~. Before Stephan's 
-% suggestion, I had thought of appending the stepping to 
-% \LaTeX's ~\@outputpage~.---So the macro definition ends 
-% as follows. 
-%% 
-   \string\@LN{\the\c at linenumber}{% 
+% here may lead into an infinite loop when the user resets
+% the page number (think of ~\pagenumbering~, e.g.).
+% Stephan and I brief\/ly discussed the matter and decided
+% to introduce a ``physical''-page counter to which
+% ~\logtheLineNumber~ refers. It was Stephan's idea to use
+% ~\cl at page~ for reliably augmenting the ``physical''-page
+% counter. However, this relies on the output routine once
+% doing ~\stepcounter{page}~. Before Stephan's
+% suggestion, I had thought of appending the stepping to
+% \LaTeX's ~\@outputpage~.---So the macro definition ends
+% as follows.
 %%
-% (New v4.2) 
-%%     \noexpand\number\n at LN@truepage}}} 
+   \string\@LN{\the\c at linenumber}{%
 %%
-% The `truepage' counter must start with ~\c@~ so it works 
-% with ~\include~, and the ~\@addtoreset~ below is needed 
-% for the same purpose. 
-%% 
-     \noexpand\the\c at LN@truepage}}} 
+% (New v4.2)
+%%     \noexpand\number\n at LN@truepage}}}
+%%
+% The `truepage' counter must start with ~\c@~ so it works
+% with ~\include~, and the ~\@addtoreset~ below is needed
+% for the same purpose.
+%%
+     \noexpand\the\c at LN@truepage}}}
 
-%% \newcount\n at LN@truepage 
+%% \newcount\n at LN@truepage
 %% \g at addto@macro\cl at page{\global\advance\n at LN@truepage\@ne}
-\newcount\c at LN@truepage 
+\newcount\c at LN@truepage
 \g at addto@macro\cl at page{\global\advance\c at LN@truepage\@ne}
 \@addtoreset{LN at truepage}{@ckpt}
 
-% (/New v4.2)                I had thought of offering more 
-% features of a \LaTeX\ counter. However, the user should 
-% better \emph{not} have access to this counter. ~\c at page~ 
-% should suffice as a pagewise master counter.---To be sure, 
-% along the present lines the user \emph{can} manipulate 
-% ~\c at LN@truepage~ by ~\stepcounter{page}~. E.g., she might 
-% do this in order to manually insert a photograph. Well, 
-% seems not to harm. 
-% 
-% The above usage of ~\g at addto@macro~ and ~\cl at page~ may be 
-% not as stable as Stephan intended. His proposal used 
-% ~\xdef~ directly. But he used ~\cl at page~ as well, and who 
-% knows \dots{} And as to ~\g at addto@macro~, I have introduced 
-% it for list macros anyway. 
-% (/UL) (/New v4.00) 
-% 
+% (/New v4.2)                I had thought of offering more
+% features of a \LaTeX\ counter. However, the user should
+% better \emph{not} have access to this counter. ~\c at page~
+% should suffice as a pagewise master counter.---To be sure,
+% along the present lines the user \emph{can} manipulate
+% ~\c at LN@truepage~ by ~\stepcounter{page}~. E.g., she might
+% do this in order to manually insert a photograph. Well,
+% seems not to harm.
+%
+% The above usage of ~\g at addto@macro~ and ~\cl at page~ may be
+% not as stable as Stephan intended. His proposal used
+% ~\xdef~ directly. But he used ~\cl at page~ as well, and who
+% knows \dots{} And as to ~\g at addto@macro~, I have introduced
+% it for list macros anyway.
+% (/UL) (/New v4.00)
+%
 % From the aux-file we get one macro ~\LN at P~<page> for each
 % page with line numbers on it.  This macro calls four other
 % macros with one argument each.  These macros are
@@ -1773,7 +1775,7 @@
 % We need sort of a pointer to the first page with line
 % numbers, initiallized to point to nothing:
 
-\def\LastNumberedPage{first} 
+\def\LastNumberedPage{first}
 \def\LN at Pfirst{\nextLN\relax}
 
 % The four dynamic macros are initiallized to reproduce
@@ -1786,7 +1788,7 @@
 
 % During the end-document run through the aux-files, we
 % disable ~\@LN~.  I may put in a check here later, to give
-% a rerun recommendation.  
+% a rerun recommendation.
 
 \AtEndDocument{\let\@LN\@gobbletwo}
 
@@ -1799,7 +1801,7 @@
 % current page and line number, with the
 % \emph{pointer-to-the-next-page} pointing to nothing.  And
 % the macro for the previous page will be redefined to point
-% to the current one. 
+% to the current one.
 %
 % If the macro for the current page already exists, just
 % redefine the \emph{last-line-number} entry.
@@ -1814,8 +1816,8 @@
 
 \def\@@LN#1#2#3#4{\ifx#1\relax
     \ifx#2\relax\gdef#2{#3}\fi
-    \expandafter\@@@LN\csname LN at P\LastNumberedPage\endcsname#1% 
-    \xdef#1{\lastLN{#3}\firstLN{#3}% 
+    \expandafter\@@@LN\csname LN at P\LastNumberedPage\endcsname#1%
+    \xdef#1{\lastLN{#3}\firstLN{#3}%
             \pageLN{#4}{\@LN at column}{#2}\nextLN\relax}%
   \else
     \def\lastLN##1{\noexpand\lastLN{#3}}%
@@ -1825,7 +1827,7 @@
 
 % The previous page macro gets its pointer to the
 % current one, replacing the ~\relax~ with the cs-token
-% ~\LN at P~<page>.  
+% ~\LN at P~<page>.
 
 \def\@@@LN#1#2{{\def\nextLN##1{\noexpand\nextLN\noexpand#2}%
                 \xdef#1{#1}}}
@@ -1836,11 +1838,11 @@
 % be a completely different one.  We maintain a cache,
 % which is ~\let~ to the last page's macro.  But for now
 % it is initialized to expand ~\LN at first~, where the poiner
-% to the first numbered page has been stored in. 
+% to the first numbered page has been stored in.
 
 \def\NumberedPageCache{\LN at Pfirst}
 
-% To find out on which page the current ~\c at linenumber~ is, 
+% To find out on which page the current ~\c at linenumber~ is,
 % we define the four dynamic macros to do something usefull
 % and execute the current cache macro.  ~\lastLN~ is run
 % first, testing if the line number in question may be on a
@@ -1855,7 +1857,7 @@
 % page,  we start over from the beginning. Else, ~\nextLN~
 % will be disabled, and ~\pageLN~ will run
 % ~\gotNumberedPage~ with four arguments: the first line
-% number on this column, the page number, the column 
+% number on this column, the page number, the column
 % number, and the first line on the page.
 
 \def\testFirstNumberedPage#1{\ifnum#1>\c at linenumber
@@ -1879,7 +1881,7 @@
   }
 
 % When we switch to another page, we first have to make
-% sure that it is there.  If we are done with the last 
+% sure that it is there.  If we are done with the last
 % page, we probably need to run \TeX\ again, but for the
 % rest of this run, the cache macro will just return four
 % zeros. This saves a lot of time, for example if you have
@@ -1887,7 +1889,7 @@
 % the whole page-list would be searched in vain again and
 % again for the second half of the document.
 %
-% If there is another page, we iterate the search. 
+% If there is another page, we iterate the search.
 
 \def\testNextNumberedPage#1{\ifx#1\relax
      \global\def\NumberedPageCache{\gotNumberedPage0000}%
@@ -1903,10 +1905,10 @@
 %                             \linelabel{demo2}
 %                             \marginpar{\tiny\raggedright
 %                                 Let's see if it finds the label
-%                                 on page \pageref{demo}, 
+%                                 on page \pageref{demo},
 %                                 line \ref{demo}, and back here
 %                                 on page \pageref{demo2}, line
-%                                 \ref{demo2}. 
+%                                 \ref{demo2}.
 %                             \unskip}%
 % To separate the official hooks from the internals there is
 % this equivalence, to hook in later for whatever purpose:
@@ -1923,7 +1925,7 @@
 
 \def\gotNumberedPage#1#2#3#4{\oddNumberedPagefalse
   \ifodd \if at twocolumn #3\else #2\fi\relax\oddNumberedPagetrue\fi
-  \advance\c at linenumber\@ne 
+  \advance\c at linenumber\@ne
   \ifcolumnwiselinenumbers
      \subtractlinenumberoffset{#1}%
   \else
@@ -1949,7 +1951,7 @@
 % in the ~\c at linenumber~ counter.  This is what gets printed
 % to the aux-file to make a label:
 
-\def\thePagewiseLineNumber{\protect 
+\def\thePagewiseLineNumber{\protect
        \getpagewiselinenumber{\the\c at linenumber}}%
 
 % And here is what happens when the label is refered to:
@@ -1971,7 +1973,7 @@
 % [MEM:]  One macro per page. Great improvement over v1.02,
 %         which had one control sequence per line in
 %         addition.  It blew the hash table after some five
-%         thousand lines. 
+%         thousand lines.
 %                                                            \end{description}
 %
 %                                                                \subsection{%
@@ -1978,83 +1980,83 @@
 %                  Twocolumn mode (New v3.06)
 %                                                                     \unskip}
 %
-% Twocolumn mode requires another patch to the ~\output~ 
-% routine, in order to print a column tag to the .aux 
+% Twocolumn mode requires another patch to the ~\output~
+% routine, in order to print a column tag to the .aux
 % file.
 
-\AtBeginDocument{% v4.2, revtex4.cls (e.g.). 
- % <- TODO v4.4+: Or better in \LineNoLaTeXOutput!? 
-  \let\@LN at orig@makecol\@makecol} 
+\AtBeginDocument{% v4.2, revtex4.cls (e.g.).
+ % <- TODO v4.4+: Or better in \LineNoLaTeXOutput!?
+  \let\@LN at orig@makecol\@makecol}
 \def\@LN at makecol{%
    \@LN at orig@makecol
    \setbox\@outputbox \vbox{%
       \boxmaxdepth \@maxdepth
-      \protected at write\@auxout{}{% 
+      \protected at write\@auxout{}{%
           \string\@LN at col{\if at firstcolumn1\else2\fi}%
       }%
-      \box\@outputbox 
+      \box\@outputbox
    }% \vbox
-} %% TODO cf. revtexln.sty. 
+} %% TODO cf. revtexln.sty.
 
-\def\@LN at col{\def\@LN at column} % v4.22, removed #1. 
+\def\@LN at col{\def\@LN at column} % v4.22, removed #1.
 \@LN at col{1}
 
 %
 %                                                                \subsection{%
-%                  Numbering modulo $m$, starting at $f$ 
+%                  Numbering modulo $m$, starting at $f$
 %%                  Numbering modulo 5
-%                                                       \unskip}\label{ss:Mod} 
-% 
+%                                                       \unskip}\label{ss:Mod}
+%
 % Most users want to have only one in five lines numbered.
 % ~\LineNumber~ is supposed to produce the outfit of the
 % line number attached to the line,  while ~\thelinenumber~
 % is used also for references, which should appear even if
-% they are not multiples of five.   
-% 
-% (New v4.00)                   Moreover, some users want to 
-% control which line number should be printed first. Support 
-% of this is now introduced here---see ~\firstlinenumber~ 
-% below.---~numline.sty~ by Michael Jaegermann and 
-% James Fortune offers controlling which \emph{final} 
-% line numbers should not be printed. What is 
-% it good for? We ignore this here until some user demands 
-% it.---Peter Wilson's ~ledmac.sty~ offers much different 
-% choices of line numbers to be printed, due to Wayne Sullivan. 
-% (/New v4.00) 
-% 
-% (New v4.22)   ~\c at linenumbermodulo~ is rendered a 
-% fake counter, as discussed since v4.00. So it can 
-% no longer be set by ~\setcounter~. ~\modulolinenumbers~ 
-% serves this purpose. Well, does anybody want to do 
-% what worked with ~\addtocounter~? (Then please tell 
-% me.)---At least, ~\value~ still works. For the same 
-% purpose I rename the fake `firstlinenumber' counter 
-% ~\n at ...~ to ~\c at ...~.                  (/New v4.22) 
+% they are not multiples of five.
+%
+% (New v4.00)                   Moreover, some users want to
+% control which line number should be printed first. Support
+% of this is now introduced here---see ~\firstlinenumber~
+% below.---~numline.sty~ by Michael Jaegermann and
+% James Fortune offers controlling which \emph{final}
+% line numbers should not be printed. What is
+% it good for? We ignore this here until some user demands
+% it.---Peter Wilson's ~ledmac.sty~ offers much different
+% choices of line numbers to be printed, due to Wayne Sullivan.
+% (/New v4.00)
+%
+% (New v4.22)   ~\c at linenumbermodulo~ is rendered a
+% fake counter, as discussed since v4.00. So it can
+% no longer be set by ~\setcounter~. ~\modulolinenumbers~
+% serves this purpose. Well, does anybody want to do
+% what worked with ~\addtocounter~? (Then please tell
+% me.)---At least, ~\value~ still works. For the same
+% purpose I rename the fake `firstlinenumber' counter
+% ~\n at ...~ to ~\c at ...~.                  (/New v4.22)
 %                                                  \begin{old}\begin{verbatim}
-% % \newcount\c at linenumbermodulo % removed for v4.22 
+% % \newcount\c at linenumbermodulo % removed for v4.22
 % \end{verbatim}
 %                                                                    \end{old}
-% 
-%% Removed for v4.22: 
-%% (UL)                                On my question why, e.g., 
-%% ~\chardef~ would not have sufficed, Stephan couldn't remember 
-%% exactly; guessed that he wanted to offer \LaTeX\ counter 
-%% facilities. However, the typical ones don't come this way. 
-%% So I'm quite sure that I will change this next time. 
-%% 
-%% However, I observed at least two times that users gave a very 
-%% high value to ~\c at linenumbermodulo~ in order to suppress 
-%% printing of the line number. One of these users preferred an 
-%% own way of handling line numbers, just wanted to use 
-%% ~\linelabel~ and ~ednotes.sty~ features. Should we support this? 
-%% I rather would like to advise them to 
-%% ~\let\makeLineNumber\relax~.      (/UL) 
-% 
-% (New v4.00)                                                             \par 
-% ~\themodulolinenumber~ waits for being declared 
-% ~\LineNumber~ by ~\modulolinenumbers~. (This has 
-% been so before, no change.) Here is how it 
-% looked before: 
+%
+%% Removed for v4.22:
+%% (UL)                                On my question why, e.g.,
+%% ~\chardef~ would not have sufficed, Stephan couldn't remember
+%% exactly; guessed that he wanted to offer \LaTeX\ counter
+%% facilities. However, the typical ones don't come this way.
+%% So I'm quite sure that I will change this next time.
+%%
+%% However, I observed at least two times that users gave a very
+%% high value to ~\c at linenumbermodulo~ in order to suppress
+%% printing of the line number. One of these users preferred an
+%% own way of handling line numbers, just wanted to use
+%% ~\linelabel~ and ~ednotes.sty~ features. Should we support this?
+%% I rather would like to advise them to
+%% ~\let\makeLineNumber\relax~.      (/UL)
+%
+% (New v4.00)                                                             \par
+% ~\themodulolinenumber~ waits for being declared
+% ~\LineNumber~ by ~\modulolinenumbers~. (This has
+% been so before, no change.) Here is how it
+% looked before:
 %                                                  \begin{old}\begin{verbatim}
 % % \def\themodulolinenumber{{\@tempcnta\c at linenumber
 % %   \divide\@tempcnta\c at linenumbermodulo
@@ -2062,367 +2064,367 @@
 % %   \ifnum\@tempcnta=\c at linenumber\thelinenumber\fi
 % %   }}
 % \end{verbatim}
-%                                                                    \end{old} 
-% (UL)                   This was somewhat slow. This arithmetic 
-% happens at every line. This time I tend to declare an extra 
-%% TODO v4.4+ 
-% line counter (as opposed to my usual recommendations to use 
-% counters as rarely as possible) which is stepped every line. 
-% It could be incremented in the same way as ~\c at LN@truepage~ 
-% is incremented via ~\cl at page~! This is another point in favour 
-% of ~{linenumber}~ being a \LaTeX\ counter! 
-% When this new counter equals ~\c at linenumbermodulo~, it is reset, 
-% and ~\thelinenumber~ is executed.---It gets much slower by my 
-% support of controlling the first line number below. I should 
+%                                                                    \end{old}
+% (UL)                   This was somewhat slow. This arithmetic
+% happens at every line. This time I tend to declare an extra
+%% TODO v4.4+
+% line counter (as opposed to my usual recommendations to use
+% counters as rarely as possible) which is stepped every line.
+% It could be incremented in the same way as ~\c at LN@truepage~
+% is incremented via ~\cl at page~! This is another point in favour
+% of ~{linenumber}~ being a \LaTeX\ counter!
+% When this new counter equals ~\c at linenumbermodulo~, it is reset,
+% and ~\thelinenumber~ is executed.---It gets much slower by my
+% support of controlling the first line number below. I should
 % improve this.---On
-%%                                                   %% TODO v4.4+--pagewise!? 
-% the other hand, time expense means very little nowadays, 
-% while the number of \TeX\ counters still is limited. 
-% 
-% For the same purpose, moreover, attaching the line number 
-% box could be intercepted earlier (in ~\MakeLineNo~), 
-% without changing ~\LineNumber~. However, this may be 
-% bad for the latter's announcement as a wizard interface 
+%%                                                   %% TODO v4.4+--pagewise!?
+% the other hand, time expense means very little nowadays,
+% while the number of \TeX\ counters still is limited.
+%
+% For the same purpose, moreover, attaching the line number
+% box could be intercepted earlier (in ~\MakeLineNo~),
+% without changing ~\LineNumber~. However, this may be
+% bad for the latter's announcement as a wizard interface
 % in section_\ref{s:UserCmds}.
-%% 
-%% I wonder about Stephan's group. Its only effect is that 
-%% ~\@tempcnta~ is restored after using it. What for is this? 
+%%
+%% I wonder about Stephan's group. Its only effect is that
+%% ~\@tempcnta~ is restored after using it. What for is this?
 %% I tend to remove the group braces.                            %% TODO v4.4+
-% (/UL) 
-% 
-% Here is the new code. It is very near to my ~lnopatch.sty~ 
-% code which introduced the first line number feature 
-% before.---I add starting with a ~\relax~ which is so often 
-% recommended---without understanding this really. At least, 
-% it will not harm.---Former group braces appear as 
-% ~\begingroup~/~\endgroup~ here. 
+% (/UL)
+%
+% Here is the new code. It is very near to my ~lnopatch.sty~
+% code which introduced the first line number feature
+% before.---I add starting with a ~\relax~ which is so often
+% recommended---without understanding this really. At least,
+% it will not harm.---Former group braces appear as
+% ~\begingroup~/~\endgroup~ here.
 
 \def\themodulolinenumber{\relax
-  \ifnum\c at linenumber<\c at firstlinenumber \else 
-    \begingroup 
+  \ifnum\c at linenumber<\c at firstlinenumber \else
+    \begingroup
       \@tempcnta\c at linenumber
-      \advance\@tempcnta-\c at firstlinenumber 
+      \advance\@tempcnta-\c at firstlinenumber
       \divide\@tempcnta\c at linenumbermodulo
       \multiply\@tempcnta\c at linenumbermodulo
-      \advance\@tempcnta\c at firstlinenumber 
+      \advance\@tempcnta\c at firstlinenumber
       \ifnum\@tempcnta=\c at linenumber \thelinenumber \fi
-    \endgroup 
-  \fi 
+    \endgroup
+  \fi
 }
 
-% (/New v4.00) 
-% 
+% (/New v4.00)
+%
 % The user command to set the modulo counter:
-% (New v4.31) \dots\ a star variant is introduced to implement 
-% Hillel Chayim Yisraeli's idea to print the first line number 
-% after an interruption of the edited text by some editor's 
-% text, regardless of the modulo. If it is 1, it is printed only 
+% (New v4.31) \dots\ a star variant is introduced to implement
+% Hillel Chayim Yisraeli's idea to print the first line number
+% after an interruption of the edited text by some editor's
+% text, regardless of the modulo. If it is 1, it is printed only
 % with ~\firstlinenumber{1}~. I.e., you use ~\modulolinenumbers*~
-% for the new feature, without the star you get the simpler 
-% behaviour that we have had so far. And you can switch back 
-% from the refined behaviour to the simple one by using 
-% ~\modulolinenumbers~ without the star.---This enhancement 
-% is accompanied by a new package option ~modulo*~ which just 
-% executes ~\modulolinenumbers*~ 
-% (subsection_\ref{ss:v3opts}).---`With ~\firstlinenumber{1}~' 
-% exactly means: `1' is printed if and only if the last 
-% ~\firstlinenumber~ before or in the paragraph that follows 
-% the ``interruption'' has argument `1' (or something 
-% \emph{expanding} to `1', or (to) something that \TeX\ 
-% ``reads'' as 1, e.g.: a \TeX\ count register storing 
-% 1).---At present, this behaviour may be unsatisfactory with 
-% pagewise line-numbering $\dots$ I'll make an experimental 
+% for the new feature, without the star you get the simpler
+% behaviour that we have had so far. And you can switch back
+% from the refined behaviour to the simple one by using
+% ~\modulolinenumbers~ without the star.---This enhancement
+% is accompanied by a new package option ~modulo*~ which just
+% executes ~\modulolinenumbers*~
+% (subsection_\ref{ss:v3opts}).---`With ~\firstlinenumber{1}~'
+% exactly means: `1' is printed if and only if the last
+% ~\firstlinenumber~ before or in the paragraph that follows
+% the ``interruption'' has argument `1' (or something
+% \emph{expanding} to `1', or (to) something that \TeX\
+% ``reads'' as 1, e.g.: a \TeX\ count register storing
+% 1).---At present, this behaviour may be unsatisfactory with
+% pagewise line-numbering $\dots$ I'll make an experimental
 % extra package if someone complains \dots
 
-\newcommand\modulolinenumbers{% 
+\newcommand\modulolinenumbers{%
   \@ifstar
-    {\def\@LN at maybe@moduloresume{% 
+    {\def\@LN at maybe@moduloresume{%
        \global\let\@LN at maybe@normalLineNumber
-                            \@LN at normalLineNumber}% 
-                                       \@LN at modulolinenos}% 
+                            \@LN at normalLineNumber}%
+                                       \@LN at modulolinenos}%
     {\let\@LN at maybe@moduloresume\relax \@LN at modulolinenos}%
 }
 
-\global\let\@LN at maybe@normalLineNumber\relax 
-\let\@LN at maybe@moduloresume\relax 
-\gdef\@LN at normalLineNumber{% 
-  \ifnum\c at linenumber=\c at firstlinenumber \else 
+\global\let\@LN at maybe@normalLineNumber\relax
+\let\@LN at maybe@moduloresume\relax
+\gdef\@LN at normalLineNumber{%
+  \ifnum\c at linenumber=\c at firstlinenumber \else
     \ifnum\c at linenumber>\@ne
-      \def\LineNumber{\thelinenumber}% 
-    \fi 
-  \fi 
+      \def\LineNumber{\thelinenumber}%
+    \fi
+  \fi
 %%
-% ~\def~ instead of ~\let~ enables taking account of a 
-% redefinition of ~\thelinenumber~ in a present numbering 
-% environment (e.g.). 
+% ~\def~ instead of ~\let~ enables taking account of a
+% redefinition of ~\thelinenumber~ in a present numbering
+% environment (e.g.).
 %%
   \global\let\@LN at maybe@normalLineNumber\relax}
 
-% Instead of changing ~\LineNumber~ directly by 
+% Instead of changing ~\LineNumber~ directly by
 % ~LN at moduloresume~, these tricks enable ~\modulolinenumbers*~
-% to act as locally as I can make it. I don't know how to 
-% avoid that the output routine switches back to the normal 
-% modulo behaviour by a global change. (An ~\aftergroup~ may 
+% to act as locally as I can make it. I don't know how to
+% avoid that the output routine switches back to the normal
+% modulo behaviour by a global change. (An ~\aftergroup~ may
 % fail in admittedly improbable cases.)
 
 \newcommand*\@LN at modulolinenos[1][\z@]{%
-%% 
-% The definition of this macro is that of the former 
-% ~\modulolinenumbers~.                 (/New v4.31) 
 %%
+% The definition of this macro is that of the former
+% ~\modulolinenumbers~.                 (/New v4.31)
+%%
   \let\LineNumber\themodulolinenumber
-  \ifnum#1>\@ne 
-    \chardef                      % v4.22, note below 
+  \ifnum#1>\@ne
+    \chardef                      % v4.22, note below
       \c at linenumbermodulo#1\relax
-  \else\ifnum#1=\@ne 
+  \else\ifnum#1=\@ne
 %                                                  \begin{old}\begin{verbatim}
 % %    \def\LineNumber{\thelinenumber}%
 % \end{verbatim}
-%                                                                    \end{old} 
-% (New v4.00)         I am putting something here to enable 
-% ~\firstlinenumber~ with $~\c at linenumbermodulo~=1$. 
-% With ~lnopatch.sty~, a trick was offered for this purpose. 
-% It is now obsolete. 
-% 
-    \def\LineNumber{\@LN at ifgreat\thelinenumber}% 
-%% 
-% (/New v4.00) 
-%% 
+%                                                                    \end{old}
+% (New v4.00)         I am putting something here to enable
+% ~\firstlinenumber~ with $~\c at linenumbermodulo~=1$.
+% With ~lnopatch.sty~, a trick was offered for this purpose.
+% It is now obsolete.
+%
+    \def\LineNumber{\@LN at ifgreat\thelinenumber}%
+%%
+% (/New v4.00)
+%%
   \fi\fi
   }
 
-% (New v4.00)                The default of ~\@LN at ifgreat~ is 
+% (New v4.00)                The default of ~\@LN at ifgreat~ is
 
 \let\@LN at ifgreat\relax
 
-% The previous changes as soon as ~\firstlinenumber~ is used: 
+% The previous changes as soon as ~\firstlinenumber~ is used:
 
-\newcommand*\firstlinenumber[1]{% 
-  \chardef\c at firstlinenumber#1\relax 
-%% 
-% No counter, little values allowed only---OK?---(UL) 
-% The change is local---OK? The good thing is that 
-% ~\global\firstlinenumber{~<number>~}~ works. Moreover, 
+\newcommand*\firstlinenumber[1]{%
+  \chardef\c at firstlinenumber#1\relax
+%%
+% No counter, little values allowed only---OK?---(UL)
+% The change is local---OK? The good thing is that
+% ~\global\firstlinenumber{~<number>~}~ works. Moreover,
 % ~\modulolinenumbers~ acts locally as well.    (/UL)
 %
-% (New v4.31) 
-%% 
-  \let\@LN at ifgreat\@LN at ifgreat@critical} 
+% (New v4.31)
+%%
+  \let\@LN at ifgreat\@LN at ifgreat@critical}
 
 \def\@LN at ifgreat@critical{%
-  \ifnum\c at linenumber<\c at firstlinenumber 
-    \expandafter \@gobble 
-  \fi}% 
+  \ifnum\c at linenumber<\c at firstlinenumber
+    \expandafter \@gobble
+  \fi}%
 
-% (/New v4.31) 
-% 
-% The default 
-% value of ~\c at firstlinenumber~                                %% v4.31 
-% is 0. This is best for what one would expect from modulo 
-% printing. 
+% (/New v4.31)
+%
+% The default
+% value of ~\c at firstlinenumber~                                %% v4.31
+% is 0. This is best for what one would expect from modulo
+% printing.
 
 \let\c at firstlinenumber=\z@
 
-% 
-% For usage and effects of ~\modulolinenumbers~ and            %% v4.31 
-% ~\firstlinenumbers~, please consult section_\ref{s:UserCmds}. 
-% Two details on ~\firstlinenumbers~ here: 
-% (i)_~\firstlinenumber~ acts on a paragraph if and only if 
-% (a)_the paragraph is broken into lines ``in line-numbering 
-% mode'' (after ~\linenumbers~, e.g.); 
-% (b)_it is the last occurrence of a ~\firstlinenumbers~ 
-% before or in the paragraph. 
-% (The practical applications of this that I can imagine 
-% don't seem appealing to me.) 
-% Cf._the explanation above of how ~\modulolinenumbers~ and 
-% ~\firstlinenumbers~ interact---for this and for (ii), 
-% which is concerned with possible arguments for 
-% ~\firstlinenumbers~. 
-% 
-% Note that the line numbers of the present section 
-% demonstrate the two devices.         (/New v4.00) 
+%
+% For usage and effects of ~\modulolinenumbers~ and            %% v4.31
+% ~\firstlinenumbers~, please consult section_\ref{s:UserCmds}.
+% Two details on ~\firstlinenumbers~ here:
+% (i)_~\firstlinenumber~ acts on a paragraph if and only if
+% (a)_the paragraph is broken into lines ``in line-numbering
+% mode'' (after ~\linenumbers~, e.g.);
+% (b)_it is the last occurrence of a ~\firstlinenumbers~
+% before or in the paragraph.
+% (The practical applications of this that I can imagine
+% don't seem appealing to me.)
+% Cf._the explanation above of how ~\modulolinenumbers~ and
+% ~\firstlinenumbers~ interact---for this and for (ii),
+% which is concerned with possible arguments for
+% ~\firstlinenumbers~.
+%
+% Note that the line numbers of the present section
+% demonstrate the two devices.         (/New v4.00)
 
 %%\setcounter{linenumbermodulo}{5}
-\chardef\c at linenumbermodulo=5      % v4.2; ugly? 
+\chardef\c at linenumbermodulo=5      % v4.2; ugly?
 \modulolinenumbers[1]
 
-% (New v4.22)       The new implementation through ~\chardef~ 
-% decreases the functionality and raises certain compatibility 
-% problems. I face this without fear. The maximum modulo value 
-% is now ~255~. I expect that this suffices for usual applications. 
-% However, some users have ``abused'' ~lineno.sty~ to get 
-% ~ednotes.sty~ features without line numbers, so have set the 
-% modulo to a value beyond the total number of lines in their 
-% edition. This ought to be replaced by 
-% ~\let\makeLineNumber\relax~.          (/New v4.22) 
-% 
-%                                                                   \section{% 
+% (New v4.22)       The new implementation through ~\chardef~
+% decreases the functionality and raises certain compatibility
+% problems. I face this without fear. The maximum modulo value
+% is now ~255~. I expect that this suffices for usual applications.
+% However, some users have ``abused'' ~lineno.sty~ to get
+% ~ednotes.sty~ features without line numbers, so have set the
+% modulo to a value beyond the total number of lines in their
+% edition. This ought to be replaced by
+% ~\let\makeLineNumber\relax~.          (/New v4.22)
+%
+%                                                                   \section{%
 %               Package options
-%                                                       \unskip}\label{s:Opts} 
-% 
-% (New v4.1) 
-% The last heading formerly was the heading of what is now 
-% subsection_\ref{ss:v3opts}. The options declared there were 
-% said to execute user commands only. This was wrong already 
-% concerning ~displaymath~ and ~hyperref~. At least, however, 
-% these options were no or almost no occasion to skip definitions 
-% or allocations. This is different with the options that we now 
-% insert. 
-% 
-%% (New v4.2)   v4.00 moved the ``options'' below the 
-%% ``extensions''. This was bad with ~\do at mlineno~ in 
-%% subsection_\ref{ss:v3opts} which is to control 
-%% subsection_\ref{ss:display}---undone here.  (/New v4.2) 
+%                                                       \unskip}\label{s:Opts}
 %
+% (New v4.1)
+% The last heading formerly was the heading of what is now
+% subsection_\ref{ss:v3opts}. The options declared there were
+% said to execute user commands only. This was wrong already
+% concerning ~displaymath~ and ~hyperref~. At least, however,
+% these options were no or almost no occasion to skip definitions
+% or allocations. This is different with the options that we now
+% insert.
+%
+%% (New v4.2)   v4.00 moved the ``options'' below the
+%% ``extensions''. This was bad with ~\do at mlineno~ in
+%% subsection_\ref{ss:v3opts} which is to control
+%% subsection_\ref{ss:display}---undone here.  (/New v4.2)
+%
 %                                                                \subsection{%
 %               Extended referencing to line numbers. (v4.2)
 %                                                                     \unskip}
 % This subsection explains and declares package option ~addpageno~.   %% v4.31
-% 
-% If a line to whose number you refer by ~\ref~ is not on the 
-% present page, it may be useful to add the number of the page 
-% on which the line occurs---and perhaps it should not be added 
-% otherwise. In general, you could use the Standard \LaTeX\ 
-% package varioref for this. However, the latter usually 
+%
+% If a line to whose number you refer by ~\ref~ is not on the
+% present page, it may be useful to add the number of the page
+% on which the line occurs---and perhaps it should not be added
+% otherwise. In general, you could use the Standard \LaTeX\
+% package varioref for this. However, the latter usually
 % produces verbose output like `on the preceding page'---
-% unless costumized---, while in critical editions, e.g., one 
-% may prefer just adding the page number and some mark on the 
-% left of the line number, irrespectively of how far the page is 
-% apart etc. To support this, package option ~addpageno~ 
-% provides a command ~\vpagelineref~ to be used in place of 
-% ~\ref~. This produces, e.g., `34.15' when referring to line_15 
-% on page_34 while the present page is not 34. You can customize 
-% the outcome, see the package file ~vplref.sty~ where the code 
-% and further details are. You may conceive of 
-% ~\vpagelineref~ as a certain customization of varioref's 
-% ~\vref~. 
-% 
-% This implies that option ~addpageno~ requires the files 
-% ~vplref.sty~ and ~varioref.sty~. ~addpageno~ automatically 
-% loads both of them. Yet you can also load ~varioref.sty~ 
-% on your own to use its package options. 
-% 
-% Of course, you might better introduce a shorter command name 
-% for ~\vpagelineref~ for your work, while we cannot predict 
-% here what shorthand will fit your work. E.g., 
+% unless costumized---, while in critical editions, e.g., one
+% may prefer just adding the page number and some mark on the
+% left of the line number, irrespectively of how far the page is
+% apart etc. To support this, package option ~addpageno~
+% provides a command ~\vpagelineref~ to be used in place of
+% ~\ref~. This produces, e.g., `34.15' when referring to line_15
+% on page_34 while the present page is not 34. You can customize
+% the outcome, see the package file ~vplref.sty~ where the code
+% and further details are. You may conceive of
+% ~\vpagelineref~ as a certain customization of varioref's
+% ~\vref~.
+%
+% This implies that option ~addpageno~ requires the files
+% ~vplref.sty~ and ~varioref.sty~. ~addpageno~ automatically
+% loads both of them. Yet you can also load ~varioref.sty~
+% on your own to use its package options.
+%
+% Of course, you might better introduce a shorter command name
+% for ~\vpagelineref~ for your work, while we cannot predict
+% here what shorthand will fit your work. E.g.,
 % ~\newcommand{\lref}{\vpagelineref}~.
-% 
-% If you really want to add the page number in \emph{any} case, 
-% use, e.g., some ~\myref~ instead of ~\ref~, after 
-%   \[~newcommand*{\myref}{\pageref{#1}.\ref{#1}}~\] 
-% or what you like. You don't need the ~addpageno~ option in 
-% this case. 
-% 
-% ~addpageno~ is due to a suggestion by Sergei Mariev. 
+%
+% If you really want to add the page number in \emph{any} case,
+% use, e.g., some ~\myref~ instead of ~\ref~, after
+%   \[~newcommand*{\myref}{\pageref{#1}.\ref{#1}}~\]
+% or what you like. You don't need the ~addpageno~ option in
+% this case.
+%
+% ~addpageno~ is due to a suggestion by Sergei Mariev.
 
-\DeclareOption{addpageno}{% 
-  \AtEndOfPackage{\RequirePackage{vplref}[2005/04/25]}} 
+\DeclareOption{addpageno}{%
+  \AtEndOfPackage{\RequirePackage{vplref}[2005/04/25]}}
 
-%                                                                \subsection{% 
-%               \scs{linelabel} in math mode 
+%                                                                \subsection{%
+%               \scs{linelabel} in math mode
 %                                                   \unskip}\label{ss:MathRef}
-% 
-% We have made some first steps towards allowing ~\linelabel~ in 
-% math mode. Because our code for this is presently experimental, 
-% we leave it to the user to decide for the experiment by calling 
-% option ~mathrefs~. We are in a hurry now and thus leave the 
-% code, explanations, and discussion in the separate package 
-% ~ednmath0.sty~. Maybe we later find the time to improve the 
-% code and move the relevant content of ~ednmath0.sty~ to here. 
-% The optimal situation would be to define ~\linelabel~ from 
-% the start so it works in math mode, omitting the ~mathrefs~ 
-% option. 
-% 
-% Actually, this package even provides adjustments for analogously 
-% allowing ~ednotes.sty~ commands in math mode. Loading the package 
-% is postponed to ~\AtBeginDocument~ when we know whether these 
-% adjustments are needed. 
+%
+% We have made some first steps towards allowing ~\linelabel~ in
+% math mode. Because our code for this is presently experimental,
+% we leave it to the user to decide for the experiment by calling
+% option ~mathrefs~. We are in a hurry now and thus leave the
+% code, explanations, and discussion in the separate package
+% ~ednmath0.sty~. Maybe we later find the time to improve the
+% code and move the relevant content of ~ednmath0.sty~ to here.
+% The optimal situation would be to define ~\linelabel~ from
+% the start so it works in math mode, omitting the ~mathrefs~
+% option.
+%
+% Actually, this package even provides adjustments for analogously
+% allowing ~ednotes.sty~ commands in math mode. Loading the package
+% is postponed to ~\AtBeginDocument~ when we know whether these
+% adjustments are needed.
 
-\DeclareOption{mathrefs}{\AtBeginDocument 
-  {\RequirePackage{ednmath0}[2004/08/20]}} 
+\DeclareOption{mathrefs}{\AtBeginDocument
+  {\RequirePackage{ednmath0}[2004/08/20]}}
 
-% 
-%                                                                \subsection{% 
+%
+%                                                                \subsection{%
 %               Arrays, tabular environments (Revised v4.11)
-%                                                       \unskip}\label{ss:Tab} 
-% 
+%                                                       \unskip}\label{ss:Tab}
+%
 % This subsection explains and declares package options               %% v4.31
 % ~edtable~, ~longtable~, and ~nolongtablepatch~.
 %
-% The standard \LaTeX\ tabular environments come as single 
-% boxes, so the ~lineno.sty~ versions before v4.00 treated them as 
-% (parts of) single lines, printing (at most) one line number 
-% beside each and stepping the line number counter once only. 
-% Moreover, ~\linelabel~s got lost. Of course, tables are 
-% usually so high that you will want to treat each row like a 
-% line. (Christian Tapp even desires that the lines of table 
-% entries belonging to a single row are treated like ordinary 
-% lines.) Footnotes get lost in such environments as well, which 
+% The standard \LaTeX\ tabular environments come as single
+% boxes, so the ~lineno.sty~ versions before v4.00 treated them as
+% (parts of) single lines, printing (at most) one line number
+% beside each and stepping the line number counter once only.
+% Moreover, ~\linelabel~s got lost. Of course, tables are
+% usually so high that you will want to treat each row like a
+% line. (Christian Tapp even desires that the lines of table
+% entries belonging to a single row are treated like ordinary
+% lines.) Footnotes get lost in such environments as well, which
 % was bad for ~ednotes.sty~.
-% 
-% We provide adjustments to count lines, print their numbers 
-% etc.\ as desired at least for \emph{some} \LaTeX\ tabular 
-% environments. (Like with other details, ``some'' is to some 
-% extent explained in ~edtable.sty~.) We do this similarly as 
-% with option ~mathrefs~ before.               We leave code 
-% and explanations in the separate package ~edtable.sty~. 
-% (For wizards: this package provides adjustments for 
-% ~ednotes.sty~ as well. However, in the present case we don't try 
-% to avoid them unless ~ednotes.sty~ is loaded.) 
-% Package option ~edtable~ 
-% defines---by loading ~edtable.sty~---an environment ~{edtable}~ 
-% which is able to change some \LaTeX\ tabular environments 
-% with the desired effects. (v4.11: ~edtable.sty~ v1.3 counts 
-% \LaTeX's ~{array}~ [etc.\@] as a ``tabular environment'' as 
-% well.) 
-% 
-% The ~{edtable}~ environment doesn't help with ~longtable.sty~, 
-% however. To make up for this, ~{longtable}~ is adjusted in a 
-% different way---and this happens only when another ~lineno.sty~ 
-% option ~longtable~ is called. In this case, option ~edtable~ 
-% needn't be called explicitly: option ~longtable~ works as if 
-% ~edtable~ had been called. 
-% 
-% Now, we are convinced that vertical spacing around 
-% ~{longtable}~ works wrongly---see \LaTeX\ bugs database 
-% tools/3180 and 3485, or see explanations in the package 
+%
+% We provide adjustments to count lines, print their numbers
+% etc.\ as desired at least for \emph{some} \LaTeX\ tabular
+% environments. (Like with other details, ``some'' is to some
+% extent explained in ~edtable.sty~.) We do this similarly as
+% with option ~mathrefs~ before.               We leave code
+% and explanations in the separate package ~edtable.sty~.
+% (For wizards: this package provides adjustments for
+% ~ednotes.sty~ as well. However, in the present case we don't try
+% to avoid them unless ~ednotes.sty~ is loaded.)
+% Package option ~edtable~
+% defines---by loading ~edtable.sty~---an environment ~{edtable}~
+% which is able to change some \LaTeX\ tabular environments
+% with the desired effects. (v4.11: ~edtable.sty~ v1.3 counts
+% \LaTeX's ~{array}~ [etc.\@] as a ``tabular environment'' as
+% well.)
+%
+% The ~{edtable}~ environment doesn't help with ~longtable.sty~,
+% however. To make up for this, ~{longtable}~ is adjusted in a
+% different way---and this happens only when another ~lineno.sty~
+% option ~longtable~ is called. In this case, option ~edtable~
+% needn't be called explicitly: option ~longtable~ works as if
+% ~edtable~ had been called.
+%
+% Now, we are convinced that vertical spacing around
+% ~{longtable}~ works wrongly---see \LaTeX\ bugs database
+% tools/3180 and 3485, or see explanations in the package
 % ~ltabptch.sty~ (which is to be obtained from CTAN folder
 % \path{macros/latex/ltabptch}). Our conviction is so strong
 % that the ~longtable~ option loads---after ~longtable.sty~---the
 % patch package ~ltabptch.sty~. If the user doesn't want this
-% (maybe preferring her own arrangement with the vertical 
-% spacing), she can forbid it by calling ~nolongtablepatch~. 
-% 
-% The following code just collects some choices, which are 
-% then executed in section_\ref{ss:ExOpt}. We use an ~\if...~ 
-% without ~\newif~ since ~\if...true~ and ~\if...false~ 
-% would occur at most two times and only within the present 
-% package. (~\AtEndOfClass{\RequirePackage{edtable}}~ 
-% could be used instead, I just overlooked this. Now I don't 
-% change it because it allows to change the version requirement 
+% (maybe preferring her own arrangement with the vertical
+% spacing), she can forbid it by calling ~nolongtablepatch~.
+%
+% The following code just collects some choices, which are
+% then executed in section_\ref{ss:ExOpt}. We use an ~\if...~
+% without ~\newif~ since ~\if...true~ and ~\if...false~
+% would occur at most two times and only within the present
+% package. (~\AtEndOfClass{\RequirePackage{edtable}}~
+% could be used instead, I just overlooked this. Now I don't
+% change it because it allows to change the version requirement
 % at one place only.)
 
-\let\if at LN@edtable\iffalse 
+\let\if at LN@edtable\iffalse
 
 \DeclareOption{edtable}{\let\if at LN@edtable\iftrue}
 
-\DeclareOption{longtable}{\let\if at LN@edtable\iftrue 
+\DeclareOption{longtable}{\let\if at LN@edtable\iftrue
   \PassOptionsToPackage{longtable}{edtable}}
 
-\DeclareOption{nolongtablepatch}{% 
+\DeclareOption{nolongtablepatch}{%
   \PassOptionsToPackage{nolongtablepatch}{edtable}}
 
-% (/New v4.1) 
-% 
-%                                                                \subsection{% 
-%               Switch among settings 
+% (/New v4.1)
+%
+%                                                                \subsection{%
+%               Switch among settings
 %                                                    \unskip}\label{ss:v3opts}
-% 
-% There is a bunch of package options that execute                     %% v4.2 
-%% There is a bunch of package options, all of them executing 
-%% executing only user commands (see below). %% Cf. start of section. 
-% user commands only. 
 %
+% There is a bunch of package options that execute                     %% v4.2
+%% There is a bunch of package options, all of them executing
+%% executing only user commands (see below). %% Cf. start of section.
+% user commands only.
+%
 % Options ~left~ (~right~) put the line numbers on the left
 % (right) margin.  This works in all modes.  ~left~ is the
 % default.
@@ -2445,9 +2447,9 @@
                         \switchlinenumbers*%
                         \runningpagewiselinenumbers}
 
-% In twocolumn mode, we can switch the line numbers to 
+% In twocolumn mode, we can switch the line numbers to
 % the outer margin, and/or start with number 1 in each
-% column.  Margin switching is covered by the ~switch~ 
+% column.  Margin switching is covered by the ~switch~
 % options.
 
 \DeclareOption{columnwise}{\setpagewiselinenumbers
@@ -2464,7 +2466,7 @@
 % come to rest.  This allows the subtraction of the page
 % offset, getting the numbers starting with 1 on top of each
 % page, and margin switching in twoside formats becomes
-% possible.  The default mode is ~running~.  
+% possible.  The default mode is ~running~.
 %
 % The order of declaration of the options is important here
 % ~pagewise~ must come after ~switch~, to overide running
@@ -2482,12 +2484,12 @@
 \DeclareOption{running}{\setrunninglinenumbers}
 
 % The option ~modulo~ causes only those linenumbers to be
-% printed which are multiples of five. 
+% printed which are multiples of five.
 
 \DeclareOption{modulo}{\modulolinenumbers\relax}
 
-% Option ~modulo*~ modifies ~modulo~ in working like 
-% ~\modulolinenumbers*~---see section_\ref{s:UserCmds}. 
+% Option ~modulo*~ modifies ~modulo~ in working like
+% ~\modulolinenumbers*~---see section_\ref{s:UserCmds}.
 
 \DeclareOption{modulo*}{\modulolinenumbers*\relax}
 
@@ -2501,29 +2503,29 @@
 
 \DeclareOption{mathlines}{\linenumberdisplaymath}
 
-% ~displaymath~ now calls for wrappers of the standard 
-% \LaTeX\ display math environment.  This was previously 
+% ~displaymath~ now calls for wrappers of the standard
+% \LaTeX\ display math environment.  This was previously
 % done by ~mlineno.sty~.
-% 
-% (New v4.3) Option `displaymath' becomes default according 
-% to Erik \mbox{Luijten}'s suggestion. I was finally convinced 
-% of this as soon as I discovered how to avoid a spurious line 
-% number above ~\begin{linenomath}~ (subsection_\ref{ss:DM}). 
-% ~\endlinenomath~ provides ~\ignorespaces~, so what could go 
-% wrong now? 
+%
+% (New v4.3) Option `displaymath' becomes default according
+% to Erik \mbox{Luijten}'s suggestion. I was finally convinced
+% of this as soon as I discovered how to avoid a spurious line
+% number above ~\begin{linenomath}~ (subsection_\ref{ss:DM}).
+% ~\endlinenomath~ provides ~\ignorespaces~, so what could go
+% wrong now?
 
 \DeclareOption{displaymath}{\PackageWarningNoLine{lineno}{%
-                Option [displaymath] is obsolete -- default now!}} 
-%% 
+                Option [displaymath] is obsolete -- default now!}}
+%%
 %%\let\do at mlineno\relax
 %%\DeclareOption{displaymath}{\let\do at mlineno\@empty}
-% (/New v4.3) 
-% 
+% (/New v4.3)
+%
 %                                                                \subsection{%
-%               Compatibility with \texttt{hyperref}      %% own subsec. v4.3. 
+%               Compatibility with \texttt{hyperref}      %% own subsec. v4.3.
 %                                                                     \unskip}
-% The ~hyperref~ package, via ~nameref~, requires three more 
-% groups in the second argment of a ~\newlabel~.  Well, why 
+% The ~hyperref~ package, via ~nameref~, requires three more
+% groups in the second argment of a ~\newlabel~.  Well, why
 % shouldn't it get them?  (New v3.07) The presence of the
 % ~nameref~ package is now detected automatically
 % ~\AtBeginDocument~. (/New v3.07) (Fixed in v3.09)  We try
@@ -2530,95 +2532,95 @@
 % to be smart, and test ~\AtBeginDocument~ if the ~nameref~
 % package is loaded, but ~hyperref~ postpones the loading of
 % ~nameref~ too, so this is all in vain.
-% 
-% (New v4.3)  But we can also test at the first ~\linelabel~. 
-% Regarding the error-message for misplaced ~\linelabel~ from v4.11: 
-% previously, ~\linenumbers~ rendered ~\linelabel~ the genuine 
-% version of ~\linelabel~ from the start on. This doesn't work 
-% now, since ~\@LN at linelabel~ may change its meaning after the 
-% first ~\linenumbers~ and before a next one (if there is some). 
-%     (/New v4.3) 
+%
+% (New v4.3)  But we can also test at the first ~\linelabel~.
+% Regarding the error-message for misplaced ~\linelabel~ from v4.11:
+% previously, ~\linenumbers~ rendered ~\linelabel~ the genuine
+% version of ~\linelabel~ from the start on. This doesn't work
+% now, since ~\@LN at linelabel~ may change its meaning after the
+% first ~\linenumbers~ and before a next one (if there is some).
+%     (/New v4.3)
 
 \DeclareOption{hyperref}{\PackageWarningNoLine{lineno}{%
-                Option [hyperref] is obsolete. 
+                Option [hyperref] is obsolete.
   \MessageBreak The hyperref package is detected automatically.}}
 
-\AtBeginDocument{% 
+\AtBeginDocument{%
   \@ifpackageloaded{nameref}{%
-%% 
-% (New v4.3)  ``Global'' is merely ``symbolic'' ~\AtBeginDoc...~. 
-% If ~nameref~ is not detected here, the next ~\@LN at linelabel~ 
-% will do almost the same, then globally indeed. 
 %%
-    \gdef\@LN at ExtraLabelItems{{}{}{}}% 
+% (New v4.3)  ``Global'' is merely ``symbolic'' ~\AtBeginDoc...~.
+% If ~nameref~ is not detected here, the next ~\@LN at linelabel~
+% will do almost the same, then globally indeed.
+%%
+    \gdef\@LN at ExtraLabelItems{{}{}{}}%
   }{%
-    \global\let\@LN@@linelabel\@LN at linelabel 
-    \gdef\@LN at linelabel{% 
-%% 
-% ~\@ifpackageloaded~ is ``preamble only'', its---very 
-% internal---preamble definition is replicated here: 
+    \global\let\@LN@@linelabel\@LN at linelabel
+    \gdef\@LN at linelabel{%
 %%
-     \expandafter 
-      \ifx\csname ver at nameref.sty\endcsname\relax \else 
-        \gdef\@LN at ExtraLabelItems{{}{}{}}% 
-      \fi 
-%% 
-% Now aim at the ``usual'' behaviour: 
-%% 
-      \global\let\@LN at linelabel\@LN@@linelabel 
-      \global\let\@LN@@linelabel\relax 
+% ~\@ifpackageloaded~ is ``preamble only'', its---very
+% internal---preamble definition is replicated here:
+%%
+     \expandafter
+      \ifx\csname ver at nameref.sty\endcsname\relax \else
+        \gdef\@LN at ExtraLabelItems{{}{}{}}%
+      \fi
+%%
+% Now aim at the ``usual'' behaviour:
+%%
+      \global\let\@LN at linelabel\@LN@@linelabel
+      \global\let\@LN@@linelabel\relax
       \@LN at linelabel
-    }% 
+    }%
   }%
-} 
+}
 
-% (/New v4.3) 
-% 
-% (New v4.1) 
-%                                                                \subsection{% 
-%               A note on calling so many options 
-%                                                                     \unskip} 
-% 
-% The number of package options may stimulate worrying about how to 
-% \emph{enter} all the options that one would like to use---they may 
-% not fit into one line. Fortunately, you can safely break code lines 
+% (/New v4.3)
+%
+% (New v4.1)
+%                                                                \subsection{%
+%               A note on calling so many options
+%                                                                     \unskip}
+%
+% The number of package options may stimulate worrying about how to
+% \emph{enter} all the options that one would like to use---they may
+% not fit into one line. Fortunately, you can safely break code lines
 % after the commas separating the option names in the ~\usepackage~
-% command (no comment marks needed). 
-% 
-%                                                                \subsection{% 
+% command (no comment marks needed).
+%
+%                                                                \subsection{%
 %               Execute options
 %                                                     \unskip}\label{ss:ExOpt}
-% 
-% We stop declaring options and execute the ones that are 
+%
+% We stop declaring options and execute the ones that are
 % called by the user.       (/New v4.1)
 
 \ProcessOptions
 
-% (New v4.1)        Now we know whether ~edtable.sty~ is wanted 
-% and (if it is) with which options it is to be called. 
+% (New v4.1)        Now we know whether ~edtable.sty~ is wanted
+% and (if it is) with which options it is to be called.
 
-\if at LN@edtable \RequirePackage{edtable}[2005/03/07] \fi 
+\if at LN@edtable \RequirePackage{edtable}[2005/03/07] \fi
 
-% (/New v4.1) 
-% 
+% (/New v4.1)
+%
 %                                                                   \section{%
-%               Former package extensions 
+%               Former package extensions
 %                                                         \label{s:Xt}\unskip}
 %
-% The extensions in this section were previously supplied 
-% in separate ~.sty~ files. 
+% The extensions in this section were previously supplied
+% in separate ~.sty~ files.
 %
 %                                                                \subsection{%
 %              $display math$
 %                                                   \unskip}\label{ss:display}
-%% (New v4.32) 
-% (New v4.3)    From now on, you no longer need to type 
-% the ~{linenomath}~ environment with the ~\[~, ~{equation}~, 
-% and ~{eqnarray}~ environments---and you no longer need to 
-% use the former package option ~displaymath~ for this feature. 
-%                                                   (/New v4.3) 
-%% (/New v4.32) 
-% 
+%% (New v4.32)
+% (New v4.3)    From now on, you no longer need to type
+% the ~{linenomath}~ environment with the ~\[~, ~{equation}~,
+% and ~{eqnarray}~ environments---and you no longer need to
+% use the former package option ~displaymath~ for this feature.
+%                                                   (/New v4.3)
+%% (/New v4.32)
+%
 %  The standard \LaTeX\ display math environments are
 %  wrapped in a ~{linenomath}~ environment.
 %
@@ -2632,20 +2634,20 @@
 % (New 3.05a)  for ~{eqnarray}~s we rather keep the
 % old trick.                            (/New 3.05a)
 %
-% (New 3.08) Wrap ~\[~ and ~\]~ into ~{linenomath}~, 
+% (New 3.08) Wrap ~\[~ and ~\]~ into ~{linenomath}~,
 % instead of ~{displaymath}~.  Also save the definition
-% of ~\equation~, instead of replicating the current 
+% of ~\equation~, instead of replicating the current
 % \LaTeX\ definition.                    (/New 3.08)
 
 %%\ifx\do at mlineno\@empty
  \@ifundefined{mathindent}{
 
-%% \AtBeginDocument{% 
+%% \AtBeginDocument{%
   \let\LN at displaymath\[%
   \let\LN at enddisplaymath\]%
   \renewcommand\[{\begin{linenomath}\LN at displaymath}%
   \renewcommand\]{\LN at enddisplaymath\end{linenomath}}%
-% 
+%
   \let\LN at equation\equation
   \let\LN at endequation\endequation
   \renewenvironment{equation}%
@@ -2653,7 +2655,7 @@
      {\LN at endequation\endlinenomath}%
 %% }
 
- }{}% \@ifundefined{mathindent} -- 3rd arg v4.2, was \par! 
+ }{}% \@ifundefined{mathindent} -- 3rd arg v4.2, was \par!
 
 %%\AtBeginDocument{%
   \let\LN at eqnarray\eqnarray
@@ -2662,41 +2664,41 @@
      {\linenomath\LN at eqnarray}%
      {\LN at endeqnarray\endlinenomath}%
 %%}
-  
+
 %%\fi
 
-% (UL)        Indeed. The \LaTeX\ macros are saved for 
-% unnumbered mode, which is detected by ~\linenomath~. 
-% (/UL) 
+% (UL)        Indeed. The \LaTeX\ macros are saved for
+% unnumbered mode, which is detected by ~\linenomath~.
+% (/UL)
 %
 %                                                                \subsection{%
 %      Line numbers in internal vertical mode
 %                                                       \unskip}\label{ss:ILN}
 %
-% The command ~\internallinenumbers~ adds line numbers in 
+% The command ~\internallinenumbers~ adds line numbers in
 % internal vertical mode, but with limitations: we assume
 % fixed baseline skip.
 %
-% (v4.22)       v3.10 provided a global (~\global\advance~) 
-% as well as a local version (star-form, using 
-% ~\c at internallinenumber~). ~\resetlinenumbers~ acted 
-% locally and was here used with the global version---save 
-% stack danger, \TeX book p._301---in v4.00 I 
-% disabled the global version therefore. Now I find that 
-% it is better to keep a global version, and the now global 
-% ~\resetlinenumbers~ is perfect for this. The global version 
-% allows continuing the ``internal'' numbers in the ensuing 
-% ``external'' text, and---unless reset by brackets 
-% argument---continuing the above series of line numbers. 
-% As with v3.10, the local version always starts with 
-% line number one. A new ~\@LN at iglobal~ steps ~\global~ly 
-% in the global version, otherwise it is ~\relax~. 
-% (I also remove all my stupid discussions as of v4.00. 
+% (v4.22)       v3.10 provided a global (~\global\advance~)
+% as well as a local version (star-form, using
+% ~\c at internallinenumber~). ~\resetlinenumbers~ acted
+% locally and was here used with the global version---save
+% stack danger, \TeX book p._301---in v4.00 I
+% disabled the global version therefore. Now I find that
+% it is better to keep a global version, and the now global
+% ~\resetlinenumbers~ is perfect for this. The global version
+% allows continuing the ``internal'' numbers in the ensuing
+% ``external'' text, and---unless reset by brackets
+% argument---continuing the above series of line numbers.
+% As with v3.10, the local version always starts with
+% line number one. A new ~\@LN at iglobal~ steps ~\global~ly
+% in the global version, otherwise it is ~\relax~.
+% (I also remove all my stupid discussions as of v4.00.
 % And I use ~\newcommand~.)     (v4.22)
 
-\let\@LN at iglobal\global                           % v4.22 
+\let\@LN at iglobal\global                           % v4.22
 
-\newcommand\internallinenumbers{\setrunninglinenumbers 
+\newcommand\internallinenumbers{\setrunninglinenumbers
      \let\@@par\internallinenumberpar
      \ifx\@par\@@@par\let\@par\internallinenumberpar\fi
      \ifx\par\@@@par\let\par\internallinenumberpar\fi
@@ -2715,7 +2717,7 @@
 \newcount\c at internallinenumber
 \newcount\c at internallinenumbers
 
-\newcommand\internallinenumberpar{% 
+\newcommand\internallinenumberpar{%
      \ifvmode\@@@par\else\ifinner\@@@par\else\@@@par
      \begingroup
         \c at internallinenumbers\prevgraf
@@ -2724,14 +2726,14 @@
         \ht\@tempboxa\z@
         \nobreak\vskip-\prevdepth
         \nointerlineskip\box\@tempboxa
-     \endgroup 
+     \endgroup
      \fi\fi
      }
 
-\newcommand\makeinternalLinenumbers{% 
+\newcommand\makeinternalLinenumbers{%
    \ifnum\c at internallinenumbers>\z@               % v4.2
-   \hb at xt@\z@{\makeLineNumber}% 
-   \@LN at iglobal                                   % v4.22 
+   \hb at xt@\z@{\makeLineNumber}%
+   \@LN at iglobal                                   % v4.22
      \advance\c at linenumber\@ne
    \advance\c at internallinenumbers\m at ne
    \expandafter\makeinternalLinenumbers\fi
@@ -2738,7 +2740,7 @@
    }
  % TODO v4.4+: star: line numbers right!? cf. lnocapt.sty
 
-% 
+%
 %                                                                \subsection{%
 %      Line number references with offset
 %                                                                     \unskip}
@@ -2788,8 +2790,8 @@
 \newcommand*\@linerefadd[2]{\c at linenumber=#1\@@linerefadd\relax
                             \thelinenumber}
 
-%%                           TODO v4.4+: Insert `LN' in internal command names? 
-% 
+%%                           TODO v4.4+: Insert `LN' in internal command names?
+%
 %                                                                 \subsection{%
 %      Numbered quotation environments
 %                                                                     \unskip}
@@ -2797,14 +2799,14 @@
 % The ~{numquote}~ and ~{numquotation}~
 % environments are like ~{quote}~ and
 % ~{quotation}~, except there will be line
-% numbers.  
-% 
+% numbers.
+%
 % An optional argument gives the number to count
 % from.  A star ~*~ (inside or outside the closing
 % ~}~) prevent the reset of the line numbers.
 % Default is to count from one.
-% 
-% (v4.22: A local version using ~\c at internallinenumber~ 
+%
+% (v4.22: A local version using ~\c at internallinenumber~
 % might be useful, see subsection_\ref{ss:ILN}.)                 %% TODO v4.4+
 
 \newcommand\quotelinenumbers
@@ -2827,7 +2829,7 @@
 \newenvironment{numquote*}    {\quote\numquotelist*}{\endquote}
 \newenvironment{numquotation*}{\quotation\numquotelist*}{\endquotation}
 
-% 
+%
 %                                                                \subsection{%
 %      Frame around a paragraph
 %                                                                     \unskip}
@@ -2877,238 +2879,294 @@
 \bframesep=\fboxsep
 
 \newbox\bframebox
- 
-% 
-% 
+
+%
+%                                                                \subsection{%
+%               \textsf{amsmath} patches
+%                                                     \unskip}\label{ss:AMSMath}
+%
+% (New v5.0) Patches ~amsmath~ to work with ~lineno~. These patches used to be
+% supplied by the ~linenoamsmath~ package. See ~linenoamsmathdemo.pdf~ for a
+% demonstration.
+%
+
+\RequirePackage{etoolbox}
+
+\newcommand*\linenoamsmath at patch[1]{%
+  \cspreto{#1}{\linenomath}%
+  \cspreto{#1*}{\linenomath}%
+  \csappto{end#1}{\endlinenomath}%
+  \csappto{end#1*}{\endlinenomath}%
+}
+\newcount\linenoamsmath at ams@eqpen
+\cspreto{math at cr@}{\global\@eqpen\numexpr\@eqpen+\linenoamsmath at ams@eqpen\relax}
+\newcommand*\linenoamsmath at patch@ams[1]{%
+  \cspreto{#1}{%
+    \linenomath%
+    \postdisplaypenalty=0%
+    \global\linenoamsmath at ams@eqpen\interdisplaylinepenalty%
+  }%
+  \cspreto{#1*}{%
+    \linenomath%
+    \postdisplaypenalty=0%
+    \global\linenoamsmath at ams@eqpen\interdisplaylinepenalty%
+  }%
+  \csappto{end#1}{%
+    \global\linenoamsmath at ams@eqpen\z@%
+    \endlinenomath%
+  }%
+  \csappto{end#1*}{%
+    \global\linenoamsmath at ams@eqpen\z@%
+    \endlinenomath%
+  }%
+}
+\linenoamsmath at patch{equation}
+\linenoamsmath at patch@ams{multline}
+\linenoamsmath at patch@ams{gather}
+\linenoamsmath at patch@ams{align}
+\linenoamsmath at patch@ams{alignat}
+\linenoamsmath at patch@ams{flalign}
+\let\linenoamsmath at ams@mmeasure\mmeasure@
+\def\mmeasure@#1{%
+  \global\linenoamsmath at ams@eqpen\z@%
+  \begingroup%
+  \interdisplaylinepenalty=0%
+  \linenoamsmath at ams@mmeasure{#1\\}%
+  \endgroup%
+  \global\linenoamsmath at ams@eqpen\interdisplaylinepenalty%
+}
+
+%
+%
 %                                                                   \section{%
 %               Move \scs{vadjust} items (New v4.00)
-%                                                      \unskip}\label{s:MVadj} 
-% 
-% This section completes reviving ~\pagebreak~, ~\nopagebreak~, 
-% ~\vspace~, and the star and optional form of ~\\~. This was 
-% started in section_\ref{ss:output} and resumed in 
+%                                                      \unskip}\label{s:MVadj}
+%
+% This section completes reviving ~\pagebreak~, ~\nopagebreak~,
+% ~\vspace~, and the star and optional form of ~\\~. This was
+% started in section_\ref{ss:output} and resumed in
 % section_\ref{ss:MLN} and subsection_\ref{ss:calls}.
-% The problem was explained in section_\ref{ss:output}: 
-% ~\vadjust~ items come out at a bad position, and the 
-% \LaTeX\ commands named before work with ~\vadjust~ indeed. 
-% Our solution was sketched there as well. 
-% 
+% The problem was explained in section_\ref{ss:output}:
+% ~\vadjust~ items come out at a bad position, and the
+% \LaTeX\ commands named before work with ~\vadjust~ indeed.
+% Our solution was sketched there as well.
+%
 % According to the caveat in subsection_\ref{ss:OnOff} concerning
-% ~\ifLineNumbers~, the \LaTeX\ commands enumerated may go 
-% wrong if you switch line numbering inside or at the end of 
-% a paragraph. 
+% ~\ifLineNumbers~, the \LaTeX\ commands enumerated may go
+% wrong if you switch line numbering inside or at the end of
+% a paragraph.
 %%                                                               %% TODO v4.4+
-% 
+%
 %                                                                \subsection{%
 %               Redefining \scs{vadjust}
 %                                                     \unskip}\label{ss:PVadj}
-% 
-% ~\vadjust~ will temporarily be changed into the following 
-% command. 
+%
+% ~\vadjust~ will temporarily be changed into the following
+% command.
 
-\def\PostponeVadjust#1{% 
-  \global\let\vadjust\@LN@@vadjust 
-%% 
-% This undoes a ~\global\let\vadjust\PostponeVadjust~ which will 
-% start each of the refined \LaTeX\ commands. The ~\global~s 
-% are most probably superfluous. They might be useful should one 
-% ~\vadjust~ appear in a group starting after the change of 
-% ~\vadjust~ into ~\PostponeVadjust~. 
-% (UL) Even the undoing may be superfluous, cf._discussion 
-% in section_\ref{ss:ReDef} below.  (UL) 
-%% 
-  \vadjust{\penalty-\@Mppvacodepen}% 
-  \g at addto@macro\@LN at vadjustlist{#1\@lt}% 
+\def\PostponeVadjust#1{%
+  \global\let\vadjust\@LN@@vadjust
+%%
+% This undoes a ~\global\let\vadjust\PostponeVadjust~ which will
+% start each of the refined \LaTeX\ commands. The ~\global~s
+% are most probably superfluous. They might be useful should one
+% ~\vadjust~ appear in a group starting after the change of
+% ~\vadjust~ into ~\PostponeVadjust~.
+% (UL) Even the undoing may be superfluous, cf._discussion
+% in section_\ref{ss:ReDef} below.  (UL)
+%%
+  \vadjust{\penalty-\@Mppvacodepen}%
+  \g at addto@macro\@LN at vadjustlist{#1\@lt}%
 }
-\let\@LN@@vadjust\vadjust 
-\global\let\@LN at vadjustlist\@empty 
-\global\let\@LN at do@vadjusts\relax 
+\let\@LN@@vadjust\vadjust
+\global\let\@LN at vadjustlist\@empty
+\global\let\@LN at do@vadjusts\relax
 
-% These ~\global~s are just to remind that 
-% all the changes of the strings after ~\let~ should be 
-% ~\global~ (\TeX book p._301). ~\@LN at vadjustlist~ collects 
-% the ~\vadjust~ items of a paragraph. ~\PassVadjustList~ 
-% tears one ~\vadjust~ item for the current line out of 
-% ~\@LN at vadjustlist~ and puts it into ~\@LN at do@vadjusts~. 
-% The latter is encountered each line in ~\MakeLineNo~ 
-% (section_\ref{ss:MLN}), while those \LaTeX\ ~\vadjust~ 
-% commands will come rather rarely. So I decided that 
-% ~\@LN at do@vadjust~ is ~\relax~ until a ~\vadjust~ item 
-% is waiting. In the latter case, ~\@LN at do@vadjusts~ 
-% is turned into a list macro which resets itself to 
-% ~\relax~ when the other contents have been placed in 
-% the vertical list.---~\PassVadjustList~ is invoked by 
-% the output routine (section_\ref{ss:output}), so the 
-% ~\box255~ must be put back. 
+% These ~\global~s are just to remind that
+% all the changes of the strings after ~\let~ should be
+% ~\global~ (\TeX book p._301). ~\@LN at vadjustlist~ collects
+% the ~\vadjust~ items of a paragraph. ~\PassVadjustList~
+% tears one ~\vadjust~ item for the current line out of
+% ~\@LN at vadjustlist~ and puts it into ~\@LN at do@vadjusts~.
+% The latter is encountered each line in ~\MakeLineNo~
+% (section_\ref{ss:MLN}), while those \LaTeX\ ~\vadjust~
+% commands will come rather rarely. So I decided that
+% ~\@LN at do@vadjust~ is ~\relax~ until a ~\vadjust~ item
+% is waiting. In the latter case, ~\@LN at do@vadjusts~
+% is turned into a list macro which resets itself to
+% ~\relax~ when the other contents have been placed in
+% the vertical list.---~\PassVadjustList~ is invoked by
+% the output routine (section_\ref{ss:output}), so the
+% ~\box255~ must be put back.
 
-\def\PassVadjustList{% 
-  \unvbox\@cclv 
-  \expandafter \@LN at xnext \@LN at vadjustlist \@@ 
-                          \@tempa \@LN at vadjustlist 
-  \ifx\@LN at do@vadjusts\relax 
-    \gdef\@LN at do@vadjusts{\global\let\@LN at do@vadjusts\relax}% 
-  \fi 
-  \expandafter \g at addto@macro \expandafter \@LN at do@vadjusts 
-    \expandafter {\@tempa}% 
-} 
+\def\PassVadjustList{%
+  \unvbox\@cclv
+  \expandafter \@LN at xnext \@LN at vadjustlist \@@
+                          \@tempa \@LN at vadjustlist
+  \ifx\@LN at do@vadjusts\relax
+    \gdef\@LN at do@vadjusts{\global\let\@LN at do@vadjusts\relax}%
+  \fi
+  \expandafter \g at addto@macro \expandafter \@LN at do@vadjusts
+    \expandafter {\@tempa}%
+}
 
-% 
+%
 %                                                                \subsection{%
-%               Redefining the \LaTeX\ commands 
+%               Redefining the \LaTeX\ commands
 %                                                     \unskip}\label{ss:ReDef}
-% 
-% Now we change ~\pagebreak~ etc.\ 
-% so that they use ~\PostponeVadjust~ in place of ~\vadjust~. 
-% We try to do this as independently as possible of the 
-% implementation of the \LaTeX\ commands to be redefined. 
-% Therefore, we don't just copy macro definition code from any 
-% single implementation (say, latest \LaTeX) and insert our 
-% changes, but attach a conditional 
-% ~\global\let\vadjust\PostponeVadjust~ 
-% to their left ends in a way which should work rather 
-% independantly of their actual code. 
-% However, ~\vadjust~ should be the primitive again after 
-% execution of the command. So the ~\global\let...~ may be used 
-% only if it's guaranteed that a ~\vadjust~ is near.---(UL) 
-% Sure? In line numbering mode, probably each ~\vadjust~ 
-% coming from a \LaTeX\ command should be ~\PostponeVadjust~. 
-% ~\marginpar~s and floats seem to be the only cases which 
-% are not explicitly dealt with in the present section. 
-% This would be a way to avoid ~\@LN at nobreaktrue~! 
-% Of course, the ~\vadjust~s that the present package uses 
-% then must be replaced by ~\@LN@@vadjust~.---Maybe 
-% next time.      (/UL) 
-%%                                                               %% TODO v4.4+ 
-% 
-% The next command and something else will be added to the 
-% \LaTeX\ commands we are concerned with here. 
+%
+% Now we change ~\pagebreak~ etc.\
+% so that they use ~\PostponeVadjust~ in place of ~\vadjust~.
+% We try to do this as independently as possible of the
+% implementation of the \LaTeX\ commands to be redefined.
+% Therefore, we don't just copy macro definition code from any
+% single implementation (say, latest \LaTeX) and insert our
+% changes, but attach a conditional
+% ~\global\let\vadjust\PostponeVadjust~
+% to their left ends in a way which should work rather
+% independantly of their actual code.
+% However, ~\vadjust~ should be the primitive again after
+% execution of the command. So the ~\global\let...~ may be used
+% only if it's guaranteed that a ~\vadjust~ is near.---(UL)
+% Sure? In line numbering mode, probably each ~\vadjust~
+% coming from a \LaTeX\ command should be ~\PostponeVadjust~.
+% ~\marginpar~s and floats seem to be the only cases which
+% are not explicitly dealt with in the present section.
+% This would be a way to avoid ~\@LN at nobreaktrue~!
+% Of course, the ~\vadjust~s that the present package uses
+% then must be replaced by ~\@LN@@vadjust~.---Maybe
+% next time.      (/UL)
+%%                                                               %% TODO v4.4+
+%
+% The next command and something else will be added to the
+% \LaTeX\ commands we are concerned with here.
 
-\DeclareRobustCommand\@LN at changevadjust{% 
-  \ifvmode\else\ifinner\else 
-    \global\let\vadjust\PostponeVadjust 
-  \fi\fi 
-} 
- 
-% (UL) What about math mode? Math display? Warn? (/UL) 
+\DeclareRobustCommand\@LN at changevadjust{%
+  \ifvmode\else\ifinner\else
+    \global\let\vadjust\PostponeVadjust
+  \fi\fi
+}
+
+% (UL) What about math mode? Math display? Warn? (/UL)
 %%                                                               %% TODO v4.4+
-% 
-% ~\@tempa~ will now become a two place macro which adds first 
+%
+% ~\@tempa~ will now become a two place macro which adds first
 % argument (single token), enclosed by ~\ifLineNumbers~\,\dots
-% ~\fi~ to the left of second argument. As long as we need it, 
-% we can't use the star form of ~\DeclareRobustCommand~ or 
-% the like, because AMS-\LaTeX\ uses ~\@tempa~ for ~\@ifstar~. 
-% (New v4.41) And for the same reason, that ~\CheckCommand*~ 
+% ~\fi~ to the left of second argument. As long as we need it,
+% we can't use the star form of ~\DeclareRobustCommand~ or
+% the like, because AMS-\LaTeX\ uses ~\@tempa~ for ~\@ifstar~.
+% (New v4.41) And for the same reason, that ~\CheckCommand*~
 % had to be raised! (/New v4.41)
 
 \CheckCommand*\@parboxrestore{\@arrayparboxrestore\let\\\@normalcr}
 
-\def\@tempa#1#2{% 
+\def\@tempa#1#2{%
   \expandafter \def \expandafter#2\expandafter{\expandafter
-    \ifLineNumbers\expandafter#1\expandafter\fi#2}% 
-} 
+    \ifLineNumbers\expandafter#1\expandafter\fi#2}%
+}
 
-% (UL)              This ~\ifLineNumber~ can be fooled by 
-% ~\linenumbers~ ahead etc. It might be better to place 
-% a signal penalty in any case and let the output routine 
-% decide what to do. 
-%% 
-%% And when this has been done, remove warnings about this. 
-% (/UL) 
-% 
-% We use the occasion to switch off linenumbers where they 
-% don't work anyway and where we don't want them, 
-% especially in footnotes: 
+% (UL)              This ~\ifLineNumber~ can be fooled by
+% ~\linenumbers~ ahead etc. It might be better to place
+% a signal penalty in any case and let the output routine
+% decide what to do.
+%%
+%% And when this has been done, remove warnings about this.
+% (/UL)
+%
+% We use the occasion to switch off linenumbers where they
+% don't work anyway and where we don't want them,
+% especially in footnotes:
 
-\@tempa\nolinenumbers\@arrayparboxrestore 
+\@tempa\nolinenumbers\@arrayparboxrestore
 
-% We hope this suffices $\dots$ let's check one thing 
+% We hope this suffices $\dots$ let's check one thing
 % at least: [(New v4.41) see ~\CheckCommand~ above (/New v4.41)]
-% 
-% Now for the main theme of the section. 
-% The next lines assume that ~\vspace~, ~\pagebreak~, and 
-% ~\nopagebreak~ use ~\vadjust~ whenever they occur outside 
-% vertical mode; moreover, that they don't directly read 
-% an argument. Indeed ~\pagebreak~ and ~\nopagebreak~ first 
-% call something which tests for a left bracket ahead, 
-% while ~\vspace~ first tests for a star. 
+%
+% Now for the main theme of the section.
+% The next lines assume that ~\vspace~, ~\pagebreak~, and
+% ~\nopagebreak~ use ~\vadjust~ whenever they occur outside
+% vertical mode; moreover, that they don't directly read
+% an argument. Indeed ~\pagebreak~ and ~\nopagebreak~ first
+% call something which tests for a left bracket ahead,
+% while ~\vspace~ first tests for a star.
 
-\@tempa\@LN at changevadjust\vspace 
-\@tempa\@LN at changevadjust\pagebreak 
-\@tempa\@LN at changevadjust\nopagebreak 
+\@tempa\@LN at changevadjust\vspace
+\@tempa\@LN at changevadjust\pagebreak
+\@tempa\@LN at changevadjust\nopagebreak
 
-% ~\\~, however, uses ~\vadjust~ only in star or optional form. 
-% We relax independency of implementation in assuming 
-% that ~\@normalcr~ is the fragile version of ~\\~ 
-% (and we use ~\@ifstar~!). 
+% ~\\~, however, uses ~\vadjust~ only in star or optional form.
+% We relax independency of implementation in assuming
+% that ~\@normalcr~ is the fragile version of ~\\~
+% (and we use ~\@ifstar~!).
 %%
-%% \@ifstar reimplemented 1995/10/16, but seems to be much older. 
-%% TODO v4.4+: 
-%% \def\@LN at cr{% 
-%%   \@ifnextchar*{\@LN at changevadjust\@normalcr}% 
-%%      {\@ifnextchar[{\@LN at changevadjust\@normalcr}\@normalcr}% 
-%% } 
-%% ---same number of tokens, expansion step less. 
+%% \@ifstar reimplemented 1995/10/16, but seems to be much older.
+%% TODO v4.4+:
+%% \def\@LN at cr{%
+%%   \@ifnextchar*{\@LN at changevadjust\@normalcr}%
+%%      {\@ifnextchar[{\@LN at changevadjust\@normalcr}\@normalcr}%
+%% }
+%% ---same number of tokens, expansion step less.
 %%
-% (Using a copy of ~\\~ would be safer, but an ugly repetition 
-% of ~\protect~.) 
-%%                                                               %% TODO v4.4+ 
+% (Using a copy of ~\\~ would be safer, but an ugly repetition
+% of ~\protect~.)
+%%                                                               %% TODO v4.4+
 
-\DeclareRobustCommand\\{% 
-  \ifLineNumbers 
-    \expandafter \@LN at cr 
-  \else 
-    \expandafter \@normalcr 
-  \fi 
-} 
-\def\@LN at cr{% 
-  \@ifstar{\@LN at changevadjust\@normalcr*}% 
-          {\@ifnextchar[{\@LN at changevadjust\@normalcr}\@normalcr}% 
-} 
+\DeclareRobustCommand\\{%
+  \ifLineNumbers
+    \expandafter \@LN at cr
+  \else
+    \expandafter \@normalcr
+  \fi
+}
+\def\@LN at cr{%
+  \@ifstar{\@LN at changevadjust\@normalcr*}%
+          {\@ifnextchar[{\@LN at changevadjust\@normalcr}\@normalcr}%
+}
 
-% Moreover we hope that ~\newline~ never leads to a ~\vadjust~, 
-% although names of some commands invoked by ~\\~ contain 
-% ~newline~. At last, this seems to have been OK since 1989 or 
-% even earlier. 
-% 
+% Moreover we hope that ~\newline~ never leads to a ~\vadjust~,
+% although names of some commands invoked by ~\\~ contain
+% ~newline~. At last, this seems to have been OK since 1989 or
+% even earlier.
+%
 %                                                        \modulolinenumbers[1]
-%                                                          \firstlinenumber{0} 
-% Let's have a few tests.\vspace*{.5\baselineskip} 
-% Testing ~\pagebreak~ and ~\nopagebreak~ would be too expensive 
-% here, but---oops!---we have just experienced a successful 
-% ~\vspace*{.5\baselineskip}~. A 
-% ~\\*[.5\baselineskip]~\\*[.5\baselineskip] may look even more 
-% drastical, but this time we are happy about it. Note that the 
-% line numbers have moved with the lines. Without our changes, 
-% one line number\vadjust{\kern.5\baselineskip} would have 
-% ``anticipated'' the move of the next line, just as you can 
-% observe it now. 
-% (/New v4.00) 
-% 
-%                                                           \switchlinenumbers 
-% 
-%                                                                \subsection{% 
-%               Reminder on obsoleteness 
-%                                                                     \unskip} 
-% 
-% (New v4.1)    We have completed inclusion of the earlier 
-% extension packages ~linenox0.sty~, ~linenox1.sty~, and 
-% ~lnopatch.sty~. If one of them is loaded, though, 
-% we produce an error message before something weird happens. 
-% We avoid ~\newif~ because the switchings occur so rarely. 
+%                                                          \firstlinenumber{0}
+% Let's have a few tests.\vspace*{.5\baselineskip}
+% Testing ~\pagebreak~ and ~\nopagebreak~ would be too expensive
+% here, but---oops!---we have just experienced a successful
+% ~\vspace*{.5\baselineskip}~. A
+% ~\\*[.5\baselineskip]~\\*[.5\baselineskip] may look even more
+% drastical, but this time we are happy about it. Note that the
+% line numbers have moved with the lines. Without our changes,
+% one line number\vadjust{\kern.5\baselineskip} would have
+% ``anticipated'' the move of the next line, just as you can
+% observe it now.
+% (/New v4.00)
+%
+%                                                           \switchlinenumbers
+%
+%                                                                \subsection{%
+%               Reminder on obsoleteness
+%                                                                     \unskip}
+%
+% (New v4.1)    We have completed inclusion of the earlier
+% extension packages ~linenox0.sty~, ~linenox1.sty~, and
+% ~lnopatch.sty~. If one of them is loaded, though,
+% we produce an error message before something weird happens.
+% We avoid ~\newif~ because the switchings occur so rarely.
 
-\AtBeginDocument{% 
-  \let\if at LN@obsolete\iffalse 
-  \@ifpackageloaded{linenox0}{\let\if at LN@obsolete\iftrue}\relax 
-  \@ifpackageloaded{linenox1}{\let\if at LN@obsolete\iftrue}\relax 
+\AtBeginDocument{%
+  \let\if at LN@obsolete\iffalse
+  \@ifpackageloaded{linenox0}{\let\if at LN@obsolete\iftrue}\relax
+  \@ifpackageloaded{linenox1}{\let\if at LN@obsolete\iftrue}\relax
   \@ifpackageloaded{lnopatch}{\let\if at LN@obsolete\iftrue}\relax
-  \if at LN@obsolete 
-    \PackageError{lineno}{Obsolete extension package(s)}{% 
-    With lineno.sty version 4.00 or later,\MessageBreak 
-    linenox0/linenox1/lnopatch.sty must no longer be loaded.}% 
-  \fi 
-} 
+  \if at LN@obsolete
+    \PackageError{lineno}{Obsolete extension package(s)}{%
+    With lineno.sty version 4.00 or later,\MessageBreak
+    linenox0/linenox1/lnopatch.sty must no longer be loaded.}%
+  \fi
+}
 
-% 
+%
 %                                                        \modulolinenumbers[1]
 %                                                                   \section{%
 %               The final touch
@@ -3120,24 +3178,24 @@
 
 \endinput
 
-% 
+%
 %                                                                   \section{%
 %               The user commands
-%                                                   \unskip}\label{s:UserCmds} 
-% 
-% The user commands to turn on and off line numbering 
-% are 
+%                                                   \unskip}\label{s:UserCmds}
+%
+% The user commands to turn on and off line numbering
+% are
 %                                                     \begin{description}\item
 % [|\linenumbers]                                                       \ \par
 %     Turn on line numbering in the current mode.
 %
-%                                                                        \item 
+%                                                                        \item
 % [|\linenumbers*]                                              \ \par$\qquad$
 %        and reset the line number to 1.
-%                                                      \def\NL{<number>]}\item 
-%%                         %% Boldface italic occurs here, which is evil. (UL) 
+%                                                      \def\NL{<number>]}\item
+%%                         %% Boldface italic occurs here, which is evil. (UL)
 % [|\linenumbers[\NL]                                           \ \par$\qquad$
-%        and start with <number>.  
+%        and start with <number>.
 %                                                                        \item
 % [|\nolinenumbers]                                                     \ \par
 %     Turn off line numbering.
@@ -3176,7 +3234,7 @@
 % [|\rightlinenumbers*]                                                 \ \par
 %     Set the line numbers in the left/right margin. With the
 %     star this works for both modes of operation, without
-%     the star only for the currently selected mode. 
+%     the star only for the currently selected mode.
 %                                                                        \item
 % [|\runningpagewiselinenumbers]                                        \ \par
 %     When using the pagewise line number mode,  do not
@@ -3196,44 +3254,44 @@
 %     retained.  <number>=1 turns this off without changing
 %     ~linenumbermodulo~.  The counter is initialized to 5.
 %%
-%%                               %% TODO v4.4+: `counter', he says. Cf._above. 
+%%                               %% TODO v4.4+: `counter', he says. Cf._above.
 %%
-%%                                                                 (New v4.31) 
+%%                                                                 (New v4.31)
 %                                                                        \item
-% [|\modulolinenumbers*[\NL]                                            \ \par 
-%     Like ~\modulolinenumbers~, the only difference being 
-%     that the first line number after a ~\linenumbers~ 
-%     (or ~\runninglinenumbers~, ~\pagewiselinenumbers~, 
-%     ~\quotelinenumbers~) is printed regardless of the 
-%     modulo---yet `1' is printed only after (or \dots) 
-%     ~\firstlinenumber{1}~. 
-%     This also applies to the first line of a 
-%     ~{linenumbers}~ or respective environment. 
-%     See subsection_\ref{ss:Mod} for another explanation. 
-%     The behaviour may be unsatisfactory with pagewise 
-%     line-numbering. 
-%%                                                                (/New v4.31) 
+% [|\modulolinenumbers*[\NL]                                            \ \par
+%     Like ~\modulolinenumbers~, the only difference being
+%     that the first line number after a ~\linenumbers~
+%     (or ~\runninglinenumbers~, ~\pagewiselinenumbers~,
+%     ~\quotelinenumbers~) is printed regardless of the
+%     modulo---yet `1' is printed only after (or \dots)
+%     ~\firstlinenumber{1}~.
+%     This also applies to the first line of a
+%     ~{linenumbers}~ or respective environment.
+%     See subsection_\ref{ss:Mod} for another explanation.
+%     The behaviour may be unsatisfactory with pagewise
+%     line-numbering.
+%%                                                                (/New v4.31)
 %%                                                                 (New v4.00)
 %                                                                        \item
-% [|\firstlinenumber]                                                   \ \par 
-%     ~\firstlinenumber{~<filino>~}~ brings about that 
-%     (after it) line numbers less than <filino> do 
-%     \emph{not} appear in the margin. Moreover, with 
-%     ~\modulolinenumbers[~<number>~]~, just the line 
-%     numbers which are <filino> plus a multiple of 
-%     <number> are printed.---If you had 
-%     ~\firstlinenumber{~<pos>~}~ with some $\mbox{<pos>}>0$ 
-%     and want to switch to printing multiples of, e.g., 
-%     4, you best do ~\modulolinenumbers[4]~ and 
-%     ~\firstlinenumber{0}~. (See subsection_\ref{ss:Mod} 
-%     for technical details.) 
-%%                                                                (/New v4.00) 
+% [|\firstlinenumber]                                                   \ \par
+%     ~\firstlinenumber{~<filino>~}~ brings about that
+%     (after it) line numbers less than <filino> do
+%     \emph{not} appear in the margin. Moreover, with
+%     ~\modulolinenumbers[~<number>~]~, just the line
+%     numbers which are <filino> plus a multiple of
+%     <number> are printed.---If you had
+%     ~\firstlinenumber{~<pos>~}~ with some $\mbox{<pos>}>0$
+%     and want to switch to printing multiples of, e.g.,
+%     4, you best do ~\modulolinenumbers[4]~ and
+%     ~\firstlinenumber{0}~. (See subsection_\ref{ss:Mod}
+%     for technical details.)
+%%                                                                (/New v4.00)
 %                                                                        \item
 % [|\linenumberdisplaymath]                                             \ \par
 %     Number the lines of a display math in a ~{linenomath}~
 %     environment, but do not in a ~{linenomath*}~
 %     environment.  This is used by the package option
-%     ~[mathlines]~. 
+%     ~[mathlines]~.
 %                                                                        \item
 % [|\nolinenumberdisplaymath]                                           \ \par
 %     Do not Number the lines of a display math in a
@@ -3247,13 +3305,13 @@
 %     ~\pageref{~<foo>~}~.
 %                                                            \end{description}
 % The commands can be used globally, locally within groups
-% or as environments.  It is important to know that they 
+% or as environments.  It is important to know that they
 %%
-%%                                                %% TODO: \linelabel? others? 
+%%                                                %% TODO: \linelabel? others?
 %%
 % take action only when the ~\par~ is executed.  The
 %%
-%%                     %% TODO: sure? ~\modulo...~, e.g.? well, in a sense ... 
+%%                     %% TODO: sure? ~\modulo...~, e.g.? well, in a sense ...
 %%
 % ~\end{~<mode>~linenumbers}~ commands provide a ~\par~.
 % Examples:
@@ -3273,32 +3331,32 @@
 %   ~\linenumbers~                                                          \\
 %   <paragraph> ~{\nolinenumbers\par}~                                      \\
 %                                                                  \end{verse}
-% (New v4.00) 
-% However, the examples containing <paragraph> show what you 
-% should \emph{not} do, at least if you use ~\pagebreak~, 
-% ~\nopagebreak~, ~\vspace~, ~\\*~ or 
-% ~\\[~<space>~]~---cf._section_\ref{s:MVadj}. 
+% (New v4.00)
+% However, the examples containing <paragraph> show what you
+% should \emph{not} do, at least if you use ~\pagebreak~,
+% ~\nopagebreak~, ~\vspace~, ~\\*~ or
+% ~\\[~<space>~]~---cf._section_\ref{s:MVadj}.
 %
-% The same care should be applied to the ``wizard'' devices 
+% The same care should be applied to the ``wizard'' devices
 % ~\ifLineNumbers~ (subsection_\ref{ss:OnOff}) and
-% ~\PostponeVadjust~ (section_\ref{ss:PVadj}). 
-%  (/New v4.00) 
-% 
-% (New v4.11) Oh, and the commands and environments of 
-% section_{s:Xt} are missing. Sorry, I am in a hurry now. 
-% May be next time.%                                             %% TODO v4.4+ 
-% ---And the  environments ~{linenomath}~ and ~{linenomath*}~should 
-% get an own paragraph. In short, each math display, equation, 
-% or ~{eqnarray}~ should be ``wrapped'' in one of ~{linenomath}~ 
-% and ~{linenomath*}~. 
-% 
+% ~\PostponeVadjust~ (section_\ref{ss:PVadj}).
+%  (/New v4.00)
+%
+% (New v4.11) Oh, and the commands and environments of
+% section_{s:Xt} are missing. Sorry, I am in a hurry now.
+% May be next time.%                                             %% TODO v4.4+
+% ---And the  environments ~{linenomath}~ and ~{linenomath*}~should
+% get an own paragraph. In short, each math display, equation,
+% or ~{eqnarray}~ should be ``wrapped'' in one of ~{linenomath}~
+% and ~{linenomath*}~.
+%
 %                                                                \subsection{%
 %                 Customization hooks
-%                                                                     \unskip} 
-% 
+%                                                                     \unskip}
+%
 % There are several hooks to customize the appearance of the
 % line numbers, and some low level hooks for special
-% effects. 
+% effects.
 %                                                     \begin{description}\item
 % [|\thelinenumber]                                                     \ \par
 %     This macro should give the representation of the line
@@ -3308,11 +3366,11 @@
 %                                                                        \item
 % [|\makeLineNumberLeft]                                                \ \par
 %     This macro is used to attach a line number to the left
-%     of the text page.  This macro should fill an ~\hbox to 0pt~ 
+%     of the text page.  This macro should fill an ~\hbox to 0pt~
 %     which will be placed at the left margin of the
 %     page, with the reference point aligned to the line to
 %     which it should give a number.  Please use the macro
-%     ~\LineNumber~ to refer to the line number. 
+%     ~\LineNumber~ to refer to the line number.
 %
 %     The default definition is                                   \par$\qquad$
 %         ~\hss\linenumberfont\LineNumber\hskip\linenumbersep~
@@ -3338,7 +3396,7 @@
 %     number box on the right margin.  The distance of the
 %     right edge of the text to the right edge of the line
 %     number is ~\linenumbersep~ + ~\linenumberwidth~. The
-%     default value is ~10pt~.  
+%     default value is ~10pt~.
 %                                                                        \item
 % [|\theLineNumber] (for wizards)                                       \ \par
 %     This macro is called for printing a ~\newlabel~ entry
@@ -3355,55 +3413,54 @@
 % [|\LineNumber] (for wizards)                                          \ \par
 %     This macro is called by ~\makeLineNumber~ to typeset
 %     the line number.  This hook is changed by the modulo
-%     mechanism 
+%     mechanism
 %%                                                                        %%%.
-%     and by ~\firstlinenumber~. 
-%%                                                                %% New v4.00 
+%     and by ~\firstlinenumber~.
+%%                                                                %% New v4.00
 %                                                            \end{description}
-%% 
-%% TODO: \stepLineNumber---another wizard command!? 
-%% Not sure, may be retreated. 
+%%
+%% TODO: \stepLineNumber---another wizard command!?
+%% Not sure, may be retreated.
 %                                                             \end{document}%D
 ------------------------------------------------------------------------------
                                                                        %SSTOPP
-%% TODO v4.4+:  Check for unwanted comment marks in new comments 
-%%             (resulting from manual aligning): search `New v4.2' 
-%%             and/or ` % '! 
-%% TODO v4.4+:  Check for missing comment marks where a paragraph 
-%%             should end/start. Also to prevent empty "code" lines. 
-%%             Especially, new comments at section ends must be 
-%%             followed by comment mark lines. 
-%%             And prevent ~\par~s from blank lines in definitions! 
-%%             See `visual space' above. 
-%%             For proper appearance in lineno.tex, note that a comment 
-%%             in a final code line changes behaviour. 
-%% TODO v4.4+:  Require README for redistribution? 
-%% TODO v4.4+:  Since discussions of code have increased so much, it 
-%%             would be appropriate not to give to this file 
-%%             extension `.sty' (e.g., `dty'!??). ?? Is quickly read though! 
-%%             A .sty extraction may be possible even if the present 
-%%             file is neither a .doc nor a .dtx. (!???) 
-%%             Use awk line below (etc.) for .doc at least; + .ins or so. 
-%%                 ^ must not be caps! To escape awk. 
-%% TODO v4.4+:  Underfull lines!? (due to long code quotations) 
-%% TODO v4.4+:  Sometimes paragraph indents may be appropriate. 
-%% TODO        Swap first line (`\iffalse...') with corresponding below. 
-               Or do *not* swap, maybe nawk is more reliable. 
-%% TODO v4.4+:  Ponder Stephan's mail from 2004/09/02. 
-%% TODO v4.4+: 
-%% use \@ET at makeLineNumber. 
-%% plus almost all `(UL)' 
-%% plus lots of bad boxes messages 
-%% change v4.3 TODOs when postponed 
-%% remove {old} environments. 
+%% TODO v4.4+:  Check for unwanted comment marks in new comments
+%%             (resulting from manual aligning): search `New v4.2'
+%%             and/or ` % '!
+%% TODO v4.4+:  Check for missing comment marks where a paragraph
+%%             should end/start. Also to prevent empty "code" lines.
+%%             Especially, new comments at section ends must be
+%%             followed by comment mark lines.
+%%             And prevent ~\par~s from blank lines in definitions!
+%%             See `visual space' above.
+%%             For proper appearance in lineno.tex, note that a comment
+%%             in a final code line changes behaviour.
+%% TODO v4.4+:  Require README for redistribution?
+%% TODO v4.4+:  Since discussions of code have increased so much, it
+%%             would be appropriate not to give to this file
+%%             extension `.sty' (e.g., `dty'!??). ?? Is quickly read though!
+%%             A .sty extraction may be possible even if the present
+%%             file is neither a .doc nor a .dtx. (!???)
+%%             Use awk line below (etc.) for .doc at least; + .ins or so.
+%%                 ^ must not be caps! To escape awk.
+%% TODO v4.4+:  Underfull lines!? (due to long code quotations)
+%% TODO v4.4+:  Sometimes paragraph indents may be appropriate.
+%% TODO        Swap first line (`\iffalse...') with corresponding below.
+               Or do *not* swap, maybe nawk is more reliable.
+%% TODO v4.4+:  Ponder Stephan's mail from 2004/09/02.
+%% TODO v4.4+:
+%% use \@ET at makeLineNumber.
+%% plus almost all `(UL)'
+%% plus lots of bad boxes messages
+%% change v4.3 TODOs when postponed
+%% remove {old} environments.
 
 ------------------------------------------------------------------------------
 
-# awk command lines for v4.00, mixed with former ones: 
+# awk command lines for v4.00, mixed with former ones:
 
-echo "Don't bother about unknown 'iffalse'."                  # SHELL1 
+echo "Don't bother about unknown 'iffalse'."                  # SHELL1
 nawk '/A[W]K/' lineno.sty | nawk -f - lineno.sty >lineno.tex; # SHELL1
-latex lineno; latex lineno; latex lineno; latex lineno;       # SHELL1
 
 BEGIN{DOC=-1;                                     # AWK DOC A W K
  BEGINCODE = "\\begin{code}\\begin{verbatim}";    # AWK
@@ -3420,8 +3477,8 @@
              sub("^% *","");                      # AWK
              sub("^% *","% ");                    #     DOC A W K
              print; next;                      }  # AWK DOC A W K
-/%VERSION/ { sub("%VERSION",""); print; next; }   # AWK 
-/%SSTOPP/  { exit }                               # AWK 
+/%VERSION/ { sub("%VERSION",""); print; next; }   # AWK
+/%SSTOPP/  { exit }                               # AWK
 DOC<0      { next }                               # AWK DOC A W K
 /^-+-$/    { if (!DOC) print ENDCODE; exit }      # AWK DOC A W K
 { if (DOC) { ECNT=DOC=0; print BEGINCODE; }       # AWK DOC A W K
@@ -3428,11 +3485,11 @@
   while (ECNT>0) { print " "; ECNT--; }           # AWK DOC A W K
   print $0;                                    }  # AWK DOC A W K
 
-# New v4.00, UL: know nothing about awk; found present solution 
-# in hours of trial and error. 
+# New v4.00, UL: know nothing about awk; found present solution
+# in hours of trial and error.
 
-% Earlier (should be inhibited by %SSTOPP above and otherwise): 
-echo "expect errors for unknown commands 'iffalse' and 'fi'";# SHELL0 SHELL#1 
+% Earlier (should be inhibited by %SSTOPP above and otherwise):
+echo "expect errors for unknown commands 'iffalse' and 'fi'";# SHELL0 SHELL#1
 awk '/A[W]K/' lineno.sty | awk -f - lineno.sty >lineno.tex;  # SHELL0
 latex lineno; latex lineno; latex lineno; latex lineno;      # SHELL0
 nawk '/A[W]K/' lineno4.sty | nawk -f - lineno4.sty >lineno4.tex;  # SHELL#1
@@ -3464,21 +3521,19 @@
 
 ------------------------------------------------------------------------------
 
-If you are looking here because of the two top lines of the file: 
+If you are looking here because of the two top lines of the file:
 
-A .tex documentation of this macro file can be obtained by 
+A .tex documentation of this macro file can be obtained by
 
-    sh lineno.sty 
+    sh lineno.sty
 
-under UNIX.--You may find this hint little helpful. One 
-reason may be that the awk versions to which you have access 
-don't work suitably. Another reason may be that you don't have 
-access to UNIX (in some sense). However, a .tex, .dvi, or .pdf 
-version of such a documentation should be available from CTAN, 
-in the same folder as the present file. When we typed this, that 
-folder was /macros/latex/contrib/lineno. If this has changed in 
-the meantime, a CTAN search should lead you to a folder 
-containing such a documentation. Or you may get help from one of 
-the e-mail addresses above. 
-
-
+under UNIX.--You may find this hint little helpful. One
+reason may be that the awk versions to which you have access
+don't work suitably. Another reason may be that you don't have
+access to UNIX (in some sense). However, a .tex, .dvi, or .pdf
+version of such a documentation should be available from CTAN,
+in the same folder as the present file. When we typed this, that
+folder was /macros/latex/contrib/lineno. If this has changed in
+the meantime, a CTAN search should lead you to a folder
+containing such a documentation. Or you may get help from one of
+the e-mail addresses above.

Modified: trunk/Master/texmf-dist/tex/latex/lineno/vplref.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lineno/vplref.sty	2022-12-05 10:28:48 UTC (rev 65203)
+++ trunk/Master/texmf-dist/tex/latex/lineno/vplref.sty	2022-12-05 21:23:48 UTC (rev 65204)
@@ -1,74 +1,73 @@
-%% `vplref.sty' 
-%% -- extended line number referencing with lineno.sty. 
+%% `vplref.sty'
+%% -- extended line number referencing with lineno.sty.
 
 \def\filedate{2005/04/25} \def\fileversion{0.2a}
 
-%% Copyright (C) 2004, 2005 Uwe Lueck, 
-%% http://contact-ednotes.sty.de.vu --author-maintained 
-%% -- support of lineno.sty for varioref.sty. 
+%% Copyright (C) 2004, 2005 Uwe Lueck,
+%% http://contact-ednotes.sty.de.vu --author-maintained
+%% -- support of lineno.sty for varioref.sty.
 
-%% This file can be redistributed and/or modified under 
-%% the terms of the LaTeX Project Public License; either 
+%% This file can be redistributed and/or modified under
+%% the terms of the LaTeX Project Public License; either
 %% version 1.3 of the License, or any later version.
 %% The latest version of this license is in
 %%   http://www.latex-project.org/lppl.txt
-%% We did our best to help you, but there is NO WARRANTY. 
+%% We did our best to help you, but there is NO WARRANTY.
 
-%% USAGE: 
+%% USAGE:
 %
-% \vpagelineref{<label>} expands to 
+% \vpagelineref{<label>} expands to
 %
-% a) \ref{<label>} 
+% a) \ref{<label>}
 %    -- if on same page as \linelabel{<label>}
-% 
-% b) \LineWithPage{<label>} -- otherwise. 
-% 
-% \LineWithPage{<label>} expands -- by default -- to 
-% 
+%
+% b) \LineWithPage{<label>} -- otherwise.
+%
+% \LineWithPage{<label>} expands -- by default -- to
+%
 %   \pageref{<label>}.\ref{<label>}
-% 
-% This can be customized by editing 
-% 
-%   \renewcommand*{\LineWithPage}[1]{\pageref{#1}.\ref{#1}} 
-% 
-% in your document preamble, after vplref.sty has been loaded 
-% (which may have happened through lineno.sty with option 
-% `addpageno'). 
+%
+% This can be customized by editing
+%
+%   \renewcommand*{\LineWithPage}[1]{\pageref{#1}.\ref{#1}}
+%
+% in your document preamble, after vplref.sty has been loaded
+% (which may have happened through lineno.sty with option
+% `addpageno').
 
-%% IMPLEMENTATION: 
+%% IMPLEMENTATION:
 
-\NeedsTeXFormat{LaTeX2e}[1994/12/01] %% \Declare...* 
+\NeedsTeXFormat{LaTeX2e}[1994/12/01] %% \Declare...*
 \ProvidesPackage{vplref}[\filedate\space v\fileversion \space
                          page-line cross-refs] %% UL 2011/02/13
 
-\AtBeginDocument{\RequirePackage{lineno,varioref}} 
+\AtBeginDocument{\RequirePackage{lineno,varioref}}
 
-%% Anderer Ansatz: GPNo (\FirstOnPage) 
+%% Anderer Ansatz: GPNo (\FirstOnPage)
 
-\DeclareRobustCommand*\vpagelineref[1]{{% 
-%   \def\reftextcurrent{\lineref{#1}}%% First vpageref arg. 
-  \let\reftextfaraway\LineWithPage 
-  \def\reftextafter{\reftextfaraway{#1}}% 
-  \let\reftextbefore\reftextafter 
-  \let\reftextfaceafter\reftextafter 
-  \let\reftextfacebefore\reftextafter 
-%% <- Looks somewhat stupid, but varioref.sty has its merits 
-%%    as compared with the mechanism in ednotes.sty. 
-  \vpageref[\ref{#1}][]{#1}%% The robust alternative. 
-%% Here and with \LineWithPage, \lineref seems more appropriate 
-%% than \ref, but it produces errors when labels have not been 
-%% defined. This seems to be an incompatibility with lineno.sty. 
-}} 
+\DeclareRobustCommand*\vpagelineref[1]{{%
+%   \def\reftextcurrent{\lineref{#1}}%% First vpageref arg.
+  \let\reftextfaraway\LineWithPage
+  \def\reftextafter{\reftextfaraway{#1}}%
+  \let\reftextbefore\reftextafter
+  \let\reftextfaceafter\reftextafter
+  \let\reftextfacebefore\reftextafter
+%% <- Looks somewhat stupid, but varioref.sty has its merits
+%%    as compared with the mechanism in ednotes.sty.
+  \vpageref[\ref{#1}][]{#1}%% The robust alternative.
+%% Here and with \LineWithPage, \lineref seems more appropriate
+%% than \ref, but it produces errors when labels have not been
+%% defined. This seems to be an incompatibility with lineno.sty.
+}}
 
-%% Customizable format for different page: 
+%% Customizable format for different page:
 \newcommand*\LineWithPage[1]{\pageref{#1}.\ref{#1}}
 
-\endinput 
+\endinput
 
-VERSION HISTORY: 
-v0.1   2004/10/19  First, sent to Sergei Mariev. 
-v0.11  2004/10/19  Fit to recent varioref version; 
-                   sent to Sergei. 
-v0.2   2005/04/25  \Require... \AtBeginDocument. 
+VERSION HISTORY:
+v0.1   2004/10/19  First, sent to Sergei Mariev.
+v0.11  2004/10/19  Fit to recent varioref version;
+                   sent to Sergei.
+v0.2   2005/04/25  \Require... \AtBeginDocument.
 v0.2a  2011/02/13  add. caption to \ProvidesPackage
-

Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2022-12-05 10:28:48 UTC (rev 65203)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2022-12-05 21:23:48 UTC (rev 65204)
@@ -258,7 +258,7 @@
     dejavu dejavu-otf
     delim delimseasy delimset delimtxt democodetools denisbdoc derivative dhua
     diabetes-logbook diadia diagbox diagmac2 dialogl diagnose dice dichokey
-    dickimaw dictsym diffcoeff digiconfigs dijkstra dimnum din1505
+    dickimaw dictsym diffcoeff digestif digiconfigs dijkstra dimnum din1505
     dinat dinbrief dingbat directory dirtree dirtytalk disser ditaa dithesis
     dk-bib dlfltxb
     dnaseq dnp doc-pictex docbytex doclicense

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2022-12-05 10:28:48 UTC (rev 65203)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2022-12-05 21:23:48 UTC (rev 65204)
@@ -434,6 +434,7 @@
  'diagrams',    "die 'skipping, use specific package name'",
  'diagxy',      "die 'skipping, use barr'",
  'dictsym',     "&MAKEunzipandflatten",
+ 'digestif',    "&MAKEflatten",
  'digicap-pro',	"die 'skipping, requires adobe (dps)'",
  'disser',      "&MAKEdisser",
  'divine',      "die 'skipping, requires nonfree font'",
@@ -809,9 +810,10 @@
  'libris',      "&MAKEcopy",
  'lifia-th',    "die 'skipping, ?'",
  'linearA',     "die 'skipping, use lineara'",
- 'LinearA',     "&MAKEflatten",
+ 'LinearA',     "die 'skipping, use lineara'",
+ 'lineno',      "&MAKEflatten",
  'lintex',      "die 'skipping, compiled program'",
- 'list',      "die 'skipping, part of knuth-local'",
+ 'list',        "die 'skipping, part of knuth-local'",
  'listofanswers',       "die 'skipping, noinfo license'",
  'literat',     "&MAKEliterat",
  'lithuanian',  "&MAKEflatten",
@@ -1668,6 +1670,7 @@
  'csplain'              => '&POST_cstexpkgs',
  'cstex'                => '&POSTcstex',
  'dehyph-exptl'         => '&POSTdehyph_exptl',
+ 'digestif'		=> '&POSTdigestif',
  'doipubmed'            => '&POSTlatex2html',
  'e-french'             => '&POSTe_french',
  'encxvlna'             => '&POSTencxvlna',
@@ -2014,6 +2017,7 @@
  'dialogl',     '[^c]\.sty|listout\.tex', # not dialogl-doc.sty
  'din1505',     'NULL', # no tex files, only natbib.cfg, would be system-wide
  'dirtree',     '\.tex|' . $standardtex,
+ 'digestif',	'NULL', # script
  'disser',      '\.rtx|' . $standardtex,
  'dlfltxb',     '\.sty', # no sample.cfg
  'docbytex',	'docby\.tex',
@@ -3553,6 +3557,7 @@
  'ctanupload'           => '\.pl$',
  'de-macro'             => 'de-macro',
  'diadia'		=> '\.lua$',
+ 'digestif'		=> 'digestif\.texlua$',
  'dosepsbin'            => 'dosepsbin\.pl$',
  'dtxgen'               => 'dtxgen$',
  'dviasm'               => '\.py$',
@@ -6714,6 +6719,16 @@
   print "*** POST$package - you must update tlpsrc directives, right now!\n";
 }
 
+sub POSTdigestif {
+  # the situation here is that the author wanted to keep generic
+  # filenames like "Parser.lua", so we bundle them up in a zip.
+  # https://tug.org/pipermail/tex-live/2022-November/048681.html
+  print "POST$package - make zip files per their INSTALL.md\n";
+  &xsystem ("zip -j $package.zip *.lua *.tags");
+  &xsystem ("$RM *.lua *.tags");
+  &mv_with_mkdir ("$package.zip", "$DEST/scripts/$package/");
+}
+
 sub POSTe_french {
   print "POST$package - move directories around\n";
   &SYSTEM ("find [^b]* -type f | xargs chmod -R a-x");

Modified: trunk/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc	2022-12-05 10:28:48 UTC (rev 65203)
+++ trunk/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc	2022-12-05 21:23:48 UTC (rev 65204)
@@ -27,6 +27,7 @@
 depend cweb
 depend de-macro
 depend detex
+depend digestif
 depend dtl
 depend dtxgen
 depend dvi2tty



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