diff options
author | Karl Berry <karl@freefriends.org> | 2012-03-26 23:18:55 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-03-26 23:18:55 +0000 |
commit | be6233465c6f7578e79a4471d725b79bf0678996 (patch) | |
tree | a28ca07c872b1b4f5198a5cd58a9510db50fd2c0 /Master/texmf-dist/source/latex | |
parent | 0e7c4deae1d24a03668f9705a75bbf8ffa2c4849 (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')
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] |