From 820dce948805cb27519a4848c3c5bb66275ac6b9 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 8 Jan 2023 20:59:17 +0000 Subject: nicefilelist (7jan23) git-svn-id: svn://tug.org/texlive/trunk@65492 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/nicefilelist/README | 13 +- .../texmf-dist/doc/latex/nicefilelist/SrcFILEs.txt | 24 +- .../doc/latex/nicefilelist/nicefilelist.RLS | 21 +- .../doc/latex/nicefilelist/nicefilelist.pdf | Bin 599529 -> 604616 bytes .../source/latex/nicefilelist/SrcFILEs.txt | 29 ++ .../source/latex/nicefilelist/nicefilelist.RLS | 11 + .../source/latex/nicefilelist/nicefilelist.tex | 82 +++-- .../source/latex/nicefilelist/provonly.fd | 2 +- .../source/latex/nicefilelist/srcfiles.tex | 2 +- .../tex/latex/nicefilelist/nicefilelist.sty | 384 +++++++++++++++------ 10 files changed, 403 insertions(+), 165 deletions(-) create mode 100644 Master/texmf-dist/source/latex/nicefilelist/SrcFILEs.txt create mode 100644 Master/texmf-dist/source/latex/nicefilelist/nicefilelist.RLS diff --git a/Master/texmf-dist/doc/latex/nicefilelist/README b/Master/texmf-dist/doc/latex/nicefilelist/README index ab4964ab742..7c56b707074 100644 --- a/Master/texmf-dist/doc/latex/nicefilelist/README +++ b/Master/texmf-dist/doc/latex/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/Master/texmf-dist/doc/latex/nicefilelist/SrcFILEs.txt b/Master/texmf-dist/doc/latex/nicefilelist/SrcFILEs.txt index 6209222cfbb..1d0a9bc538e 100644 --- a/Master/texmf-dist/doc/latex/nicefilelist/SrcFILEs.txt +++ b/Master/texmf-dist/doc/latex/nicefilelist/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/Master/texmf-dist/doc/latex/nicefilelist/nicefilelist.RLS b/Master/texmf-dist/doc/latex/nicefilelist/nicefilelist.RLS index a40c48ea2ba..fee0d9b4cad 100644 --- a/Master/texmf-dist/doc/latex/nicefilelist/nicefilelist.RLS +++ b/Master/texmf-dist/doc/latex/nicefilelist/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/Master/texmf-dist/doc/latex/nicefilelist/nicefilelist.pdf b/Master/texmf-dist/doc/latex/nicefilelist/nicefilelist.pdf index ec61c396013..c062cb5c46a 100644 Binary files a/Master/texmf-dist/doc/latex/nicefilelist/nicefilelist.pdf and b/Master/texmf-dist/doc/latex/nicefilelist/nicefilelist.pdf differ diff --git a/Master/texmf-dist/source/latex/nicefilelist/SrcFILEs.txt b/Master/texmf-dist/source/latex/nicefilelist/SrcFILEs.txt new file mode 100644 index 00000000000..1d0a9bc538e --- /dev/null +++ b/Master/texmf-dist/source/latex/nicefilelist/SrcFILEs.txt @@ -0,0 +1,29 @@ + *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 \ No newline at end of file diff --git a/Master/texmf-dist/source/latex/nicefilelist/nicefilelist.RLS b/Master/texmf-dist/source/latex/nicefilelist/nicefilelist.RLS new file mode 100644 index 00000000000..fee0d9b4cad --- /dev/null +++ b/Master/texmf-dist/source/latex/nicefilelist/nicefilelist.RLS @@ -0,0 +1,11 @@ +\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/Master/texmf-dist/source/latex/nicefilelist/nicefilelist.tex b/Master/texmf-dist/source/latex/nicefilelist/nicefilelist.tex index 61681852f7e..40cdb2f8aa6 100644 --- a/Master/texmf-dist/source/latex/nicefilelist/nicefilelist.tex +++ b/Master/texmf-dist/source/latex/nicefilelist/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[]{nicefilelist}'\] -where may be `r', `wrap', or `r,wrap'~\dots---see +where 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 (e.g., your width, measured by your doctor, divided by the width of one character), compute its difference 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{}|\] 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 `[]' 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/Master/texmf-dist/source/latex/nicefilelist/provonly.fd b/Master/texmf-dist/source/latex/nicefilelist/provonly.fd index 357896e8f8f..278740491ce 100644 --- a/Master/texmf-dist/source/latex/nicefilelist/provonly.fd +++ b/Master/texmf-dist/source/latex/nicefilelist/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/Master/texmf-dist/source/latex/nicefilelist/srcfiles.tex b/Master/texmf-dist/source/latex/nicefilelist/srcfiles.tex index 359d5bd3231..f11a4891fbb 100644 --- a/Master/texmf-dist/source/latex/nicefilelist/srcfiles.tex +++ b/Master/texmf-dist/source/latex/nicefilelist/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/Master/texmf-dist/tex/latex/nicefilelist/nicefilelist.sty b/Master/texmf-dist/tex/latex/nicefilelist/nicefilelist.sty index aa82af7f271..ce80cd16660 100644 --- a/Master/texmf-dist/tex/latex/nicefilelist/nicefilelist.sty +++ b/Master/texmf-dist/tex/latex/nicefilelist/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 by 'hardwrap''s %% \[|\setmaxprintline{}|\] +%% +%% \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}{}{} + \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[]{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|\] results in -%% `{}' where is the one-step expansion of +%% \[|\NFL@make@macro@arg|\] results in +%% `{}' where is the one-step expansion of %% : \def\NFL@make@macro@arg##1##2{\expandafter##1\expandafter{##2}}% %% |\NFL@space@split{}{}{}| -%% passes prefix and suffix as arguments to -%% if a space token is within , otherwise -%% gets the original as single -%% argument. The latter is useful here where +%% passes prefix and suffix as arguments to +%% if a space token is within , otherwise +%% gets the original as single +%% argument. The latter is useful here where %% 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 , and `' is chosen correctly. {##6{##4}}{##5{##1}{##2}}}% -%% |\NFL@ifx@kbl{}{}{}{}| -%% 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{}{}{}{}| +%% 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{}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 : \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{}{}| looks whether +%% |\NFL@maybe@three{}{}| looks whether %% is a date. If it is, it is written to screen, and then we look %% if contains a version id. Otherwise ```_'" %% 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{}|: \def\NFL@version@or@rest##1{% \NFL@if@version{##1}% @@ -302,12 +476,12 @@ {\NFLnoversion@\NFLspaceIII##1}}% %% |\NFL@if@version{}{}{}|: \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{}{}{}| 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{}[]|\] -%% (v0.5) or +%% (v0.5) or %% \[|\MaxBaseEmptyList*[]|\] -%% (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 -- cgit v1.2.3