summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/longnamefilelist
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/longnamefilelist
Initial commit
Diffstat (limited to 'macros/latex/contrib/longnamefilelist')
-rw-r--r--macros/latex/contrib/longnamefilelist/README40
-rw-r--r--macros/latex/contrib/longnamefilelist/SrcFILEs.txt17
-rw-r--r--macros/latex/contrib/longnamefilelist/docsrc/longnamefilelist.tex62
-rw-r--r--macros/latex/contrib/longnamefilelist/docsrc/srcfiles.tex13
-rw-r--r--macros/latex/contrib/longnamefilelist/longnamefilelist.pdfbin0 -> 337962 bytes
-rw-r--r--macros/latex/contrib/longnamefilelist/longnamefilelist.sty188
6 files changed, 320 insertions, 0 deletions
diff --git a/macros/latex/contrib/longnamefilelist/README b/macros/latex/contrib/longnamefilelist/README
new file mode 100644
index 0000000000..32971ddc4c
--- /dev/null
+++ b/macros/latex/contrib/longnamefilelist/README
@@ -0,0 +1,40 @@
+ README for the `longnamefilelist' package
+ (C) Uwe Lueck 2012/03/13
+
+
+`longnamefilelist.sty' equips LaTeX's \listfiles with an optional
+argument for the number of characters in the longest base filename.
+This way you get a neatly aligned file list even when it contains
+files whose base names have more than 8 characters. The package can
+be combined with `myfilist.sty' as explained in the documentation.
+
+KEYWORDs: file info list; package management, document management,
+ macro programming, plain text output, alignment
+
+LICENSE:
+
+The package file `longnamefilelist.sty' and the documentation files
+`longnamefilelist.pdf' and `longnamefilelist.tex' 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, see
+
+ http://www.latex-project.org/lppl.txt
+
+We did our best to help you, but there is NO WARRANTY.
+
+The `longnamefilelist' package is author-maintained in the sense of
+this license.
+
+The latest public version of the package is available at
+
+ http://mirror.ctan.org/macros/latex/contrib/longnamefilelist/
+
+A TDS version of the package is available as
+
+ http://mirror.ctan.org/install/macros/latex/contrib/longnamefilelist.tds.zip
+
+Please report bugs, problems, and suggestions via
+
+ http://www.contact-ednotes.sty.de.vu
+
+
diff --git a/macros/latex/contrib/longnamefilelist/SrcFILEs.txt b/macros/latex/contrib/longnamefilelist/SrcFILEs.txt
new file mode 100644
index 0000000000..e214f309c0
--- /dev/null
+++ b/macros/latex/contrib/longnamefilelist/SrcFILEs.txt
@@ -0,0 +1,17 @@
+
+ *File List*
+longnamefilelist.sty 2012/09/30 v0.2 list files with long names (UL)
+ myfilist.sty 2012/05/26 v0.4 \listfiles -- mine only (UL)
+ readprov.sty 2012/03/20 v0.3b file infos without loading (UL)
+longnamefilelist.tex 2012/03/14 documenting longnamefilelist.sty
+ fifinddo.sty 2012/08/27 v0.6 filtering TeX(t) files by TeX (UL)
+ makedoc.sty 2012/08/28 v0.52 TeX input from *.sty (UL)
+ niceverb.sty 2012/08/28 v0.5 minimize doc markup (UL)
+ makedoc.cfg 2012/07/13 documentation settings
+ mdoccorr.cfg 2011/12/03 makedoc local typographical corrections
+ srcfiles.tex 2012/03/12 file infos -> SrcFILEs.txt
+ *******************
+
+ List made at 2012/09/30, 16:39
+ from script file srcfiles.tex
+
diff --git a/macros/latex/contrib/longnamefilelist/docsrc/longnamefilelist.tex b/macros/latex/contrib/longnamefilelist/docsrc/longnamefilelist.tex
new file mode 100644
index 0000000000..7685a6f46d
--- /dev/null
+++ b/macros/latex/contrib/longnamefilelist/docsrc/longnamefilelist.tex
@@ -0,0 +1,62 @@
+\ProvidesFile{longnamefilelist.tex}[2012/03/14 documenting longnamefilelist.sty]
+\title{\textsf{\Huge %% \Huge 2012/03/14
+ longnamefilelist.sty}\\---\\\cs{listfiles}
+ when some File Names\\Consist of quite a Lot of
+ Characters, such as\\\relax
+ [\,to be continued in next package update\,]\thanks{This
+ document describes version
+ \textcolor{blue}{\UseVersionOf{\jobname.sty}}
+ of \textsf{\jobname.sty} as of \UseDateOf{\jobname.sty}.}}
+{ \RequirePackage{makedoc} \ProcessLineMessage{}
+ \MakeJobDoc{19}
+ {\SectionLevelTwoParseInput} }
+\documentclass[fleqn]{article}%% TODO paper dimensions!?
+\input{makedoc.cfg} %% shared formatting settings
+\ReadPackageInfos{longnamefilelist}
+\sloppy
+\begin{document}
+\maketitle
+\begin{abstract}\noindent
+'longnamefilelist.sty' equips \LaTeX's `\listfiles' with an optional
+argument for the number of characters in the longest base filename.
+This way you get a neatly aligned file list even when it contains
+files whose base names have more than 8 characters.
+\end{abstract}
+\tableofcontents
+
+% \newpage
+% \section{Features and Usage}
+\section{Installing and Calling}
+The file 'longnamefilelist.sty' is provided ready, installation only requires
+putting it somewhere where \TeX\ finds it
+(which may need updating the filename data
+ base).\urlfoot{ukfaqref}{inst-wlcf} %% corr. 2011/02/08
+
+%% extended 2011/01/14:
+Below the `\documentclass' line(s) and above `\begin{document}',
+you load 'longnamefilelist.sty' (as usually) by
+\begin{verbatim}
+ \usepackage{longnamefilelist}
+\end{verbatim}
+Alternatively---e.g., for use with \ctanpkgref{myfilist} from the
+\ctanpkgref{fileinfo} bundle, see~Sec.~\ref{sec:myfilist},
+or in order to include the `.cls' file in the list---you may load it by
+\begin{verbatim}
+ \RequirePackage{longnamefilelist}
+\end{verbatim}
+before `\documentclass' or when you don't use `\documentclass'.
+
+% \section{Example}
+
+% \pagebreak
+% \section{Implementation}
+\section{Package File Header (Legalese)} %% ize -> ese 2012/09/30
+\input{longnamefilelist.doc}
+\end{document}
+
+VERSION HISTORY
+
+2012/03/11 for v0.1 started
+2012/03/12 completed
+2012/03/14 v0.1b name in title \Huge
+2012/09/30 for v0.2 ize -> ese
diff --git a/macros/latex/contrib/longnamefilelist/docsrc/srcfiles.tex b/macros/latex/contrib/longnamefilelist/docsrc/srcfiles.tex
new file mode 100644
index 0000000000..cecfddb130
--- /dev/null
+++ b/macros/latex/contrib/longnamefilelist/docsrc/srcfiles.tex
@@ -0,0 +1,13 @@
+\ProvidesFile{srcfiles.tex}[2012/03/12 file infos -> SrcFILEs.txt]
+\RequirePackage{longnamefilelist}
+% \SetLongNameFileListChars{16}
+\listfiles[16]
+\RequirePackage{myfilist}
+% \EmptyFileList[longnamefilelist.sty,readprov.sty,myfilist.sty]
+% \ReadPackageInfos{longnamefilelist}
+%% documentation:
+\ReadFileInfos{longnamefilelist}
+%% documentation settings and auxiliaries:
+\ReadPackageInfos{fifinddo,makedoc,niceverb}
+\ReadFileInfos{makedoc.cfg,mdoccorr.cfg,srcfiles}
+\ListInfos[SrcFILEs.txt]
diff --git a/macros/latex/contrib/longnamefilelist/longnamefilelist.pdf b/macros/latex/contrib/longnamefilelist/longnamefilelist.pdf
new file mode 100644
index 0000000000..e1c4a03d98
--- /dev/null
+++ b/macros/latex/contrib/longnamefilelist/longnamefilelist.pdf
Binary files differ
diff --git a/macros/latex/contrib/longnamefilelist/longnamefilelist.sty b/macros/latex/contrib/longnamefilelist/longnamefilelist.sty
new file mode 100644
index 0000000000..e9615888f9
--- /dev/null
+++ b/macros/latex/contrib/longnamefilelist/longnamefilelist.sty
@@ -0,0 +1,188 @@
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\ProvidesPackage{longnamefilelist}[2012/09/30 v0.2
+ list files with long names (UL)]
+%%
+%% Copyright (C) 2012 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
+%% 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.
+%%
+%% Please report bugs, problems, and suggestions via
+%%
+%% http://www.contact-ednotes.sty.de.vu
+%%
+%% == Usage with 'myfilist' ==
+%% \label{sec:myfilist}
+%% === Basically ===
+%% \label{sec:basic}
+%% In order to get a reduced and/or rearranged list of used files
+%% with the \ctanpkgref{myfilist} package,
+%% `longnamefilelist.sty' must be loaded earlier than
+%% `myfilist.sty'. This is due to a kind of limitation of the latter,
+%% it \emph{issues} `\listfiles' (TODO).
+%% Therefore `\listfiles' must be modified earlier---or \emph{issued} earlier,
+%% in this case the `\listfiles' in `myfilist.sty' does nothing.
+%% The file `SrcFILEs.txt' accompanying the distribution of 'longnamefilelist',
+%% e.g., can be generated by running the following file `srcfiles.tex'
+%% with \LaTeX:
+%% %% v0.1b 2012/03/14 avoid right-arrow substitution TODO:
+%% \begin{quotation}\tt\small
+%% \expandafter\def\expandafter\{\expandafter{\string{}
+%% \expandafter\def\expandafter\}\expandafter{\string}}
+%% \obeyspaces\obeylines
+%% \cs{ProvidesFile}\{srcfiles.tex\}[2012/03/12
+%% ~ file infos -\empty> SrcFILEs.txt]
+%% \cs{RequirePackage}\{longnamefilelist\}
+%% \cs{listfiles}[16]
+%% \cs{RequirePackage}\{myfilist\}
+%% \%\% documentation:
+%% \cs{ReadFileInfos}\{longnamefilelist\}
+%% \%\% documentation settings and auxiliaries:
+%% \cs{ReadPackageInfos}\{fifinddo,makedoc,niceverb\}
+%% \cs{ReadFileInfos}\{makedoc.cfg,mdoccorr.cfg,srcfiles\}
+%% \cs{ListInfos}[SrcFILEs.txt]
+%% \end{quotation}
+%%
+%% === Shorthand ===
+%% \label{sec:short}
+%% In the above example, the 'myfilist' command `\EmptyFileList'
+%% is missing---it is not intended there. Usually however,
+%% it \emph{is} intended, i.e., the following sequence of
+%% lines is wanted:
+%% \begin{quotation}\tt\small
+%% \expandafter\def\expandafter\{\expandafter{\string{}
+%% \expandafter\def\expandafter\}\expandafter{\string}}
+%% \obeyspaces\obeylines
+%% \cs{RequirePackage}\{longnamefilelist\}
+%% \cs{listfiles}[<digit><digit>]
+%% \cs{RequirePackage}\{myfilist\}
+%% \cs{EmptyFileList}[<read-again-files>]
+%% \end{quotation}
+%% With v0.2, the last three lines can be replaced by
+%% \[|\MaxLengthEmptyList{<digit><digit>}[<read-again-files>|]\]
+%% ---``optionally" without \qtd{`[<read-again-files>]'}.
+%% This may save the user from worrying about usage
+%% with 'myfilist'.
+%%
+%% == \cs{listfiles} extended ==
+%% \label{sec:list}
+%% |\listfiles[<number>]| ``orders" a final list of files
+%% with infos and optimizes the list's alignment
+%% (in plain text output) when the longest base filename
+%% consists of <number> characters:
+\renewcommand*{\listfiles}[1][\LNFL@chars@set]{%
+%% The default parameter `\LNFL@chars@set' is defined in Sec.~\ref{sec:set}.
+ \let\listfiles\relax
+ \def\LNFL@chars{#1}%
+%% This stores the actual parameter. It is used several times:
+%% for preparing the alignment and the final line of stars here
+%% and then for aligning each list entry by `\@listfiles'
+%% from `\@dofilelist'.
+%%
+%% \LaTeX's `\@dofilelist' appends a list of ``dummy" tokens `\\'
+%% to each filename before `\@listfiles' is run on the filename.
+%% \LaTeX's `\@listfiles' is run 8 times, and there are 8 dummies.
+%% Dummies not looked at by `\@listfiles' are removed by some
+%% ``killing" macro using a token that delimits the dummy list.
+%% We use `\relax' tokens as dummies instead. They need not to be removed.
+%% And we append <number> dummies. They are stored in a macro `\LNFL@dummies':
+ \let\LNFL@dummies\@empty
+%% `\LNFL@spaces' is used to align the list title ``*file list*"
+%% flushleft with the filenames:
+ \def\LNFL@spaces{ }%
+%% We also use more stars than \LaTeX\ below the list. %% space 2012/03/15
+%% (However, all of this can also be used for \emph{shorter} names
+%% with \emph{less} stars below.)
+ \def\LNFL@stars{***}%
+ \count@\LNFL@chars\relax
+%% This initializes the loop for adding dummies, title spaces,
+%% and stars below the list.
+ \@whilenum\count@>\z@\do{%
+ \edef \LNFL@dummies{\LNFL@dummies\relax}%
+ \ifnum8<\count@
+ \edef \LNFL@spaces { \LNFL@spaces}%
+ \fi
+ \edef \LNFL@stars {*\LNFL@stars}%
+ \advance\count@\m@ne
+ }%
+%% Our version of `\@listfiles' takes one token ahead at a time
+%% and counts the numbes of tokens that have been looked at so far.
+%% For each \emph{dummy} found instead of a filename character,
+%% (as with \LaTeX) a space is added to `\filename@area'
+%% that is used to move the filenames right.
+%% As opposed to the \LaTeX\ original version, `\@listfiles' stops
+%% being applied after <number> times:
+ \def\@listfiles##1{%
+ \ifx##1\relax \edef\filename@area{ \filename@area}\fi
+ \advance\count@\m@ne
+ \ifnum\count@>\z@ \expandafter\@listfiles \fi }%
+ \def\@dofilelist{%
+%% In \LaTeX's `\@dofilelist', we first replace the single space
+%% starting the title line by `\LNFL@spaces':
+ \typeout{^^J\LNFL@spaces *File List*}%
+ \@for\@currname:=\@filelist\do{%
+%% This is the loop body adding a list entry line, first like \LaTeX:
+ \filename@parse\@currname
+ \edef\reserved@a{%
+ \filename@base.%
+ \ifx\filename@ext\relax tex\else\filename@ext\fi}%
+ \expandafter\let\expandafter\reserved@b
+ \csname ver@\reserved@a\endcsname
+%% We use `\@tempa' for expanding both the filename and the list of dummies
+%% in time:
+ \edef\@tempa{\filename@base\LNFL@dummies}%
+ \count@\LNFL@chars\relax
+ \expandafter\expandafter\expandafter\@listfiles\expandafter
+ \filename@area\@tempa
+ \typeout{%
+ \filename@area\reserved@a
+ \ifx\reserved@b\relax\else
+%% I prefer \emph{two} spaces between the columns to four of them:
+ \space\space %%% \@spaces
+ \reserved@b\fi}}%
+%% The line of stars:
+ \typeout{ \LNFL@stars^^J}}%
+}
+%% %% moved up from end 2012/09/30:
+%% TODO: 1.~keyval package option avoiding `\listfiles'
+%% 2.~measuring longest filename?
+%% == Setting Name Length \emph{before} \cs{listfiles} ==
+%% \label{sec:set}
+%% I first used |\SetLongNameFileListChars{<number>}|
+%% for combining the package with 'myfilist' right in place of
+%% `\listfiles[<number>]'. Both commands have the same effect
+%% on the following `\RequirePackage{myfilist}'.
+%% Now that I have realized that I could issue `\listfiles' earlier,
+%% `\SetLongNameFileListChars' is rather obsolete---but who knows\,...?
+\newcommand*{\SetLongNameFileListChars}{\def\LNFL@chars@set}
+%% This macro `\LNFL@chars@set' is used as the default for our new
+%% optional parameter for `\listfiles' (Sec.~\ref{sec:list}).
+\SetLongNameFileListChars{8}
+%% This sets the default value for `\listfiles' to the maximum number
+%% of characters in the base filename that
+%% \LaTeX\ %% 2012/03/15 %%% `\LaTeX'
+%% somewhat expects.
+%%
+%% == Shorthand for 'myfilist' ==
+%% |\MaxLengthEmptyList{<digit><digit>}[<read-again-files>]|
+%% as described in Section~\ref{sec:short} (v0.2):
+\newcommand*{\MaxLengthEmptyList}[1]{%
+ \listfiles[#1]\RequirePackage{myfilist}\EmptyFileList}
+%%
+%% == Leaving the Package File ==
+\endinput
+%%
+%% == VERSION HISTORY ==
+
+v0.1 2012/03/11 very first
+ 2012/03/12 debugging; \LNFL@spaces, \LNFL@stars
+v0.1b 2012/03/14 doc fixes: avoiding arrow substitution in listing,
+ space after "who knows"
+v0.1c 2012/03/15 more typographical fixes concerning "\LaTeX"
+v0.2 2012/09/30 \MaxLengthEmptyList