\def \filename {myfilist.sty} %% macro package for LaTeX, %% modifies \listfiles to choose files to be listed and %% list them in a chosen file. \def \fileversion {0.3a} \def \filedate {2011/01/30} %% copyright (C) 2008, 2010, 2011 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.3a 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: % % Write a script file like gather.tex which you should have received % together with myfilist.sty. We use LaTeX2e (required!), yet (in % general) not for typesetting a document, therefore the script file % needn't contain \documentclass. myfilist.sty is loaded by % % \RequirePackage{myfilist} % % instead of \usepackage{myfilist}. Usually you don't want to have % myfilist.sty in the list, so type % % \EmptyFileList % % next; or type it after some additional \RequirePackage... for % packages you want to use but not list. % % Next list the names of the files % whose informations you want to get as arguments of % % \ReadFileInfos or \ReadPackageInfos or \ReadClassInfo % % With the latter two, you can omit ".sty" or ".cls" as with % \usepackage and \documentclass. With the first one, the file name % extension ".tex" may be omitted. The two first commands accept lists % with commas as separators almost like with \usepackage (currently we % must use "%" to hide a line break in the script, and there must be % no spaces in the list).---For more details on these commands, % please see readprov.pdf. % % The list of files is actually printed in the transcript .log % and on screen on % % \ListInfos % % The list can additionally be written into a plain text file, % % \ListInfos[filelist.txt] % % as an example; i.e., you can use the brackets to tell which file is % to contain your list of files. The file informations appear in the % order of their names in your script file. % % \ListInfos concludes, ends the job, anything following in the % script file will be ignored.---All of this requires %% 2010/04/02 % that you run gather.tex or your other script file, about as % % latex gather % % To list files that were loaded earlier in a different order, % list them in an \emph{optional argument} of \EmptyFileList, e.g., % % trick avoiding main replacement 2010/11/26: % % \EmptyFileList[myfilist-.sty,readprov-.sty] % % NOTE: myfilist.sty (in its present state) is unable to list files % that don't contain \ProvidesPackage, \ProvidesClass, or % \ProvidesFile. myfilist.sty "loads" files to extract version % informations, but quits them as soon as it has found one of these % LaTeX2e commands. % % IMPLEMENTATION: \NeedsTeXFormat{LaTeX2e}[1994/12/01] %% \newcommand* etc. \ProvidesPackage{myfilist} [\filedate\space v\fileversion \space \string\listfiles\space-- mine only (UL)] % % |\ReadFileInfos|, |\ReadPackageInfos|, and |\ReadClassInfo| % are implemented in readprov.sty: \RequirePackage{readprov}[2010/11/26] % % |\EmptyFileList[]| %% opt. arg. 2010/11/26 \newcommand{\EmptyFileList}[1][]{% \let\@filelist\@gobble \@for\@tempa:=#1\do{% \global \expandafter \let \csname ver@\@tempa\endcsname \relax}} % |\ListInfos[]| \newcommand*{\ListInfos}[1][]{% \ifx$#1$\@dofilelist\else \newwrite\file@of@filelist \immediate\openout\file@of@filelist=#1\relax \def\typeout##1{% \read@@typeout{##1}% \immediate\write\file@of@filelist{##1}}% \@dofilelist %% made at: \@tempcnta\time \@tempcntb\@tempcnta \divide\@tempcnta 60 \count@\@tempcnta \multiply\count@ 60 \advance\@tempcntb -\count@ \typeout{ List made at \the\year/\two@digits{\the\month}/\two@digits{\the\day}, \two@digits{\the\@tempcnta}:\two@digits{\the\@tempcntb}^^J from script file \jobname.tex^^J}%% TODO ".tex"!? 2008/03/19 \immediate\closeout\file@of@filelist \fi \stop} %% <- TODO how to suppress first empty line? 2008/03/16 %% -> TODO more general style of output file 2008/03/19 \let\read@@typeout\typeout \listfiles \endinput %% VERSION HISTORY v0.1 2008/03/19 created file "readprov.sty" 2008/03/23 smart file name separation, \ifx$ for \ifcat$ 2008/05/22 typo ist -> it v0.2 2010/04/03 renamed "myfiles.sty"; broke long lines etc. for doc SENT TO CTAN -- declined v0.2a 2010/04/08 undoubled \NeedsTeXFormat, copyright updated v0.3 2010/11/26 split off from "myfiles.sty", opt. arg. for \EmptyFileList, doc. reworked 2010/11/27 some USAGE clarifications v0.3a 2011/01/29 two empty lines commented out 2011/01/30 copyright updated