summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/nicefilelist
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-01-09 03:04:35 +0000
committerNorbert Preining <norbert@preining.info>2023-01-09 03:04:35 +0000
commit61f8490e549cb7af263b9d903bc20d61ea37a2d7 (patch)
tree60395031acdc563731253b8433644130a524df58 /macros/latex/contrib/nicefilelist
parent7d5553601ccc6f3feed4f9563a6270739bd4da54 (diff)
CTAN sync 202301090304
Diffstat (limited to 'macros/latex/contrib/nicefilelist')
-rw-r--r--macros/latex/contrib/nicefilelist/README13
-rw-r--r--macros/latex/contrib/nicefilelist/doc/SrcFILEs.txt24
-rw-r--r--macros/latex/contrib/nicefilelist/doc/nicefilelist.RLS21
-rw-r--r--macros/latex/contrib/nicefilelist/doc/nicefilelist.pdfbin599529 -> 604616 bytes
-rw-r--r--macros/latex/contrib/nicefilelist/source/nicefilelist.tex82
-rw-r--r--macros/latex/contrib/nicefilelist/source/provonly.fd2
-rw-r--r--macros/latex/contrib/nicefilelist/source/srcfiles.tex2
-rw-r--r--macros/latex/contrib/nicefilelist/tex/nicefilelist.sty384
8 files changed, 363 insertions, 165 deletions
diff --git a/macros/latex/contrib/nicefilelist/README b/macros/latex/contrib/nicefilelist/README
index ab4964ab74..7c56b70707 100644
--- a/macros/latex/contrib/nicefilelist/README
+++ b/macros/latex/contrib/nicefilelist/README
@@ -1,25 +1,28 @@
README for the `nicefilelist' package
\listfiles Alignment with Date and Version Columns
© Uwe Lück 2012/10/30 (deceased June 2020,
- 2022-12-05 v0.8a patched by H.-Martin Münch,
+ 2023-01-08 v0.9a patched by H.-Martin Münch,
original package version 0.7a has been archived at
https://web.archive.org/web/20221205210517/
https://mirror.mwt.me/ctan/install/macros/
latex/contrib/nicefilelist.tds.zip)
While `longnamefilelist.sty' improves LaTeX's \listfiles with
-respect to long base filenames only, the present `nicefilelist.sty'
+respect to long base file-names only, the present `nicefilelist.sty'
can keep separate columns for
(i) date (ii) version, and (iii) "caption"
(don't write caption text in date column),
-their alignment not being disturbed by short filename extensions
+their alignment not being disturbed by short file-name extensions
such as `.fd'. This is achieved basing on the `monofill' package.
v0.7 offers a package option `[wrap]' for automatic word wrapping
within the caption column, using the `hardwrap' package,
-so filenames and captions can be quite long without disturbing
+so file-names and captions can be quite long without disturbing
the alignment.
+v0.9a offers a package option `[autolength]' for automatic sizing
+of the columns, using the `xstring' package.
+
As opposed to the `dateiliste' package, this is about the plain
text output in the `.log' file or, with `myfilist', as a stand-
alone plain text file.
@@ -51,6 +54,6 @@ The latest public version of the package is available at
https://mirror.ctan.org/macros/latex/contrib/nicefilelist/
-A TDS version of the package is available as
+A TDS version of the package is available at
https://mirror.ctan.org/install/macros/latex/contrib/nicefilelist.tds.zip \ No newline at end of file
diff --git a/macros/latex/contrib/nicefilelist/doc/SrcFILEs.txt b/macros/latex/contrib/nicefilelist/doc/SrcFILEs.txt
index 6209222cfb..1d0a9bc538 100644
--- a/macros/latex/contrib/nicefilelist/doc/SrcFILEs.txt
+++ b/macros/latex/contrib/nicefilelist/doc/SrcFILEs.txt
@@ -1,17 +1,17 @@
*File List*
------RELEASE.--- -- -- -- -- --
-nicefilelist.RLS 2022/12/05 v0.8a date: dashes OK
------PACKAGE.--- -- -- -- -- --
-nicefilelist.sty 2022/12/05 v0.8a more file list alignment (UL)
-------DOCSRC.--- -- -- -- -- --
-nicefilelist.tex 2022/12/05 -- documenting nicefilelist.sty
- srcfiles.tex 2022/12/05 -- file infos -> SrcFILEs.txt
---------DEMO.--- -- -- -- -- --
+-----RELEASE.--- -- -- -- -- --
+nicefilelist.RLS 2023/01/08 v0.9a ver@@; option autolength
+-----PACKAGE.--- -- -- -- -- --
+nicefilelist.sty 2023/01/08 v0.9a more file list alignment (UL)
+------DOCSRC.--- -- -- -- -- --
+nicefilelist.tex 2023/01/08 -- documenting nicefilelist.sty
+ srcfiles.tex 2023/01/08 -- file infos -> SrcFILEs.txt
+--------DEMO.--- -- -- -- -- --
provonly.fd -- -- -- -- no date, no version, but a lot of info,
look how that is wrapped!
wrong.prv * NOT FOUND *
empty.f * NOT FOUND *
---------USED.--- -- -- -- -- --
+--------USED.--- -- -- -- -- --
hardwrap.sty 2011/02/12 v0.2 Hard wrap messages
myfilist.sty 2012/11/22 v0.71 \listfiles -- mine only (UL)
readprov.sty 2012/11/22 v0.5 file infos without loading (UL)
@@ -21,9 +21,9 @@ nicefilelist.tex 2022/12/05 -- documenting nicefilelist.sty
texlinks.sty 2015/07/20 v0.83 TeX-related links (UL)
makedoc.cfg 2013/03/25 -- documentation settings
mdoccorr.cfg 2012/11/13 -- `makedoc' local typographical corrections
--not-so-much.--- -- -- -- -- --
- kvsetkeys.sty 2019/12/15 v1.18 Key value parser (HO)
+-not-so-much.--- -- -- -- -- --
+ kvsetkeys.sty 2022-10-05 v1.19 Key value parser (HO)
***********
- List made at 2022/12/05, 16:05
+ List made at 2023/01/08, 00:00
from script file srcfiles.tex \ No newline at end of file
diff --git a/macros/latex/contrib/nicefilelist/doc/nicefilelist.RLS b/macros/latex/contrib/nicefilelist/doc/nicefilelist.RLS
index a40c48ea2b..fee0d9b4ca 100644
--- a/macros/latex/contrib/nicefilelist/doc/nicefilelist.RLS
+++ b/macros/latex/contrib/nicefilelist/doc/nicefilelist.RLS
@@ -1,10 +1,11 @@
-\ProvidesFile{nicefilelist.RLS} %% RELEASE INFO
- [{2022/12/05 v0.8a date: dashes OK}]
- [{2012/12/12 v0.7a [wrap], `mono' typo, vs.}]
- [{2012/10/30 r0.7 v0.7 [wrap] option}]
- [{2012/10/11 r0.6 v0.6 \string\MaxBaseEmptyList*}]
- [2012/10/01 r0.5 v0.5 \string\MaxBaseEmptyList]
- [{2012/05/20 r0.4 v0.4 Kabelschacht + [r] }]
- [2012/05/20 v0.3 Kabelschacht reimplementation]
- [2012/03/29 v0.2 reimpl.: much within \string\typeout]
- [2012/03/23 v0.1(a) initial] \ No newline at end of file
+\ProvidesFile{nicefilelist.RLS}%% RELEASE INFO
+ [2023/01/08 v0.9a ver@@; option autolength]
+ [2022/12/05 v0.8a date: dashes OK]
+ [2012/12/12 v0.7a [wrap], `mono' typo, vs.]
+ [2012/10/30 r0.7 v0.7 [wrap] option]
+ [2012/10/11 r0.6 v0.6 \string\MaxBaseEmptyList*]
+ [2012/10/01 r0.5 v0.5 \string\MaxBaseEmptyList]
+ [2012/05/20 r0.4 v0.4 Kabelschacht + [r]]
+ [2012/05/20 v0.3 Kabelschacht reimplementation]
+ [2012/03/29 v0.2 reimpl.: much within \string\typeout]
+ [2012/03/23 v0.1(a) initial] \ No newline at end of file
diff --git a/macros/latex/contrib/nicefilelist/doc/nicefilelist.pdf b/macros/latex/contrib/nicefilelist/doc/nicefilelist.pdf
index ec61c39601..c062cb5c46 100644
--- a/macros/latex/contrib/nicefilelist/doc/nicefilelist.pdf
+++ b/macros/latex/contrib/nicefilelist/doc/nicefilelist.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicefilelist/source/nicefilelist.tex b/macros/latex/contrib/nicefilelist/source/nicefilelist.tex
index 61681852f7..40cdb2f8aa 100644
--- a/macros/latex/contrib/nicefilelist/source/nicefilelist.tex
+++ b/macros/latex/contrib/nicefilelist/source/nicefilelist.tex
@@ -1,4 +1,4 @@
-\ProvidesFile{nicefilelist.tex}[2022/12/05 documenting nicefilelist.sty]
+\ProvidesFile{nicefilelist.tex}[2023/01/08 documenting nicefilelist.sty]
\title{\pkg{\huge nicefilelist.sty
}\\---\\\cs{listfiles} Alignment for Connoisseurs\thanks{This
document describes version
@@ -19,7 +19,7 @@
While \CtanPkgRef{longnamefilelist}{longnamefilelist.sty}
improves \LaTeX's \cs{listfiles} with respect to long base filenames only,
'nicefilelist.sty' can keep separate columns for
-(i)~date, (ii)~version, and (iii)~``caption" %% 1st , 2012/10/30
+(i)~date, (ii)~version, and (iii)~``caption" %% 1st, 2012/10/30
(don't write caption text in date column),
their alignment not being disturbed by short filename extensions such as `.fd'.
This is achieved basing on the \ctanpkgref{monofill} package.
@@ -84,7 +84,7 @@ you load 'nicefilelist.sty' (as usually) by
\[`\usepackage{nicefilelist}'\]
or by
\[`\usepackage[<options>]{nicefilelist}'\]
-where <options> may be `r', `wrap', or `r,wrap'~\dots---see
+where <options> may be `r', `wrap', and/or `autolength'---see
summaries in sections~\ref{sec:set} and \ref{sec:opt}
on the package options and an example in section~\ref{sec:short}.
Alternatively---e.g., for use with \ctanpkgref{myfilist} from the
@@ -159,6 +159,10 @@ Probably only adjusting the width for \emph{base} filenames
is required in real life, see the example in section~\ref{sec:short}.
(But there exist extensions .info and .mkii and versions
v4.6.3.1 (fontawesome.sty).)
+%% 2023-01-06
+Option `autolength' measures the respective length of the field and
+writes it into the .aux file for use in the next compilation run.
+This option requires \LaTeX{} format-version at least 2022-11-01.
The spaces between the columns are determined by macros
|\NFLspaceI|, |\NFLspaceII|, and |\NFLspaceIII|,
@@ -185,22 +189,21 @@ some ``newline sequence" before the first word that is too much,
and we use this feature here to put the next word into the
\emph{caption column} rather than at the beginning of the next line.
(Details and implementation are in section~\ref{sec:opt}.)
-\pagebreak
If you are not happy with the column width that 'hardwrap'
chooses, but want to assume your own width <max-line-chars>
(e.g., your width, measured by your doctor, divided by the
width of one character),
compute its difference <max-line-chars-minus-one> to 1
-(maybe by your electronic calculator, or an emulation, or
- a Lua script, cf.~\ctanpkgref{lualatex-doc}, or by
- \ctanpkgref{bigintcalc}), and enter
+(maybe by your electronic calculator, or an emulation,
+or a Lua script, cf.~\ctanpkgref{lualatex-doc}, or by
+\ctanpkgref{bigintcalc}), and enter
the 'hardwrap' instruction
\[|\setmaxprintline{<max-line-chars-minus-one>}|\]
when 'hardwrap' or 'nicefilelist' have been loaded
\emph{and} before the internal macro `\@dofilelist' is run
(which happens at the end of the document or when
- \ctanpkgref{myfilist}'s `\ListInfos' is issued, for instance).
+\ctanpkgref{myfilist}'s `\ListInfos' is issued, for instance).
\subsection{Usage and Samples with 'myfilist.sty'}
\label{sec:myfilist}
@@ -253,32 +256,47 @@ The previous code mentions the following files:
Moreover, my `.tex' files have dates, but not version numbers,
so you see what happens then:
\vskip\topsep
-\begin{small}\tt
-\obeyspaces\obeylines
-~ *File List*
-nicefilelist.sty 2012/03/23 v0.1 \rlap{more file list alignment (UL)}
-~ monofill.sty 2012/03/19 v0.1a monospace alignment (UL)
-~ myfilist.sty 2011/01/30 v0.3a \rlap{\cs{listfiles} -- mine only (UL)}
-~ readprov.sty 2010/11/27 v0.3 \rlap{file infos without loading (UL)}
-nicefilelist.tex 2012/03/23 -- \rlap{documenting nicefilelist.sty}
-~ provonly.fd -- -- -- -- such
-~ wrong.prv * NOT FOUND *
-~ empty.f * NOT FOUND *
-~ srcfiles.tex 2012/03/23 -- file infos -> SrcFILEs.txt
-~ ***********
-~
-~List made at 2012/03/23, 10:31
-~from script file srcfiles.tex
+\begin{small}
+\begin{verbatim}
+ *File List*
+-----RELEASE.--- -- -- -- -- --
+nicefilelist.RLS 2023/01/08 v0.9a ver@@; option autolength
+-----PACKAGE.--- -- -- -- -- --
+nicefilelist.sty 2023/01/08 v0.9a more file list alignment (UL)
+------DOCSRC.--- -- -- -- -- --
+nicefilelist.tex 2023/01/08 -- documenting nicefilelist.sty
+ srcfiles.tex 2023/01/08 -- file infos -> SrcFILEs.txt
+--------DEMO.--- -- -- -- -- --
+ provonly.fd -- -- -- -- no date, no version, but a lot of info,
+ look how that is wrapped!
+ wrong.prv * NOT FOUND *
+ empty.f * NOT FOUND *
+--------USED.--- -- -- -- -- --
+ hardwrap.sty 2011/02/12 v0.2 Hard wrap messages
+ myfilist.sty 2012/11/22 v0.71 \listfiles -- mine only (UL)
+ readprov.sty 2012/11/22 v0.5 file infos without loading (UL)
+ fifinddo.sty 2012/11/17 v0.61 filtering TeX(t) files by TeX (UL)
+ makedoc.sty 2012/08/28 v0.52 TeX input from *.sty (UL)
+ niceverb.sty 2015/11/21 v0.62 minimize doc markup (UL)
+ texlinks.sty 2015/07/20 v0.83 TeX-related links (UL)
+ makedoc.cfg 2013/03/25 -- documentation settings
+ mdoccorr.cfg 2012/11/13 -- `makedoc' local typographical corrections
+-not-so-much.--- -- -- -- -- --
+ kvsetkeys.sty 2022-10-05 v1.19 Key value parser (HO)
+ ***********
+
+ List made at 2023/01/08, 00:00
+ from script file srcfiles.tex
+\end{verbatim}
\end{small}
-%% TODO update example!?
-%%
+
\subsubsection{More Generally and Shorthand}
\label{sec:short}
\AddQuotes %% 2012/10/11
In the above example, the 'myfilist' command `\EmptyFileList'
-was missing---it was not intended there. Usually however, %% is -> was 2012/10/29
+was missing---it was not intended there. Usually however, %% is -> was 2012/10/29
it \emph{is} intended, i.e., the following sequence of
lines is wanted:
\begin{quotation}\tt\small
@@ -304,8 +322,6 @@ with 'myfilist'.
\DontAddQuotes
-\pagebreak
-
'nicefilelist' formats file lists nicely
even when base filenames have eight characters at most,
what \LaTeX's original `\listfiles' was made for.
@@ -316,7 +332,7 @@ works like `\MaxBaseEmptyList{nicefile}' (eight characters)---still,
optional `[<read-again-files>]' may follow. This feature is demonstrated
with \ctanpkgref{inputtrc} v/r0.3.
-\subsubsection{Sample with Wrapped Caption Column} %% 2012/10/30
+\subsubsection{Sample with Wrapped Caption Column} %% 2012/10/30
\AddQuotes
@@ -364,9 +380,8 @@ of the \TeX\ script `srcfiles.tex':
\subsection{Package File Header (Legalese)}
\input{nicefilelist.doc}
-\pagebreak
\section{Credits}
-\begin{enumerate} %% 2012/05/20
+\begin{enumerate} %% 2012/05/20
\item It was \ctanpkgauref{muench-hm}{\textsc{Martin M\"{u}nch}}
who pointed out the shortcomings
of 'longnamefilelist' that the present package addresses---thanks!
@@ -408,4 +423,5 @@ VERSION HISTORY
usage restructured and extended
2012/10/30 \listfiles
2012/12/12 for v0.7a vs.\
-2022/12/05 for v0.8a accepts also the new date format \ No newline at end of file
+2022/12/05 for v0.8a accepts also the new date format with dashes
+2023/01/06 for v0.9a regards |ver@@| for version; new option [autolength] \ No newline at end of file
diff --git a/macros/latex/contrib/nicefilelist/source/provonly.fd b/macros/latex/contrib/nicefilelist/source/provonly.fd
index 357896e8f8..278740491c 100644
--- a/macros/latex/contrib/nicefilelist/source/provonly.fd
+++ b/macros/latex/contrib/nicefilelist/source/provonly.fd
@@ -1,4 +1,4 @@
-%\ProvidesFile{provonly.fd}[2022/12/05 v0.11a such]
+%\ProvidesFile{provonly.fd}[2023/01/08 v0.12a such]
%\ProvidesFile{provonly.fd}[such]
\ProvidesFile{provonly.fd}[no date, no version, but a lot of info,
look how that is wrapped!] \ No newline at end of file
diff --git a/macros/latex/contrib/nicefilelist/source/srcfiles.tex b/macros/latex/contrib/nicefilelist/source/srcfiles.tex
index 359d5bd323..f11a4891fb 100644
--- a/macros/latex/contrib/nicefilelist/source/srcfiles.tex
+++ b/macros/latex/contrib/nicefilelist/source/srcfiles.tex
@@ -1,5 +1,5 @@
\ProvidesFile{srcfiles.tex}
- [2022/12/05 file infos -> SrcFILEs.txt]
+ [2023/01/08 file infos -> SrcFILEs.txt]
\RequirePackage[r,wrap]{nicefilelist}
\RequirePackage{filedate}
\MaxBaseEmptyList{nicefilelist}
diff --git a/macros/latex/contrib/nicefilelist/tex/nicefilelist.sty b/macros/latex/contrib/nicefilelist/tex/nicefilelist.sty
index aa82af7f27..ce80cd1666 100644
--- a/macros/latex/contrib/nicefilelist/tex/nicefilelist.sty
+++ b/macros/latex/contrib/nicefilelist/tex/nicefilelist.sty
@@ -1,5 +1,5 @@
-\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{nicefilelist}[2022/12/05 v0.8a
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]% Option autolength needs 2022-11-01!
+\ProvidesPackage{nicefilelist}[2023/01/08 v0.9a
more file list alignment (UL)]
%% Copyright (C) 2012 Uwe Lück (deceased June 2020)
%%
@@ -12,7 +12,7 @@
%% https://www.latex-project.org/lppl.txt
%% and version 1.3c or later is part of all distributions of
%% LaTeX version 2005-12-01 or later.
-%%
+%%
%%
%%
%%
@@ -22,59 +22,57 @@
\RequirePackage{monofill}[2012/10/29]
%% See its documentation for details.
%% %% <- added 2012/10/29 ->
-%% The `[wrap]' option provided by 'nicefilelist' v0.7 requires
+%% The `[wrap]' option provided by 'nicefilelist' v0.7 requires
%% 'monofill' v0.2 as of 2012-10-29.
%%
-%% We support three alignment ``fields" according to the terminology of \pkg{monofill}.
-%% Their ids are |f-base| for base filenames, |f-ext| for filename extensions,
-%% % |f-date| for the revision date,
-%% and |f-version| for the revision version id of a file %%% ,
-%% % the latter two
-%% as read from `\ProvidesFile', `\ProvidesPackage',
+%% We support three alignment ``fields" according to the terminology of \pkg{monofill}.
+%% Their ids are |f-base| for base file-names, |f-ext| for file-name extensions,
+%% % |f-date| for the revision date,
+%% and |f-version| for the revision version id of a file
+%% %, the latter two
+%% as read from `\ProvidesFile', `\ProvidesPackage',
%% or `\ProvidesClass' command in the file.
%% Initial settings for them are following.
-%% For modifying them, load 'nicefilelist.sty',
+%% For modifying them, load 'nicefilelist.sty',
%% then type your own settings, then issue `\listfiles'
%% or load 'myfilist.sty'.
\MFfieldtemplate{f-base}{nicefilelist}
\MFfieldtemplate{f-ext}{tex}
\MFfieldtemplate{f-version}{v0.11a}
-%% We are not supporting version numbers greater than 9 at present---sorry! (TODO)
-%% \pagebreak
-%%
-%% |\NFLspaceI|, |\NFLspaceII|, and |\NFLspaceIII|
-%% determine the space between the four
+%%
+%% |\NFLspaceI|, |\NFLspaceII|, and |\NFLspaceIII|
+%% determine the space between the four
%% columns for names, dates, versions, and ``captions":
\newcommand*{\NFLspaceI} { \space}
\newcommand*{\NFLspaceII} { \space}
\newcommand*{\NFLspaceIII}{ }
-%%
+%%
%% === Failure Displays ===
%% \label{sec:fail} %% was failure 2012/10/29
-%% |\NFLnodate| is displayed in place of a file date if it seems
+%% |\NFLnodate| is displayed in place of a file date if it seems
%% not to be given (configurable):
\newcommand*{\NFLnodate}{ -- \space-- --}
-%% |\NFLnoversion| likewise---however, for alignment,
+%% |\NFLnoversion| likewise---however, for alignment,
%% each wanted space must be specified as `\space'
-%% (not just a code blank space).
+%% (not just a code blank space).
%% It may need adjustment (by `\renewcommand') when
%% `\MFfieldtemplate{f-version}' is modified:
\newcommand*{\NFLnoversion}{\space--}
-%% |\NFLnotfound| is for files with wrong or no
+%% |\NFLnotfound| is for files with wrong or no
%% \cs{Provides.\empty..} command:
\newcommand*{\NFLnotfound}{ * NOT FOUND *}
-%%
+%%
%% === Package Options ===
%% \label{sec:opt}
%% v0.4 offers package option |[r]| that allows strings with `r' %% |...| 2012/10/30
%% in place of `v', for ``release." `\NFL@v@digit''s definition
-%% therefore depends ... we use |\@listfiles| for a ``message"
-%% there. For the original restricted functionality, it expands
-%% to |\NFL@false|.
+%% therefore depends ... we use |\@listfiles| for a ``message"
+%% there. For the original restricted functionality, it expands
+%% to |\NFL@false|.
\def\@listfiles{\noexpand\NFL@false}
%% Package option `[r]' carries out another test instead.
-%% See the accompanying file `SrcFILEs.txt' to see the effect.
-%% TODO: update example!?
+%% See the accompanying file `SrcFILEs.txt' to see the effect.
+%% TO DO: update example!?
\DeclareOption{r}{%
\def\@listfiles{%
{\noexpand\NFL@ifx@kbl##1r%
@@ -82,19 +80,21 @@
\noexpand\NFL@false}%
}%
}
-%% v0.7 offers package option |[wrap]| for automatical wrapping within %% |...| 2012/10/30
-%% the "captions" column, based on Will Robertson's and Kevin Godby's
-%% \ctanpkgref{hardwrap} package. The difference between this option
-%% and the functionality without is controlled by the macro
-%% `\NFL@filerow'.
+%% v0.7 offers package option |[wrap]| for automatic wrapping within %% |...| 2012/10/30
+%% the "captions" column, based on Will Robertson's and Kevin Godby's
+%% \ctanpkgref{hardwrap} package. The difference between this option
+%% and the functionality without is controlled by the macro
+%% `\NFL@filerow'.
%% %% 2012/10/30:
%% \emph{Without} it expands to `\typeout'
\newcommand*{\NFL@filerow}{\typeout}
-%% ---`\let' doesn't work with 'myfilist''s redefinition of
+%% ---`\let' doesn't work with 'myfilist''s redefinition of
%% `\typeout'.
-%% \emph{With} `[wrap]', `\NFL@filerow' applies 'hardwrap''s
+%% \emph{With} `[wrap]', `\NFL@filerow' applies 'hardwrap''s
%% `\HardWrap':
+\newif\ifNFLwrap%
\DeclareOption{wrap}{%
+ \NFLwraptrue%
\renewcommand*{\NFL@filerow}[1]{%
\HardWrap\typeout\hw@maxprintline\relax{^^J%
\MFrightinfield\space{f-base} %
@@ -102,58 +102,228 @@
\NFLspaceI\@spaces\space\@spaces\space \NFLspaceII
\MFrightinfield\space{f-version}\NFLspaceIII}{%
#1}}%
-%% Alignment of filenames with 'hardwrap' seems to need
+%% Alignment of file-names with 'hardwrap' seems to need
\renewcommand*{\MFfillelement}{\MFotherspace}
%% from \ctanpkgref{monofill} v0.2. %% was `monospace' 2012/12/12
}
-%% The display width is controlled by 'hardwrap''s counter
-%% `\hw@maxprintline'. Unless 'hardwrap' finds something special,
-%% its content is 79, corresponding to a display width of
-%% 80 characters (I believe---counting the leftmost character
-%% as \qtd{0}, as editors like to do). You can choose a different
+%% The display width is controlled by 'hardwrap''s counter
+%% `|\hw@maxprintline|'. Unless 'hardwrap' finds something special,
+%% its content is 79, corresponding to a display width of
+%% 80~characters (I~believe---counting the leftmost character
+%% as~\qtd{0}, as~editors like to~do). You can choose a different
%% content value <max-char-col> by 'hardwrap''s
%% \[|\setmaxprintline{<max-char-col>}|\]
+%%
+%% \noindent v0.9a offers package option |[autolength]| %% |...| 2023-01-08
+%% for automatic setting of lengths of base file-name, extension, and version.
+\newif\ifNFLautolength
+
+\DeclareOption{autolength}{% v0.9a 2023-01-08
+%% We just measure the respective length and write it into the .aux file
+%% for use in the next compilation run.
+%% The \ctanpkgref{xstring} package requires e-\TeX. |\AddToHook{enddocument/afterlastpage}|
+%% ensures that the nicefilelist package still works when |\AtEndDocument| would be gone.
+%% The |\ver@@|-fix for the file-list was introduced 2022. Thus instead of \LaTeX{} format
+%% version 1994/12/01 option [autolength] requires format-version 2022-11-01 or newer.
+%% (2018 might be sufficient, but testing was only done with a current format.)
+ \@ifl@t@r\fmtversion{2022/11/01}{
+ % would have understood
+ % \IfFormatAtLeastTF{2022-11-01}{<true code>}{<false code>}
+ \NFLautolengthtrue
+ }{\PackageError{nicefilelist}{%
+ Option autolength needs newer LaTeX format%
+ }{Needed LaTeX format version: 2022-11-01 or newer.\MessageBreak%
+ Found LaTeX format version: \fmtversion.\MessageBreak%
+ To use option autolength update your TeX distribution.%
+ }
+ }
+ }
+
\ProcessOptions
-%% The next `\ifx' is to check whether `[wrap]' has been demanded
+
+%% The next `\if' is to check whether `[wrap]' has been demanded
%% and 'hardwrap' is needed:
-\ifx\NFL@filerow\typeout \else
- \RequirePackage{hardwrap}
+\ifNFLwrap\RequirePackage{hardwrap}\fi
+
+\ifNFLautolength
+ \RequirePackage{xstring}[2021-07-21]% v1.84; needs e-TeX
+ \AddToHook{enddocument/afterlastpage}{%
+ \xdef\NFLbaselengthmax{nicefilelist}%
+ \xdef\NFLextlengthmax{sty}%
+ \xdef\NFLversionlengthmax{v0.9a}%
+ \xdef\NFLcaptionlengthmax{more file list alignment (UL)}%
+ \xdef\NFLbaselengthtmp{0}%
+ \xdef\NFLextlengthtmp{0}%
+ \xdef\NFLversionlengthtmp{0}%
+ \xdef\NFLcaptionlengthtmp{0}%
+ \xdef\NFLtotallengthtmp{0}%
+ \@for\@currname:=\@filelist\do{%
+ % This starts the loop through the list of files.
+ \filename@parse\@currname%
+ \StrLen{\filename@base}[\NFLbaselengthcurrent]%
+ \ifnum \NFLbaselengthcurrent > \NFLbaselengthtmp \relax%
+ {\xdef\NFLbaselengthtmp{\NFLbaselengthcurrent}%
+ \xdef\NFLbaselengthmax{\filename@base}%
+ }%
+ \fi%
+ \StrLen{\filename@ext}[\NFLextlengthcurrent]%
+ \ifnum \NFLextlengthcurrent > \NFLextlengthtmp \relax%
+ {\xdef\NFLextlengthtmp{\NFLextlengthcurrent}%
+ \xdef\NFLextlengthmax{\filename@ext}%
+ }%
+ \fi%
+ \expandafter\let\expandafter\@NFLtempb\csname ver@\filename@base.\filename@ext\endcsname%
+ \StrBetween[1,2]{\@NFLtempb}{ }{ }[\@NFLtempc]%
+ % assuming date space version space description
+ \IfBeginWith{\@NFLtempc}{v}{%
+ % fails if version omitted and description starts with v - evil!
+ \xdef\filename@version{\@NFLtempc}}{%
+ % else: empty or unusual format
+ % Packages that \relax their \ver@... (e.g., fontenc)
+ % can use \ver@@... to store the version information instead:
+ \expandafter\let\expandafter\@NFLtempd\csname ver@@\filename@base.\filename@ext\endcsname%
+ \StrBetween[1,2]{\@NFLtempd}{ }{ }[\@NFLtempc]%
+ % assuming date space version space description again
+ \IfBeginWith{\@NFLtempc}{v}{\xdef\filename@version{\@NFLtempc}%
+ }{% else: no usual version found
+ \xdef\filename@version{}%
+ }%
+ }%
+ \StrLen{\filename@version}[\NFLversionlengthcurrent]%
+ \ifnum \NFLversionlengthcurrent > \NFLversionlengthtmp \relax%
+ {\xdef\NFLversionlengthtmp{\NFLversionlengthcurrent}%
+ \xdef\NFLversionlengthmax{\filename@version}%
+ }%
+ \fi%
+ \ifx\filename@version\empty\relax%
+ \StrBehind[1]{\@NFLtempb}{ }[\@NFLtempc]%
+ \else%
+ \StrBehind[2]{\@NFLtempb}{ }[\@NFLtempc]%
+ \fi%
+ \StrLen{\@NFLtempc}[\NFLcaptionlengthcurrent]%
+ \ifnum \NFLcaptionlengthcurrent > \NFLcaptionlengthtmp \relax%
+ {\xdef\NFLcaptionlengthtmp{\NFLcaptionlengthcurrent}%
+ \xdef\NFLcaptionlengthmax{\@NFLtempc}%
+ }%
+ \fi%
+ }%
+ \message{^^J^^J%
+ ******************************************************************************^^J%
+ Package nicefilelist Info:^^J}%
+ \@ifundefined{hw@maxprintline}{%
+ \IfPackageLoadedTF{hardwrap}{%
+ \message{\space\string\hw@maxprintline\space unknown.^^J}%
+ }{\message{\space\string\hw@maxprintline\space %
+ unknown because not loading the hardwrap package.^^J}%
+ }%
+ \message{\space Now guessing it to be 79.}%
+ \global\newcount\hw@maxprintline%
+ \hw@maxprintline=79\relax% the default value
+ }{% was already defined by hardwrap package or manually
+ }%
+ \StrLen{\NFLbaselengthmax .\NFLextlengthmax\NFLspaceI %
+ yyyy-mm-dd\NFLspaceII \NFLversionlengthmax \NFLspaceIII %
+ \NFLcaptionlengthmax}[\@NFLtempc]%
+ \message{%
+ Longest base file-name: \NFLbaselengthmax\space - %
+ \NFLbaselengthtmp\space characters^^J%
+ Longest file extension: \NFLextlengthmax\space - %
+ \NFLextlengthtmp\space characters^^J%
+ Longest file version: \space\space\NFLversionlengthmax\space - %
+ \NFLversionlengthtmp\space characters^^J%
+ Longest file caption: \space\space\NFLcaptionlengthmax\space - %
+ \NFLcaptionlengthtmp\space characters^^J%
+ Total length of^^J%
+ base-filename.extension\string\NFLspaceI\space date%
+ \string\NFLspaceII\space version\string\NFLspaceIII\space %
+ caption:^^J
+ \@NFLtempc\space characters^^J%
+ Linewidth: \the\hw@maxprintline\space characters^^J%
+ }%
+%% There exists ``beamercolorthememetropolis-highcontrast.sty''.
+ \ifnum \@NFLtempc > \the\hw@maxprintline\relax%
+ \IfPackageLoadedTF{hardwrap}{%
+ \xdef\roomforcaption{%
+ \the\numexpr(\the\hw@maxprintline-(\@NFLtempc-\NFLcaptionlengthtmp))\relax}%
+ \ifnum\numexpr(2*\roomforcaption) < \NFLcaptionlengthtmp\relax%
+ \xdef\NFLmaybe{%
+ \the\numexpr(\NFLbaselengthtmp+(2*\roomforcaption-\NFLcaptionlengthtmp)+1)\relax}%
+ \gdef\NFLbaselengthmaybe{}%
+ \newcounter{NFLcounter}%
+ \loop%
+ \xdef\NFLbaselengthmaybe{A\NFLbaselengthmaybe}%
+ \addtocounter{NFLcounter}{1}%
+ \ifnum\value{NFLcounter}<\NFLmaybe%
+ \repeat%
+ \message{Warning:^^J%
+ Caption needs more than two lines, %
+ wrapping was not implemented for this.^^J%
+ Maybe set the lengths for base file-name, %
+ -extension, and -version manually^^J%
+ or increase the max_print_line.^^J%
+ Instead of using option autolength, after^^J%
+ \string\usepackage[<options>]{nicefilelist}^^J%
+ try adding^^J%
+ \string\MFfieldtemplate{f-base}{\NFLbaselengthmaybe}^^J%
+ \string\MFfieldtemplate{f-ext}{\NFLextlengthmax}^^J%
+ \string\MFfieldtemplate{f-version}{\NFLversionlengthmax}^^J%
+ and recompile twice - %
+ or look for the second longest file name^^J%
+ and use that for \string\MFfieldtemplate{f-base}.^^J}%
+ \fi%
+ }{\message{Warning:^^J%
+ File information does not always fit into a single %
+ line; this might look ugly.^^J%
+ Maybe set the lengths for base file-name, %
+ -extension, and -version manually^^J%
+ or increase the max_print_line.^^J}%
+ }%
+ \fi%
+ \message{%
+ ******************************************************************************^^J^^J}%
+ \if@filesw%
+ \immediate\write\@auxout{\string\IfPackageLoadedTF{nicefilelist}{\string\relax}{%
+ \string\newcommand\string\MFfieldtemplate[2]{\string\relax}}}%
+ \immediate\write\@auxout{\string\MFfieldtemplate{f-base}{\NFLbaselengthmax}}%
+ \immediate\write\@auxout{\string\MFfieldtemplate{f-ext}{\NFLextlengthmax}}%
+ \immediate\write\@auxout{\string\MFfieldtemplate{f-version}{\NFLversionlengthmax}}%
+ \fi%
+ }
\fi
-%%
%% === Safe Tests === %% below options 2012/10/29
%% \label{sec:safe}
%% For fairly safe tests, we brief{}ly use an exotic version of `Q'
%% (similarly to \ctanpkgref{ifmptarg} and \ctanpkgref{url}):
\catcode`\Q=7 \let\NFL@criterion=Q \catcode`\Q=11
%% %% 2012/03/27:
-%% It appears to me that expandable tests like the ones employed here
-%% never are perfectly safe; you only can say that it is safe with a
-%% source meeting certain conditions. \ctanpkgref{fifinddo} originally
-%% was made for ``plain text," to be read from files without assigning
-%% \TeX's special category codes. \emph{Here} we assume that the source
-%% (text in \cs{Provides.\empty..} arguments) will never contain such a
+%% It appears to me that expandable tests like the ones employed here
+%% never are perfectly safe; you only can say that it is safe with a
+%% source meeting certain conditions. \ctanpkgref{fifinddo} originally
+%% was made for ``plain text," to be read from files without assigning
+%% \TeX's special category codes. \emph{Here} we assume that the source
+%% (text in \cs{Provides.\empty..} arguments) will never contain such a
%% ``funny `Q'".
%%
%% === Redefining \cs{listfiles} ===
-%% Similarly to original \LaTeX, |\listfiles| carries almost everything
-%% that is needed for the file list only. 2012-10-29: little point
-%% in this, perhaps, in that the package should be loaded when
-%% running `\listfiles' is intended---TODO. Or maybe it is loaded
+%% Similarly to original \LaTeX, |\listfiles| carries almost everything
+%% that is needed for the file list only. 2012-10-29: little point
+%% in this, perhaps, in that the package should be loaded when
+%% running `\listfiles' is intended---TO-DO. Or maybe it is loaded
%% \emph{just in case?}
\renewcommand*{\listfiles}{%
\let\listfiles\relax
-%% ---this clears memory. Now \LaTeX\ doesn't collect file names for
-%% &\listfiles when &\@listfiles is undefined, therefore
+%% ---this clears memory. Now \LaTeX\ doesn't collect file names for
+%% &\listfiles when &\@listfiles is undefined, therefore
% \let\@listfiles\relax
%% % although we don't use it.
-%% % (TODO use it in place of some `\NFL@'...?)
-%% ... postponed for v0.4 ...
+%% % (TO-DO use it in place of some `\NFL@'...?)
+%% ... postponed for future version...
%% \vskip\smallskipamount\noindent
%% |\@dofilelist| is executed by the standard \LaTeX\ `\enddocument'
%% macro or by `\ListInfos' from the \ctanpkgref{myfilist} package.
\def\@dofilelist{%
%% ``Title:"
- \typeout{^^J %% trick 2012/03/29 vv
+ \typeout{^^J %% trick 2012/03/29
\MFrightinfield{*File Lis}{f-base}t*}%
\@for\@currname:=\@filelist\do{%
%% This starts the loop through the list of files
@@ -163,12 +333,18 @@
%% Like \LaTeX's &\reserved@b:
\expandafter\let\expandafter\@tempb
\csname ver@\filename@base.\filename@ext\endcsname
-%% According to `source2e.pdf', &\filename@area may be a directory.
-%% Trying support of this is seems to be a new feature with v0.2---not
-%% tested, TODO!
+%% Packages that |\relax| their |\ver@|... (e.g., fontenc) %% v0.9a 2023-01-08
+%% can use |\ver@@|... to store the version information instead:
+ \ifx\@tempb\relax%
+ \expandafter\let\expandafter\@tempb
+ \csname ver@@\filename@base.\filename@ext\endcsname
+ \fi%
+%% According to `source2e.pdf', &\filename@area may be a directory.
+%% Trying support of this, it seems to be a new feature with v0.2
+%% --- not tested, TO-DO!
\edef\@tempa{\filename@area\filename@base}%
-%% Actually I would like to be able to do even the filename parsing
-%% expandably---for all systems, `texsys.cfg'!?? TODO
+%% Actually I would like to be able to do even the file-name parsing
+%% in an expandable way --- for all systems, `texsys.cfg'?! TO-DO
\NFL@filerow{%
%% Now all parsing and checking must be expandable.
\NFL@make@macro@arg\MFrightinfield\@tempa {f-base}.%
@@ -182,39 +358,39 @@
}%
}%
%% The line of stars:
- \typeout{ %% trick vvv 2012/03/29
+ \typeout{ %% trick v 2012/03/29
\MFrightinfield{********}{f-base}***^^J}%
-%% TODO or more stars as with 'longnamefilelist'?
+%% TO-DO or more stars as with 'longnamefilelist'?
}%
-%% This finishes the definition of `\@dofilelist'.
+%% This finishes the definition of `\@dofilelist'.
%% % The definitions of macros called from `\@dofilelist' are following.
-%% \[|\NFL@make@macro@arg<cmd-1><cmd-2>|\] results in
-%% `<cmd-1>{<t-list>}' where <t-list> is the one-step expansion of
+%% \[|\NFL@make@macro@arg<cmd-1><cmd-2>|\] results in
+%% `<cmd-1>{<t-list>}' where <t-list> is the one-step expansion of
%% <cmd-2>:
\def\NFL@make@macro@arg##1##2{\expandafter##1\expandafter{##2}}%
%% |\NFL@space@split{<token-list>}{<spaced>}{<unspaced>}|
-%% passes prefix and suffix as arguments to <spaced>
-%% if a space token is within <token-list>, otherwise
-%% <unspaced> gets the original <token-list> as single
-%% argument. The latter is useful here where <token-list>
+%% passes prefix and suffix as arguments to <spaced>
+%% if a space token is within <token-list>, otherwise
+%% <unspaced> gets the original <token-list> as single
+%% argument. The latter is useful here where <token-list>
%% becomes visible only by an &\expandafter.
-%% The following construction is discussed more generally
+%% The following construction is discussed more generally
%% in the \ctanpkgref{bitelist} package.
\def\NFL@space@split##1{%
\NFL@return@space@split##1\@nil: \NFL@criterion\@nil\@nil@{##1}}%
-%% `\NFL@return@spaces@split' essentially has \emph{three} parameters
+%% `\NFL@return@spaces@split' essentially has \emph{three} parameters
%% delimited by ` ', `\@nil', and `\@nil' again.
\def\NFL@return@space@split##1 ##2\@nil##3\@nil@##4##5##6{%
\NFL@ifx@kbl\NFL@criterion{##2}%
-%% If #2 is empty, `\NFL@ifx@kbl' (as of v0.3) compares
-%% `\NFL@criterion' (criterion indicating ``unspaced") with
-%% `\expandafter'. This only happens when the space is the last thing
+%% If #2 is empty, `\NFL@ifx@kbl' (as of v0.3) compares
+%% `\NFL@criterion' (criterion indicating ``unspaced") with
+%% `\expandafter'. This only happens when the space is the last thing
%% in <token-list>, and `<spaced>' is chosen correctly.
{##6{##4}}{##5{##1}{##2}}}%
-%% |\NFL@ifx@kbl{<token>}{<maybe-token>}{<ifx>}{<unlessx>}|
-%% as of v0.3 should save some tokens, in some longer run,
-%% especially if we want to add nestings---cf. \file{source2e.pdf}
-%% for ``Kabelschacht."
+%% |\NFL@ifx@kbl{<token>}{<maybe-token>}{<ifx>}{<unlessx>}|
+%% as of v0.3 should save some tokens, in some longer run,
+%% especially if we want to add nestings---{}%
+%% cf.~\file{source2e.pdf} for ``Kabelschacht".
\def\NFL@ifx@kbl##1##2{%
\ifx##1##2\expandafter \@firstoftwo
\else \expandafter \@secondoftwo \fi}%
@@ -245,9 +421,9 @@
{\NFL@ifx@kbl##8-\NFL@ten@only\NFL@false}%
\NFL@false
{##1##2##3##4##6##7}}%
-%% If the word is a date, we now have taken 6 of the 8 digits.
+%% If the word is a date, we now have taken 6 of the 8 digits.
%% \[|\NFL@ten@only{<digits>}<digit><digit>Q|\]
-%% takes the two remaining and then a thing that should be `Q'
+%% takes the two remaining and then a thing that should be `Q'
%% in the funny sense of Sec.~\ref{sec:safe}.
\def\NFL@ten@only##1##2##3##4{%
\NFL@ifx@kbl\NFL@xi##4\NFL@digits\NFL@false
@@ -269,15 +445,15 @@
\def\NFL@false##1\@nil{\@secondoftwo}%
%% |\NFL@true| skips further candidates and dummies and chooses <yes>:
\def\NFL@true##1\@nil{\@firstoftwo}%
-%% We don't support version without date, therefore run
-%% |\NFL@no@date@version| as soon as we find that the file info
+%% We don't support version without date, therefore run
+%% |\NFL@no@date@version| as soon as we find that the file info
%% does not start with a date:
\def\NFL@no@date@version{%
\NFLnodate\NFLspaceII\NFLnoversion@\NFLspaceIII}%
%% |\NFLnoversion@| adds filler to &\NFLnoversion:
\def\NFLnoversion@{%
\NFL@make@macro@arg\NFL@place@version\NFLnoversion}%
-%% |\NFL@maybe@three{<word-1>}{<rest>}| looks whether <word-1>
+%% |\NFL@maybe@three{<word-1>}{<rest>}| looks whether <word-1>
%% is a date. If it is, it is written to screen, and then we look
%% if <rest> contains a version id. Otherwise ```<word-1>_<rest>'"
%% is considered a ``caption" only.
@@ -293,8 +469,6 @@
\NFL@maybe@version@rest
\NFL@version@or@rest}%
{\NFL@no@date@version##1 ##2}}}%
-%% \pagebreak
-%%
%% |\NFL@version@or@rest{<token-list>}|:
\def\NFL@version@or@rest##1{%
\NFL@if@version{##1}%
@@ -302,12 +476,12 @@
{\NFLnoversion@\NFLspaceIII##1}}%
%% |\NFL@if@version{<token-list>}{<yes>}{<no>}|:
\def\NFL@if@version##1{\NFL@v@digit##1xy\@nil}%
-%% TODO: At applications you see how some tokens could be saved.
-%% On the other hand, the macros are more transparent in the
+%% TO-DO: At applications you see how some tokens could be saved.
+%% On the other hand, the macros are more transparent in the
%% present way.
%% \vskip\smallskipamount\noindent
%% |\NFL@v@digit{<t1>}{<t2>}{<rest>}| checks whether the first thing
-%% is a `v' and the second a digit---unless package option `[r]'
+%% is a `v' and the second a digit---unless package option `[r]'
%% was chosen. v0.4 uses `\edef' for choosing:
\edef\NFL@v@digit##1##2##3\@nil{%
\noexpand\NFL@ifx@kbl##1v%
@@ -327,9 +501,9 @@
}
%% === Shorthand for 'myfilist' ===
%% \[|\MaxBaseEmptyList{<longest-name>}[<read-again-files>]|\]
-%% (v0.5) or
+%% (v0.5) or
%% \[|\MaxBaseEmptyList*[<read-again-files>]|\]
-%% (v0.6) as described in Section~\ref{sec:short}:
+%% (v0.6) as described in Section~\ref{sec:short}:
\newcommand*{\MaxBaseEmptyList}{%
\@ifstar{\maxBaseEmptyList{abcdabcd}}\maxBaseEmptyList}
\newcommand*{\maxBaseEmptyList}[1]{%
@@ -343,19 +517,17 @@
%%
%% === VERSION HISTORY ===
-v0.1 2012/03/20 started
+v0.1 2012/03/20 started
2012/03/22 almost ready
- 2012/03/23 debugging; \NFLspaceI etc.;
- documentation completed
-
+ 2012/03/23 debugging; \NFLspaceI etc.;
+ documentation completed
v0.2 2012/03/24 file info processed by \typeout - start
2012/03/25 trying, debugging
- 2012/03/26 continued; \NFL@place@version, \NFLnoversion@;
+ 2012/03/26 continued; \NFL@place@version, \NFLnoversion@;
works, reordered; another fix about Q -> \@empty
2012/03/27 undone the latter, explained; improved remarks on
\@listfiles
2012/03/29 alignment of title/stars with base<11
-
v0.30 2012/05/18f. \NFL@ifx@kbl in \NFL@return@space@split
2012/05/20 all \ifx reimplemented, old code kept
STORED INTERNALLY
@@ -370,14 +542,20 @@ v0.5 2012/09/30 \MaxBaseEmptyList
v0.6 2012/10/03 \MaxBaseEmptyLists first arg. only optional
2012/10/11 ... bad with 2nd opt. arg., *
v0.7 2012/10/13 "updating" date in \Provides...!
- 2012/10/28 \HardWrap first try
+ 2012/10/28 \HardWrap first try
2012/10/29 \HardWrap newline material -> [wrap]
sec:test below sec:opt, mentioning `url'
- 2012/10/30 correcting \NFL@filerow without wrapping,
+ 2012/10/30 correcting \NFL@filerow without wrapping,
doc.: |...| in sec:opt
v0.7a 2012/12/12 doc. monospace -> monofill; archived at:
https://web.archive.org/web/20221205210517/
https://mirror.mwt.me/ctan/install/macros/
latex/contrib/nicefilelist.tds.zip
-v0.8a 2022/12/05 Accepting also dashes instead of dashes in date
+v0.8a 2022/12/05 Accepting also dashes instead of slashes in date
+ (one-time fix by H.-Martin Münch); archived at:
+ https://web.archive.org/web/20230106193203/
+ https://mirror.mwt.me/ctan/install/macros/
+ latex/contrib/nicefilelist.tds.zip
+v0.9a 2023/01/08 now also regarding |ver@@| for version;
+ new option [autolength] (using .aux file)
(one-time fix by H.-Martin Münch) \ No newline at end of file