From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/longnamefilelist/README | 40 +++++ macros/latex/contrib/longnamefilelist/SrcFILEs.txt | 17 ++ .../longnamefilelist/docsrc/longnamefilelist.tex | 62 +++++++ .../contrib/longnamefilelist/docsrc/srcfiles.tex | 13 ++ .../contrib/longnamefilelist/longnamefilelist.pdf | Bin 0 -> 337962 bytes .../contrib/longnamefilelist/longnamefilelist.sty | 188 +++++++++++++++++++++ 6 files changed, 320 insertions(+) create mode 100644 macros/latex/contrib/longnamefilelist/README create mode 100644 macros/latex/contrib/longnamefilelist/SrcFILEs.txt create mode 100644 macros/latex/contrib/longnamefilelist/docsrc/longnamefilelist.tex create mode 100644 macros/latex/contrib/longnamefilelist/docsrc/srcfiles.tex create mode 100644 macros/latex/contrib/longnamefilelist/longnamefilelist.pdf create mode 100644 macros/latex/contrib/longnamefilelist/longnamefilelist.sty (limited to 'macros/latex/contrib/longnamefilelist') 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 Binary files /dev/null and b/macros/latex/contrib/longnamefilelist/longnamefilelist.pdf 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}[] +%% \cs{RequirePackage}\{myfilist\} +%% \cs{EmptyFileList}[] +%% \end{quotation} +%% With v0.2, the last three lines can be replaced by +%% \[|\MaxLengthEmptyList{}[|]\] +%% ---``optionally" without \qtd{`[]'}. +%% This may save the user from worrying about usage +%% with 'myfilist'. +%% +%% == \cs{listfiles} extended == +%% \label{sec:list} +%% |\listfiles[]| ``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 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 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 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{}| +%% for combining the package with 'myfilist' right in place of +%% `\listfiles[]'. 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{}[]| +%% 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 -- cgit v1.2.3