summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/nicefilelist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-03-26 23:18:55 +0000
committerKarl Berry <karl@freefriends.org>2012-03-26 23:18:55 +0000
commitbe6233465c6f7578e79a4471d725b79bf0678996 (patch)
treea28ca07c872b1b4f5198a5cd58a9510db50fd2c0 /Master/texmf-dist/source/latex/nicefilelist
parent0e7c4deae1d24a03668f9705a75bbf8ffa2c4849 (diff)
new latex package nicefilelist (26mar12)
git-svn-id: svn://tug.org/texlive/trunk@25746 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/nicefilelist')
-rw-r--r--Master/texmf-dist/source/latex/nicefilelist/empty.f0
-rw-r--r--Master/texmf-dist/source/latex/nicefilelist/nicefilelist.tex161
-rw-r--r--Master/texmf-dist/source/latex/nicefilelist/provonly.fd2
-rw-r--r--Master/texmf-dist/source/latex/nicefilelist/srcfiles.tex17
-rw-r--r--Master/texmf-dist/source/latex/nicefilelist/wrong.prv1
5 files changed, 181 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/nicefilelist/empty.f b/Master/texmf-dist/source/latex/nicefilelist/empty.f
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/nicefilelist/empty.f
diff --git a/Master/texmf-dist/source/latex/nicefilelist/nicefilelist.tex b/Master/texmf-dist/source/latex/nicefilelist/nicefilelist.tex
new file mode 100644
index 00000000000..1673621ac95
--- /dev/null
+++ b/Master/texmf-dist/source/latex/nicefilelist/nicefilelist.tex
@@ -0,0 +1,161 @@
+\ProvidesFile{nicefilelist.tex}[2012/03/23 documenting nicefilelist.sty]
+\title{\pkg{\huge nicefilelist.sty
+ }\\---\\\cs{listfiles} Alignment for Connoisseurs\thanks{This
+ document describes version
+ \textcolor{blue}{\UseVersionOf{\jobname.sty}}
+ of \pkg{\jobname.sty} as of \UseDateOf{\jobname.sty}.}}
+% \listfiles
+{ \RequirePackage{makedoc} \ProcessLineMessage{}
+ \MakeJobDoc{19}%% 2012/03/21
+ {\SectionLevelTwoParseInput} }
+\documentclass[fleqn]{article}%% TODO paper dimensions!?
+\input{makedoc.cfg} %% shared formatting settings
+% \ReadPackageInfos{nicefilelist}
+\usepackage{nicefilelist}
+\sloppy
+\begin{document}
+\maketitle
+\begin{abstract}\noindent
+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"
+(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.
+
+Thus 'nicefilelist' is more ``powerful" than 'longnamefilelist',
+the former however is an ``extension" of the latter
+neither with respect to implementation nor with respect to user interface.
+\end{abstract}
+\tableofcontents
+\section{Features and Usage}
+\subsection{Relation to 'longnamefilelist.sty'}
+\CtanPkgRef{longnamefilelist}{longnamefilelist.sty} equips
+\cs{listfiles} with an optional argument for the maximum number of characters
+in the base filename. By contrast, 'nicefilelist' does not provide
+arguments for \cs{listfiles}, rather column widths for basename, extension,
+and version number are determined by \emph{templates} using
+\CtanPkgRef{monofill}{monofill.sty}. As a ``template" for doing this,
+see the initial settings in Sec.~\ref{sec:templates}.
+(Such settings must precede the \cs{listfiles command})
+So 'nicefilelist''s \emph{user interface} (at present) does not \emph{extend}
+'longnamefilelist''s user interface.
+
+Using 'monofill' is a very different approach than the one of 'longnamefilelist'.
+'nicefilelist' is more powerful than 'longnamefilelist', but is not based on it
+in any way. It does not make sense to load both packages, they just overwrite
+each other's behaviour of \cs{listfiles}.
+
+'longnamefilelist' may become ``obsolete" by the present package,
+unless one finds that its version of \cs{listfiles} looks fine enough
+and it is easier to understand and to use than 'nicefilelist'.
+
+\subsection{Installing and Calling}
+The file 'nicefilelist.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}
+
+Below the `\documentclass' line(s) and above `\begin{document}',
+you load 'nicefilelist.sty' (as usually) by
+\begin{verbatim}
+ \usepackage{nicefilelist}
+\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{nicefilelist}
+\end{verbatim}
+before `\documentclass' or when you don't use `\documentclass'.
+
+\subsection{Usage and Sample with 'myfilist.sty'}
+\label{sec:myfilist}
+In order to get a reduced and/or rearranged list of used files
+with the \ctanpkgref{myfilist} package,
+`nicefilelist.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 \cs{listfiles} must be modified earlier---or \emph{issued} earlier,
+in this case the \cs{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:
+\begin{quotation}\tt\small
+\expandafter\def\expandafter\{\expandafter{\string{}
+\expandafter\def\expandafter\}\expandafter{\string}}
+\obeyspaces\obeylines
+\cs{ProvidesFile}\{srcfiles.tex\}[2012/03/23
+ ~ file infos -\empty> SrcFILEs.txt]
+\cs{RequirePackage}\{nicefilelist\}
+\%\% INSERT MODIFICATIONS OF INITIAL
+\%\% \verb+`nicefilelist'/`monofill'+ SETTINGS HERE!
+\cs{RequirePackage}\{myfilist\}
+\%\% documentation:
+\cs{ReadFileInfos}\{nicefilelist\}
+\%\% demonstration:
+\cs{ReadFileInfos}\{provonly.fd,wrong.prv,empty.f\}
+\% \cs{ReadFileInfos}\{utopia.xyz\}
+\%\% present file:
+\cs{ReadFileInfos}\{nicefilelist\}
+\cs{ReadFileInfos}\{srcfiles\}
+\cs{ListInfos}[SrcFILEs.txt]
+\end{quotation}
+Note the lines where to place \strong{custom} modifications of settings
+for alignment (Sec.~\ref{sec:templates}) or failure displays (Sec.~\ref{sec:failure}).
+
+The previous code mentions the following files:
+\begin{description}
+ \item[`provonly.fd'] has a proper `\ProvidesFile' line without date,
+ for seeing what happens in the date and version columns.
+ It also was a test for the case that there are fewer
+ characters than a date has, and there is no blank space.
+ \item[`wrong.prv'] has a `\ProvidesFile' line with wrong file name.
+ \item[`empty.f'] just is an empty file.
+ \item[`utopia.xyz'] is not present at all, you get an error when you remove
+ the comment mark.
+\end{description}
+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
+\end{small}
+
+
+% \section{Example}
+% TODO
+\section{Implementation}
+\subsection{Package File Header (Legalize)}
+\input{nicefilelist.doc}
+
+\section{Credit}
+It was \textsc{Martin Muench} who pointed out the shortcomings of 'longnamefilelist'
+that the present package addresses---thanks!
+
+\section{Missing}
+The package once might provide \ctanpkgref{keyval}-style optional arguments for \cs{listfiles}
+or even call \cs{listfiles} automatically with 'keyval' package options.
+
+\end{document}
+
+VERSION HISTORY
+
+2012/03/20 for v0.1 started
+2012/03/22 trying something
+2012/03/23 for v0.1a without "aligning the dots" etc.
diff --git a/Master/texmf-dist/source/latex/nicefilelist/provonly.fd b/Master/texmf-dist/source/latex/nicefilelist/provonly.fd
new file mode 100644
index 00000000000..2b07688d8dc
--- /dev/null
+++ b/Master/texmf-dist/source/latex/nicefilelist/provonly.fd
@@ -0,0 +1,2 @@
+% \ProvidesFile{provonly.fd}[2012/03/22 v0.11a such]
+\ProvidesFile{provonly.fd}[such]
diff --git a/Master/texmf-dist/source/latex/nicefilelist/srcfiles.tex b/Master/texmf-dist/source/latex/nicefilelist/srcfiles.tex
new file mode 100644
index 00000000000..fe4d6d2b878
--- /dev/null
+++ b/Master/texmf-dist/source/latex/nicefilelist/srcfiles.tex
@@ -0,0 +1,17 @@
+\ProvidesFile{srcfiles.tex}[2012/03/23 file infos -> SrcFILEs.txt]
+\RequirePackage{nicefilelist}
+\RequirePackage{myfilist}
+% \EmptyFileList[nicefilelist.sty] %%% [readprov.sty,myfilist.sty]
+%% packages:
+% \ReadPackageInfos{nicefilelist}
+%% documentation:
+\ReadFileInfos{nicefilelist}
+%% Test:
+\ReadFileInfos{provonly.fd,wrong.prv,empty.f}
+% \ReadFileInfos{utopia.xxx}
+%% documentation settings and auxiliaries:
+% \ReadPackageInfos{fifinddo,makedoc,niceverb}
+% \ReadFileInfos{makedoc.cfg,mdoccorr.cfg}
+\ReadFileInfos{srcfiles}
+\ListInfos[SrcFILEs.txt]
+
diff --git a/Master/texmf-dist/source/latex/nicefilelist/wrong.prv b/Master/texmf-dist/source/latex/nicefilelist/wrong.prv
new file mode 100644
index 00000000000..166454f5c82
--- /dev/null
+++ b/Master/texmf-dist/source/latex/nicefilelist/wrong.prv
@@ -0,0 +1 @@
+\ProvidesFile{diffname.prv}[2012/03/23 v0.1 wrong]