diff options
author | Karl Berry <karl@freefriends.org> | 2012-05-10 23:12:52 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-05-10 23:12:52 +0000 |
commit | 70b47686cb689d8c5e4c6eecb58e7cd43240e92c (patch) | |
tree | 3c2a75e7bf67f98e9c9ed965ecc1992db3951656 | |
parent | 2b98282d58db23ce342019c8f3aacfa417eb61b1 (diff) |
new doc package latexfileinfo-pkgs (10may12)
git-svn-id: svn://tug.org/texlive/trunk@26293 c570f23f-e606-0410-a88d-b1316a301751
10 files changed, 1146 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/latexfileinfo-pkgs/README b/Master/texmf-dist/doc/latex/latexfileinfo-pkgs/README new file mode 100644 index 00000000000..98bf40f93f6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latexfileinfo-pkgs/README @@ -0,0 +1,49 @@ + + README for the `latexfileinfo-pkgs' package + Comparison of packages showing LaTeX file infos + (C) Uwe Lueck 2012/05/07 + + +This "package" in the first instance provides a file + + `latexfileinfo_pkgs.htm' + +to be viewed by a web browser. It is an HTML list and comparison +of CTAN packages displaying LaTeX source file informations +according to the commands \ProvidesClass, \ProvidesFile, +and \ProvidesPackage that LaTeX files should start with. +The document especially describes five packages of my own, +including interrelations and dependencies, and thus extends +their documentations. Among packages from different authers +mentioned or described as well are + + * `latexfileversion' and `ltxfileinfo' (rather) + for single files, as well as + + * `classlist' and `dateiliste' for listing inputted files. + +Support of revision control systems is mentioned briefly. + +The files 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 `latexfileinfo-pkgs' package is author-maintained in the sense +of this license. + +The latest public version of the package is available at + + http://mirror.ctan.org/info/latexfileinfo-pkgs/ + +A TDS version of the package is available as + + http://mirror.ctan.org/install/info/latexfileinfo-pkgs.tds.zip + +Please report mistakes, missing packages, and other suggestions via + + http://www.contact-ednotes.sty.de.vu + diff --git a/Master/texmf-dist/doc/latex/latexfileinfo-pkgs/latexfileinfo_pkgs.htm b/Master/texmf-dist/doc/latex/latexfileinfo-pkgs/latexfileinfo_pkgs.htm new file mode 100644 index 00000000000..c77a8b8bb47 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latexfileinfo-pkgs/latexfileinfo_pkgs.htm @@ -0,0 +1,582 @@ +<!-- generated from + + finfpkgs.tex, 2012/05/06 v0.2 latex file info packages (UL), + + with blog.sty, 2012-05-07 --> +<html><head> <meta http-equiv="Content-Type" content="text/html; ISO-8859-1"> + <meta name="robots" content="index,follow,noarchive"> + <title>Display LaTeX file metadata (“info”)</title> + +</head><body> + +<a name="top-of-page"></a> + + +<h1><code>latexfileinfo-pkgs</code> — +<table width="" height="6" border="0" cellpadding="0" cellspacing="0"><tbody> + <!-- HVspace --> + <tr valign="top"><td></td> </tr> + +</tbody></table> + Displaying <a href="http://en.wikipedia.org/wiki/Metadata" target="_blank">Metadata</a> (“Info”) of <em>LaTeX</em> Source Files</h1> + + — a comparison of packages available from <acronym>CTAN</acronym> + +<p> +<small> +[ <a href="#intro">intro</a> | <a href="#table">table</a> | <a href="#single"><code>\GetFileInfo</code> etc.</a> | <a href="#several"><code>\listfiles</code> etc.</a> | <a href="#rcs">rcs/svn</a> | <a href="#thanks">thanks</a> ]  +[ <i><a href="latexfileinfo_pkgs.htm">reload</a></i> ] + +</small> +<p align="right"><a href="#intro">[→</a>|<a href="#top-of-page"> ↑ ]</a></p><hr><a name="intro"></a> +<h2>0 Introduction (with links to sections)</h2> +For <a href="http://en.wikipedia.org/wiki/LaTeX" target="_blank">LaTeX</a> source files, +it is recommended to start them with LaTeX command +<ul> + </li> + <li><code>\ProvidesClass</code><code> </code> (for <code>.cls</code> files) + </li> + <li><code>\ProvidesPackage</code> (for <code>.sty</code> files) + </li> + <li><code>\ProvidesFile</code><code> </code> (for all other files) +</li> +</ul> +(after <code>\NeedsTeXFormat</code>). +Their trailing optional argument can provide the most recent +<ul> + </li> + <li><a href="http://en.wikipedia.org/wiki/Revision control" target="_blank">revision</a> <strong>date</strong><br> +(expected as <em>“first word”</em> in trailing optional argument) + </li> + <li>the corresponding <strong>version</strong> string<br> +(expected as <em>“second word”</em> +in trailing optional argument) — and + </li> + <li>and a brief <strong>description</strong> of the file (“caption”)<br> +(expected as anything <em>else</em> in trailing optional argument). +</li> +</ul> +Here we are listing and comparing TeX packages available from +<a href="http://ctan.org" target="_blank"><acronym>CTAN</acronym></a> that make use of this information. +<p> +The document especially describes five packages of my own, +including interrelations and dependencies, and thus extends +their documentations; see <a href="#table">table below</a> for them. +An <em>asterisk</em>* near a package name indicates that the package +is <em>not mine</em>; so what I tell about it may be wrong or bad … +(please let me know via <a href="http://www.webdesign-bu.de/uwe_lueck/contact.html" target="_blank">form</a>, +or should I add something?) ... +<p> +We have the <em>cases</em> of +<ol> + </li> + <li>displaying <a href="#single">single</a> file info (<strong><code>\GetFileInfo</code></strong> ...) + </li> + <li>listing infos of <a href="#several">several</a> files (<strong><code>\listfiles</code></strong> etc.) +</li> +</ol> +and for each +<ol type="a" + </li> + <li>access by <em>LaTeX</em> (<a href="#sing-ltx">1 </a>·<a href="#sev-ltx"> 2</a>) + </li> + <li>access by <em>external</em> program (<a href="#sing-ext">1 </a>·<a href="#sev-ext"> 2</a>). +</ol> +<em>Related</em> subjects are using +<ol type="i" + </li> + <li><a href="#rcs">revision control systems</a> and + </li> + <li>modification time according to <a href="#filemod">pdfTeX</a>. +</ol> +<a name="table"></a>A <em>tabular overview</em> of the first two case distinctions: +<p> +<table cellpadding="6" width="" frame="box" rules="all"> + <tbody> + <!-- standard all-rules table --> + <tr bgcolor="#EEEEEE" style="font-weight:bold"> + <td> +</td><td>just using <em>LaTeX</em>  </td><td>using <em>external</em> program + </td> + </tr> + <tr> + <td> +<b><a href="#single">single</a> file</b></td><td> +• <a href="#doc">doc</a>*     +(Frank <a href="http://ctan.org/author/id/mittelbach" target="_blank">Mittelbach</a>)<br> +• <a href="#zwgetfdate">zwgetfdate</a>*         +(Zdeněk <a href="http://ctan.org/author/id/wagner" target="_blank">Wagner</a>)<br> +• <a href="#readprov">readprov</a> +</td><td> +• <a href="#lfv">latexfileversion</a>* + (Harald <a href="http://ctan.org/author/id/harders" target="_blank">Harders</a>) <br> +• <a href="#lfi">ltxfileinfo</a>*           + (Wybo <a href="http://ctan.org/author/id/dekker" target="_blank">Dekker</a>) <br> +• <a href="#tofi">typeoutfileinfo</a> + </td> + </tr> + <tr> + <td> +<b>file <a href="#several">list</a></b></td><td> +• <a href="#cl">classlist</a>*      +(Heiko <a href="http://ctan.org/author/id/oberdiek" target="_blank">Oberdiek</a>) <br> +• <a href="#dl">dateiliste</a>*   + (Paul <a href="http://ctan.org/author/id/ebermann" target="_blank">Ebermann</a>) <br> +• <a href="#lnfl">longnamefilelist</a> <br> +• <a href="#nfl">nicefilelist</a> <br> +• <a href="#mfl">myfilist</a> <br> +</td><td> +• [<a href="#ltxinput">ltxinput</a>*        +(Jim <a href="http://ctan.org/author/id/green" target="_blank">Green</a>)] <br> +• [<a href="#tle">texlog-extract</a>*     +(Wybo <a href="http://ctan.org/author/id/dekker" target="_blank">Dekker</a>)] <br> +<br> +[ don’t really belong here … ] <br> +<br> + </td> + </tr> + +</tbody> +</table> + +<p align="right"><a href="#single">[→</a>|<a href="#top-of-page"> ↑ ]</a></p><hr><a name="single"></a> +<h2>1 Access Single File Info</h2> + +<small> +[ <a href="#sing-ltx">a:</a>  +<a href="#doc">doc</a> | <a href="#readprov">readprov</a> | <a href="#zwgetfdate">zwgetfdate</a> ]  +[ <a href="#sing-ext">b:</a>  +<a href="#lfv">latexfileversion</a> | <a href="#lfi">ltxfileinfo</a> | <a href="#tofi">typeoutfileinfo</a> ]  +[ <a href="#filemod">c: filemod</a> ] + +</small> +<h3><a name="sing-ltx"></a>a. Access in <em>LaTeX</em> Run</h3> + +—originally for <em>automatic</em> inclusion of <em>current</em> +revision date and version of a package +in <em>typesetting</em> the latter’s documentation +(<i>“This document describes version … as of …”</i>), but then … +<dl> + <dt><strong><a name="doc"></a><a href="http://ctan.org/pkg/doc" target="_blank">doc</a>*</strong><dd> +<ul> + </li> + <li>Belongs to LaTeX <a href="http://ctan.org/pkg/latex-base" target="_blank">base</a> distribution. + </li> + <li>Provides <strong><code>\GetFileInfo</code></strong><code>{⟨<i>file</i>⟩}</code>; after using this, +you have <code>\filedate</code>, <code>\fileversion</code>, <code>\fileinfo</code> of ⟨<i>file</i>⟩. + </li> + <li>⟨<i>file</i>⟩ must have been <em>loaded</em> in the LaTeX run. + </li> + <li><code>\GetFileInfo</code> is <em>fragile</em>. +</li> +</ul> + <dt><strong><a name="zwgetfdate"></a><a href="http://ctan.org/pkg/zwgetfdate" target="_blank">zwgetfdate</a>*</strong><dd> +<ul> + </li> + <li>Provides <strong><code>\DateOfFile</code></strong><code>{⟨<i>file</i>⟩}</code> +and <strong><code>\DateOfPackage</code></strong><code>{⟨<i>file</i>⟩}</code>. + </li> + <li>⟨<i>file</i>⟩ must have been <em>loaded</em>. +</li> +</ul> + <dt><strong><a name="readprov"></a><a href="http://ctan.org/pkg/readprov" target="_blank">readprov</a></strong><dd> +<ul> + </li> + <li> +Provides +<strong><code>\UseDateOf</code></strong><code>{⟨<i>file</i>⟩}</code> and <strong><code>\UseVersionOf</code></strong><code>{⟨<i>file</i>⟩}</code>. + </li> + <li> +Steals <a href="#doc">doc</a>’s <strong><code>\GetFileInfo</code></strong> so doc is not +needed, in case ... + </li> + <li>Provides +<ul> + </li> + <li><strong><code>\ReadFileInfos</code></strong><code>{⟨<i>files</i>⟩}</code> + </li> + <li><strong><code>\ReadPackageInfos</code></strong><code>{⟨<i>files</i>⟩}</code> + </li> + <li><strong><code>\ReadClassInfo</code></strong><code>{⟨<i>file</i>⟩}</code> +</li> +</ul> +as <em>alternatives</em> to <code>\GetFileInfo</code>. +<ul> + </li> + <li>They do <em>not</em> really <em>load</em> ⟨<i>file</i>⟩/⟨<i>files</i>⟩ ... + </li> + <li>... so can be used with incompatible packages and +classes (multiple latter by <code>\ReadFileInfos{⟨<i>base</i>⟩.cls}</code>). + </li> + <li>This allows <strong>adding arbitrary</strong> LaTeX source files +to the list of files that LaTeX manages for +<a href="#latex"><strong><code>\listfiles</code></strong></a> — this is used for +<a href="#myfilist">myfilist</a>. +</li> +</ul> +</li> +</ul> + +</dl> +<h3><a name="sing-ext"></a>b. <em>Screen</em> Display Using <em>External</em> Program</h3> +—when you wonder whether the most recent version of a package +or a chapter file is present … +<dl> + <dt><strong><a name="lfv"></a><a href="http://ctan.org/pkg/latexfileversion" target="_blank">latexfileversion</a>*</strong><dd> +<ul> + </li> + <li><a href="http://en.wikipedia.org/wiki/Bash (Unix shell)" target="_blank">Bash (Unix shell)</a> script. + </li> + <li><em>Nice</em> screen display. + </li> + <li>Invokes <code>latex</code> run using a copy of +<a href="#doc">doc</a>’s <code>\GetFileInfo</code>. +</li> +</ul> + <dt><strong><a name="lfi"></a><a href="http://ctan.org/pkg/ltxfileinfo" target="_blank">ltxfileinfo</a>*</strong><dd> +<ul> + </li> + <li><a href="http://en.wikipedia.org/wiki/Ruby (programming language)" target="_blank">Ruby</a> script. + </li> + <li>Displays nice +<a href="http://mirror.ctan.org/support/ltxfileinfo/doc/ltxfileinfo.html" target="_blank">table</a> +of infos (including <em>location</em> in file system) on screen. +</li> +</ul> + <dt><strong><a name="tofi"></a><a href="http://ctan.org/pkg/typeoutfileinfo" target="_blank">typeoutfileinfo</a></strong><dd> +<ul> + </li> + <li>5-lines <a href="http://en.wikipedia.org/wiki/Bash (Unix shell)" target="_blank">Bash (Unix shell)</a> script. + </li> + <li>Expects <code>latex</code> won’t append too many screen lines after +1-line <strong><code>\typeout</code></strong><br> +(<em>tolerable</em> screen display as compared with +<a href="#lfv">latexfileversion</a>). + </li> + <li>Invokes <code>latex</code> run using <a href="#readprov">readprov</a>. +</li> +</ul> + +</dl> +<h3><a name="filemod"></a>c. Related, while different …</h3> +<dl> + <dt><strong><a href="http://ctan.org/pkg/filemod" target="_blank">filemod</a>*</strong><dd> +<ul> + </li> + <li>Uses <a href="http://tug.org/applications/pdftex/NEWS" target="_blank">pdfTeX</a>’s +<code>\pdffilemoddate{⟨<i>file</i>⟩}</code> primitive. + </li> + <li>Compares modification dates of files. + </li> + <li>Files include images. + </li> + <li>Also works with <code>pdflatex</code> in <acronym>DVI</acronym> mode. +</li> +</ul> + +</dl> + +<p align="right"><a href="#several">[→</a>|<a href="#top-of-page"> ↑ ]</a></p><hr><a name="several"></a> +<h2>2 File Info List</h2> +This is about listing <em>all</em> files input in a LaTeX run, <em>or</em> ... +<h3><a name="sev-ltx"></a>a. Create in LaTeX Run</h3> +<small> +[ <a href="#latex">LaTeX</a> | <a href="#cl">classlist</a> | <a href="#dl">dateiliste</a> | <a href="#lnfl">longnamefilelist</a> | <a href="#mfl">myfilist</a> | <a href="#nfl">nicefilelist</a> ] + +</small> +<dl> + <dt><strong><a name="latex"></a><a href="http://ctan.org/pkg/latex" target="_blank">latex</a>*</strong><dd> +<ul> + </li> + <li>LaTeX provides <strong><code>\listfiles</code></strong> for the document preamble. + </li> + <li><code>\listfiles</code> issues a list of <strong>all</strong> files input in the <code>latex</code> run +near end of <code>.log</code> file, together with their infos according +to <code>\Provide...</code> commands. + </li> + <li>The list is a <strong>two-column</strong> “table” (plain text), <em>base</em> filenames +flush right, <em>info</em> (maybe date, maybe version, maybe anything) flush left. + </li> + <li>Any file whose base <a href="http://en.wikipedia.org/wiki/filename" target="_blank">filename</a> has <strong>more than 8</strong> characters +or whose filename extension does <em>not</em> have 3 characters <strong>corrupts</strong> alignment. +</li> +</ul> + <dt><strong><a name="cl"></a><a href="http://ctan.org/pkg/classlist" target="_blank">classlist</a>*</strong><dd> +<ul> + </li> + <li>Remembers (separately) files input by (a) <strong><code>\documentclass</code></strong> +and what was input by (b) <strong><code>\LoadClass</code></strong>. + </li> + <li>On <strong><code>\PrintClassList</code></strong>, the list of loaded class files appears on screen. + </li> + <li>Configurable by <strong><code>\PrintClassListEntry</code></strong> and <strong><code>\PrintClassListTitle</code></strong>. +</li> +</ul> + <dt><strong><a name="dl"></a><a href="http://ctan.org/pkg/dateiliste" target="_blank">dateiliste</a>*</strong><dd> +<ul> + </li> + <li>Lists anything that the <a href="#latex">original</a> <code>\listfiles</code> would list. + </li> + <li><strong>Typesets</strong> the list as a LaTeX table, using package <a href="http://ctan.org/pkg/longtable" target="_blank">longtable</a>. + </li> + <li>Separate <strong>columns</strong> for +<ul> + </li> + <li>filename + </li> + <li><em>page</em> where input (optionally) + </li> + <li>date + </li> + <li>version + </li> + <li>description (“caption”) +</li> +</ul> + </li> + <li>Supports <strong><acronym>RCS</acronym></strong>, +<a href="http://en.wikipedia.org/wiki/Concurrent Versions System" target="_blank"><acronym>CVS</acronym></a>, +and <acronym>SVN</acronym> (cf. <a href="#rcs">section below</a>). + </li> + <li>Highly configurable. + </li> + <li>E.g., you can replace info for a file by what you want to see in the list +(cf. <a href="#myfilist">myfilist</a>). + </li> + <li>I haven’t seen what happens with <em>plain text</em> (<code>.log</code>) output. +</li> +</ul> + <dt><strong><a name="lnfl"></a><a href="http://ctan.org/pkg/longnamefilelist" target="_blank">longnamefilelist</a></strong><dd> +<ul> + </li> + <li>Overcomes <a href="#latex">LaTeX</a>’s “8-character limit” +by a new <strong>optional argument</strong> for <code>\listfiles</code>, +indicating number of characters to be reserved for +base filenames, e.g. accounting for “<code>longnamefilelist.sty</code>”: +<blockquote> +<code>\listfiles[16]</code> + +</blockquote> + — view +<a href="http://mirror.ctan.org/macros/latex/contrib/longnamefilelist/SrcFILEs.txt" target="_blank">example outcome</a> + </li> + <li>—showing combination with <a href="#mfl">myfilist</a> + </li> + <li>—while also working as single addition to +LaTeX <a href="http://ctan.org/pkg/latex-base" target="_blank">base</a>, +<em>no</em> need of <a href="#mfl">myfilist</a> or <a href="http://ctan.org/pkg/monofill" target="_blank">monofill</a>. + </li> + <li>Still, filename <strong>extension</strong>s with number of characters +differing from 3 break alignment. Martin Münch mentions +<code>t1cmtt.fd</code> (standard LaTeX font definition) and +<code>supp-pdf.mkii</code> (<a href="http://en.wikipedia.org/wiki/ConTeXt" target="_blank">ConTeXt</a>). +</li> +</ul> + <dt><strong><a name="nfl"></a><a href="http://ctan.org/pkg/nicefilelist" target="_blank">nicefilelist</a></strong><dd> +<ul> + </li> + <li>Uses separate <strong>columns</strong> for <strong>date</strong> and <strong>time</strong> +(like <a href="#dl">dateiliste</a>). + </li> + <li>(Picky) recognition of “date” and “version” — if not present, +left <strong>empty</strong> or gets “missing” display: +<blockquote><code> +nicefilelist.sty 2012/03/29 v0.2 more file list alignment (UL)<br> +nicefilelist.tex 2012/03/23 -- documenting nicefilelist.sty +</code> +</blockquote> +(Martin Münch’s idea). + </li> + <li>Problem of varying filename <strong>extension</strong> lengths overcome +by actually keeping a separate flush-left column for them. + </li> + <li>Column widths configurable by <strong>templates</strong> — replace +pre-configuration (<a href="http://ctan.org/pkg/monofill" target="_blank">monofill</a> commands): +<blockquote><code> + +\MFfieldtemplate{f-base} {nicefilelist} %% base name <br> +\MFfieldtemplate{f-ext} {tex} %% name extension <br> +\MFfieldtemplate{f-version}{v0.11a} %% version +</code> +</blockquote> + </li> + <li>First code line above shows <strong>difference</strong> to <a href="http://ctan.org/pkg/longnamefilelist" target="_blank">longnamefilelist</a>, +equivalent there would be <code>\listfiles[12]</code>. +nicefilelist does <em>not</em> provide an optional argument +for <code>\listfiles</code>. + </li> + <li>Column <strong>distances</strong> and “<strong>missing</strong>” display configurable too. + </li> + <li>Can be combined with <a href="#mfl">myfilist</a> — view +<a href="http://mirror.ctan.org/macros/latex/contrib/nicefilelist/SrcFILEs.txt" target="_blank">output sample</a>. + </li> + <li>Needs just <a href="http://ctan.org/pkg/monofill" target="_blank">monofill</a>, additionally to +LaTeX <a href="http://ctan.org/pkg/latex-base" target="_blank">base</a>. +</li> +</ul> + <dt><strong><a name="mfl"></a><a name="myfilist"></a><a href="http://ctan.org/pkg/myfilist" target="_blank">myfilist</a></strong><dd> +<ul> + </li> + <li>Allows <strong>removing</strong> all entries that LaTeX has collected +for <a href="#latex"><code>\listfiles</code></a> at a certain point. + </li> + <li>Then, by commands from <a href="#readprov">readprov</a>, +you can <strong>add arbitrary</strong> files to the list +(as they are <em>not</em> really <em>loaded</em>), +in the order you want to have them in the list. + </li> + <li>Thus actually, you can set up a list of files you want to have +<em>independently</em> of a typesetting run ... + </li> + <li>... and actually, the <strong>intended</strong> application is generating the +list <strong>without</strong> any <strong>typesetting</strong>, +by running <code>latex</code> on a “<strong>script</strong>” file +just loading readprov and myfilist +and using only commands from <em>them</em>. +(No <code>\documentclass</code>, no <code>{document}</code> environment.) + </li> + <li>View +<a href="http://mirror.ctan.org/macros/latex/contrib/longnamefilelist/docsrc/srcfiles.tex" target="_blank">input example</a> +for <a href="#lnfl">longnamefilelist</a>. + </li> + <li>Besides <code>.log</code> output, the list can be written into a <strong>separate</strong> +plain text <strong>file</strong> — view +<a href="http://mirror.ctan.org/macros/latex/contrib/longnamefilelist/SrcFILEs.txt" target="_blank">output example</a> +for <a href="#lnfl">longnamefilelist</a>. + </li> + <li><strong>Main applications</strong> in my mind and actual work: +<ol> + </li> + <li>List of <code>.sty</code> and <code>.tex</code> files for <em>my</em> +<strong><acronym>CTAN</acronym> packages</strong> and <strong>bundles</strong> +(instead of the <code>.dtx</code>/<a href="http://ctan.org/pkg/docstrip" target="_blank">docstrip</a> system, I use <a href="http://ctan.org/pkg/nicetext" target="_blank">nicetext</a>). + </li> + <li>List of <strong>package</strong> files specific to some <strong>project</strong> +that often change — manual replacement for a +“concurrent versions” system with single author. +E.g.: +<ul> + </li> + <li><a href="http://ctan.org/pkg/nicetext" target="_blank">nicetext</a> packages underlying <strong>documentation</strong> +of a certain different package. + </li> + <li><strong>style</strong> files underlying a <strong>book</strong> project +at which authors and programmers work on changing computers. +</li> +</ul> + </li> + <li>List of <strong>chapter</strong> <code>\include</code> files for a <strong>book</strong> project, +edited at changing computers (by a number of authors). + </li> + <li>Often, one <strong>forgets</strong> to <strong>update</strong> version information +in the <code>\Provides...</code> command — the myfilist +helps you to check this +(e.g., right before a release; +<a href="#filemod">filemod</a> might automate this check, +perhaps together with <a href="#readprov">readprov</a>, +<em>without</em> myfilist). +</li> +</ol> + </li> + <li>My actual <strong>workflow</strong> with <a href="http://en.wikipedia.org/wiki/Bash (Unix shell)" target="_blank">Bash (Unix shell)</a>: +<ul> + </li> + <li><strong><code>upsfl</code></strong> with +<blockquote><code> +alias upsfl='latex srcfiles' +</code> +</blockquote> +updates the list of source files, +and actually displays the updated list on screen. + </li> + <li><strong><code>shsfl</code></strong> with +<blockquote><code> +<code>alias shsfl='more SrcFILEs.txt'</code> +</code> +</blockquote> +displays the source file list without updating, +and waits when the list is too long for your (netbook) screen. +</li> +</ul> + </li> + <li>Combinable with <a href="#dl">dateiliste</a>? +</li> +</ul> + +</dl> +<h3><a name="sev-ext"></a>b. Create by External Program</h3> +Hm, not so related, <em>no</em> infos (it seems), lists only; +so, just <em>“most related I could find”</em> for this section ... +<dl> + <dt><strong><a name="ltxinput"></a><a href="http://ctan.org/pkg/ltxinput" target="_blank">ltxinput</a>*</strong><dd> +<ul> + </li> + <li><a href="http://en.wikipedia.org/wiki/MS-DOS" target="_blank"><acronym>MS-DOS</acronym></a> utility +(compiled from <a href="http://en.wikipedia.org/wiki/C (programming language)" target="_blank"><acronym>C</acronym></a>). + </li> + <li>Lists files that <em>would</em> be input (recursively). +</li> +</ul> + <dt><strong><a name="tle"></a><a href="http://ctan.org/pkg/texlog-extract" target="_blank">texlog-extract</a>*</strong><dd> +<ul> + </li> + <li><a href="http://en.wikipedia.org/wiki/Ruby (programming language)" target="_blank">Ruby</a> script. + </li> + <li>Lists files that issued errors and warnings (colored). +</li> +</ul> + +</dl> + +<p align="right"><a href="#rcs">[→</a>|<a href="#top-of-page"> ↑ ]</a></p><hr><a name="rcs"></a> +<h2><a name="rcs"></a>3 <acronym>RCS</acronym>/<acronym>SVN</acronym></h2> +For <a href="http://en.wikipedia.org/wiki/Revision control" target="_blank">revision control systems</a> +<a href="http://en.wikipedia.org/wiki/Revision control system" target="_blank"><acronym>RCS</acronym></a> and +<a href="http://en.wikipedia.org/wiki/Apache Subversion" target="_blank"><acronym>SVN</acronym></a>, there are +<ul> + </li> + <li><a href="http://ctan.org/pkg/rcs" target="_blank">rcs</a>* · <a href="http://ctan.org/pkg/rcsinfo" target="_blank">rcsinfo</a>* · <a href="http://ctan.org/pkg/rcs-multi" target="_blank">rcs-multi</a>* + </li> + <li><a href="http://ctan.org/pkg/svn" target="_blank">svn</a>* · <a href="http://ctan.org/pkg/svninfo" target="_blank">svninfo</a>* · <a href="http://ctan.org/pkg/svn-multi" target="_blank">svn-multi</a>* + </li> + <li><a href="http://ctan.org/pkg/svn-prov" target="_blank">svn-prov</a>* provides <acronym>SVN</acronym> variants of +<code>\ProvidesClass</code>, <code>\ProvidesFile</code>, and <code>\ProvidesPackage</code>. +</li> +</ul> +—sorry, I can’t tell more about them right now … + +<p align="right"><a href="#thanks">[→</a>|<a href="#top-of-page"> ↑ ]</a></p><hr><a name="thanks"></a> +<h2>Acknowledgements</h2> +Thanks to Martin Münch, Moss +(I wrote this for his question), +and Rainer Schöpf! +<a href="#rcs"><acronym>RCS</acronym> stuff</a> mainly has been stolen from +<a href="http://mirror.ctan.org/help/Catalogue/bytopic.html#revision" target="_blank">Jürgen Fenn’s Topic Index</a> of the +<a href="http://mirror.ctan.org/help/Catalogue" target="_blank">TeX Catalogue</a>. +<p> +<hr> +<small>* not mine +</small> +<p align="right"><i>Last revised 2012-05-07 © <a href="http://www.webdesign-bu.de/uwe_lueck/contact.html" target="_blank">Uwe Lück</a> +<table width="" height="6" border="0" cellpadding="0" cellspacing="0"><tbody> + <!-- HVspace --> + <tr valign="top"><td></td> </tr> + +</tbody></table> + (using <a href="http://ctan.org/pkg/morehype" target="_blank">blog.sty</a> and <a href="http://ctan.org/pkg/monofill" target="_blank">monofill.sty</a>) +<table width="" height="6" border="0" cellpadding="0" cellspacing="0"><tbody> + <!-- HVspace --> + <tr valign="top"><td></td> </tr> + +</tbody></table> + License: <a href="http://www.latex-project.org/lppl/" target="_blank">LPPL 1.3c</a> or later, author-maintained.</i></p> +<p align="right"><a href="#top-of-page">[<i>→ top of page</i> ]</a></p> + +<table width="" height="550" border="0" cellpadding="0" cellspacing="0"><tbody> + <!-- HVspace --> + <tr valign="top"><td></td> </tr> + +</tbody></table> + +</body></html> + diff --git a/Master/texmf-dist/source/latex/latexfileinfo-pkgs/finfpkgs.tex b/Master/texmf-dist/source/latex/latexfileinfo-pkgs/finfpkgs.tex new file mode 100644 index 00000000000..10f406228e1 --- /dev/null +++ b/Master/texmf-dist/source/latex/latexfileinfo-pkgs/finfpkgs.tex @@ -0,0 +1,459 @@ +\ProvidesFile{finfpkgs.tex}[2012/05/06 v0.2 latex file info packages (UL)] +\head \charset{ISO-8859-1} %%% {utf-8} + \texrobots + \title{Display LaTeX file metadata ("info")} +% \stylesheet{all}{plain} %% tried 2012/05/06 + </head><body>\CLBrk %%% \body + \lineanc{top-of-page} %%% \textopofpage +\EXECUTE{\let\CPR\ctanpkgref \def\title{\heading1} \def\section{\heading2} + \def\subsection{\heading3} \let\pkg\pkgnamefmt + \def\fakeitem{\bullet\enspace} + \def\strongcs#1{\strong{\cs{#1}}} + \def\metaarg#1{\code{\{\metavar{#1}\}}} +} +% \EXECUTE{\BlogInterceptHash} %% upfinfo.sh instead +% \EXECUTE{\RequirePackage{monofill}} %% upfinfo.sh instead +% \EXECUTE{\let\pkgnamefmt\code} +\title{\code{latexfileinfo-pkgs} ---\vspace{6} Displaying \Wikienref{Metadata} + (\endqtd{Info}) of \emph{\LaTeX} Source Files} + +\pardash a comparison of packages available from \acro{CTAN} +% \small[\,\UseVersionOf{finfinfo.tex}~as~of~\UseDateOf{finfinfo.tex}\,]\endsmall +%% <- TODO \relax 2012/04/09 + <p> %%% \vspace{24} +\begin{small} +[\,\ancrefslist{{{intro}{intro}} + {{table}{table}} + {{single}{\cs{GetFileInfo}~etc.}} + {{several}{\cs{listfiles}~etc.}}{{rcs}{rcs/svn}} + {{thanks}{thanks}}}\,]\quad +[\,\textit{\fileref{\htmljob}{reload}}\,] +\end{small} +\nextruleview{intro} +\section{0\quad Introduction (with links to sections)} +For \Wikienref{\LaTeX} source files, +it is recommended to start them with \LaTeX\ command +\begin{itemize} + \item \cs{ProvidesClass}\code{ ~}\quad (for \file{.cls} files) + \item \cs{ProvidesPackage}\quad (for \file{.sty} files) + \item \cs{ProvidesFile}\code{ ~ }\quad (for all other files) +\end{itemize} +(after \cs{NeedsTeXFormat}). +Their trailing optional argument can provide the most recent +\begin{itemize} + \item \wikienref{Revision control}{revision} \strong{date}\\ + (expected as \emph{\endqtd{first word}} in trailing optional argument) + \item the corresponding \strong{version} string\\ + (expected as \emph{\endqtd{second word}} + in trailing optional argument)\pardash and + \item and a brief \strong{description} of the file ("caption")\\ + (expected as anything \emph{else} in trailing optional argument). +\end{itemize} +Here we are listing and comparing \TeX\ packages available from +\httpref{ctan.org}{\acro{CTAN}} that make use of this information. + <p> +The document especially describes five packages of my own, +including interrelations and dependencies, and thus extends +their documentations; see \ancref{table}{table below} for them. +An \emph{asterisk}* near a package name indicates that the package +is \emph{not mine}; so what I tell about it may be wrong or bad \dots\ +(please let me know via \webdesignref{contact.html}{form}, + or should I add something?) ... + <p> +We have the \emph{cases} of %% single vs. several +\begin{enumerate} + \item displaying \ancref{single}{single} file info (\strongcs{GetFileInfo} ...) + \item listing infos of \ancref{several}{several} files (\strongcs{listfiles} etc.) +\end{enumerate} +and for each %% LaTeX vs. external +\begin{enumerate-a} + \item access by \emph{\LaTeX} (\ancref{sing-ltx}{1\,}\cdot\ancref{sev-ltx}{\,2}) + \item access by \emph{external} program (\ancref{sing-ext}{1\,}\cdot\ancref{sev-ext}{\,2}). +\end{enumerate-a} +\emph{Related} subjects are using +\begin{enumerate-i} + \item \ancref{rcs}{revision control systems} and + \item modification time according to \ancref{filemod}{pdf\TeX}. +\end{enumerate-i} +\lineanc{table}A \emph{tabular overview} of the first two case distinctions: + <p> +\begin{stdallrulestable} + \endcell just using \emph{\LaTeX}\qquad \endcell using \emph{external} program + \endline + \textbf{\ancref{single}{single} file}\endcell + \fakeitem \ancref{doc}{\pkg{doc}}* ~ ~ ~ ~ ~ ~\,\,\, + (Frank \ctanpkgauref{mittelbach}{Mittelbach})\\ + \fakeitem \ancref{zwgetfdate}{\pkg{zwgetfdate}}*\,\,\,\,\,\,\,\, + (Zden\unicodehexentity{011b}k \ctanpkgauref{wagner}{Wagner})\\ + \fakeitem \ancref{readprov}{\pkg{readprov}} + \endcell + \fakeitem \ancref{lfv} {\pkg{latexfileversion}}* + \,(Harald \ctanpkgauref{harders}{Harders}) \\ + \fakeitem \ancref{lfi} {\pkg{ltxfileinfo}}*~ ~ ~ ~ \,\,\,\,\,\,\,\,\, + \,(Wybo \ctanpkgauref{dekker}{Dekker}) \\ + \fakeitem \ancref{tofi}{\pkg{typeoutfileinfo}} + \endline + \textbf{file \ancref{several}{list}}\endcell + \fakeitem \ancref{cl} {\pkg{classlist}}*~~~~~~~\,\,\,\, + (Heiko \ctanpkgauref{oberdiek}{Oberdiek}) \\ + \fakeitem \ancref{dl} {\pkg{dateiliste}}*~~~~~ ~\, + \,(Paul \ctanpkgauref{ebermann}{Ebermann}) \\ + \fakeitem \ancref{lnfl}{\pkg{longnamefilelist}} \\ + \fakeitem \ancref{nfl} {\pkg{nicefilelist}} \\ + \fakeitem \ancref{mfl} {\pkg{myfilist}} \\ + \endcell + \fakeitem[\ancref{ltxinput}{\pkg{ltxinput}}* ~ ~ ~ ~ ~ ~ ~ ~ \,\,\,\,\,\, + (Jim \ctanpkgauref{green}{Green})] \\ + \fakeitem[\ancref{tle}{\pkg{texlog-extract}}* ~ \,\,\, + (Wybo \ctanpkgauref{dekker}{Dekker})] \\ + \\ + [\,don't really belong here \dots\,] \\ + \\ +\end{stdallrulestable} + +\nextruleview{single} +\section{1\quad Access Single File Info} +%% v0.11: distributing intro words over first two subsections +% \internallinksbar{{{sing-ltx}{a}}{{sing-ext}{b}}{{filemod}{c}}} +\begin{small} + [\,\ancref{sing-ltx}{a:}\enspace + \ancrefslist{{{doc}{\pkg{doc}}} + {{readprov}{\pkg{readprov}}} + {{zwgetfdate}{\pkg{zwgetfdate}}} + }\,]\quad + [\,\ancref{sing-ext}{b:}\enspace + \ancrefslist{{{lfv}{\pkg{latexfileversion}}} + {{lfi}{\pkg{ltxfileinfo}}} + {{tofi}{\pkg{typeoutfileinfo}}}}\,]\quad + [\,\ancref{filemod}{c:\enspace \pkg{filemod}}\,] +\end{small} +\subsection{\lineanc{sing-ltx}a.\quad Access in \emph{\LaTeX} Run} +%% shortening 2012/04/05: +\emdash originally for \emph{automatic} inclusion of \emph{current} +revision date and version of a package %%% (? cf.~\ancref{sing-ext}{next subsection}) +in \emph{typesetting} the latter's documentation +(\textit{\endqtd{This document describes version \dots\ as of \dots}}), but then \dots +\begin{description} + \ditem{\lineanc{doc}\CPR{doc}*} + \begin{itemize} + \item Belongs to \LaTeX\ \CtanPkgRef{latex-base}{base} distribution. + \item Provides \strong{\cs{GetFileInfo}}\code{\{\metavar{file}\}}; after using this, + you have \cs{filedate}, \cs{fileversion}, \cs{fileinfo} of \metavar{file}. + \item \metavar{file} must have been \emph{loaded} in the \LaTeX\ run. + \item \cs{GetFileInfo} is \emph{fragile}. + \end{itemize} + \ditem{\lineanc{zwgetfdate}\CPR{zwgetfdate}*} + \begin{itemize} + \item Provides \strongcs{DateOfFile}\metaarg{file} + and \strong{\cs{DateOfPackage}}\metaarg{file}. + \item \metavar{file} must have been \emph{loaded}. + \end{itemize} + \ditem{\lineanc{readprov}\CPR{readprov}} + \begin{itemize} + \item %%% \pkg{readprov} further provides %%% \emph{robust}, expandable + Provides + \strongcs{UseDateOf}\metaarg{file} and \strongcs{UseVersionOf}\metaarg{file}. + \item %%% It steals + Steals \ancref{doc}{\pkg{doc}}'s \strongcs{GetFileInfo} so \pkg{doc} is not + needed, in case ... + \item Provides + \begin{itemize} + \item \strongcs{ReadFileInfos}\metaarg{files} + \item \strongcs{ReadPackageInfos}\metaarg{files} + \item \strongcs{ReadClassInfo}\metaarg{file} + \end{itemize} + as \emph{alternatives} to \cs{GetFileInfo}. + \begin{itemize} %% 2012/04/05 + \item They do \emph{not} really \emph{load} \metavar{file}/\metavar{files} ... + \item ... so can be used with incompatible packages and + classes (multiple latter by \cs{ReadFileInfos\{\metavar{base}.cls\}}). + \item This allows \strong{adding arbitrary} \LaTeX\ source files + to the list of files that \LaTeX\ manages for + \ancref{latex}{\strong{\cs{listfiles}}}\pardash this is used for + \ancref{myfilist}{\pkg{myfilist}}. + \end{itemize} + \end{itemize} +\end{description} +\subsection{\lineanc{sing-ext}b.\quad \emph{Screen} Display Using \emph{External} Program} +\emdash when you wonder whether the most recent version of a package +or a chapter file is present \dots +\begin{description} + \ditem{\lineanc{lfv}\CPR{latexfileversion}*} + \begin{itemize} + \item \Wikienref{Bash (Unix shell)} script. + \item \emph{Nice} screen display. %% TODO sample 2012/05/05 + \item Invokes \code{latex} run using a copy of + \ancref{doc}{\pkg{doc}}'s \cs{GetFileInfo}. + \end{itemize} + \ditem{\lineanc{lfi}\CPR{ltxfileinfo}*} + \begin{itemize} + \item \Wikiendisambref{Ruby}{programming language} script. + \item Displays nice + \mirrorctanref{support/ltxfileinfo/doc/ltxfileinfo.html}{table} + of infos (including \emph{location} in file system) on screen. + \end{itemize} + \ditem{\lineanc{tofi}\CPR{typeoutfileinfo}} + \begin{itemize} + \item 5-lines \Wikienref{Bash (Unix shell)} script. + \item Expects \code{latex} won't append too many screen lines after + 1-line \strongcs{typeout}\\ + (\emph{tolerable} screen display as compared with + \ancref{lfv}{latexfileversion}). + \item Invokes \code{latex} run using \ancref{readprov}{\pkg{readprov}}. + \end{itemize} +\end{description} +\subsection{\lineanc{filemod}c.\quad Related, while different ...} +\begin{description} + \ditem{\CPR{filemod}*} + \begin{itemize} + \item Uses \tugref{applications/pdftex/NEWS}{\pdfTeX}'s + \cs{pdffilemoddate\{\metavar{file}\}} primitive. + \item Compares modification dates of files. + \item Files include images. + \item Also works with \code{pdflatex} in \acro{DVI} mode. + \end{itemize} +\end{description} + +\nextruleview{several} +\section{2\quad File Info List} +This is about listing \emph{all} files input in a \LaTeX\ run, \emph{or}~... +\subsection{\lineanc{sev-ltx}a.\quad Create in \LaTeX\ Run} +\begin{small} +[\,\ancrefslist{{{latex}{\pkg{LaTeX}}} + {{cl}{\pkg{classlist}}} + {{dl}{\pkg{dateiliste}}} + {{lnfl}{\pkg{longnamefilelist}}} + {{mfl}{\pkg{myfilist}}} + {{nfl}{\pkg{nicefilelist}}}}\,] +\end{small} +\begin{description} + \ditem{\lineanc{latex}\CPR{latex}*} + \begin{itemize} + \item \LaTeX\ provides \strong{\cs{listfiles}} for the document preamble. + \item \cs{listfiles} issues a list of \strong{all} files input in the \code{latex} run + near end of \file{.log} file, together with their infos according + to \cs{Provide...} commands. + \item The list is a \strong{two-column} "table" (plain text), \emph{base} filenames + flush right, \emph{info} (maybe date, maybe version, maybe anything) flush left. + \item Any file whose base \Wikienref{filename} has \strong{more than 8}~characters + or whose filename extension does \emph{not} have 3~characters \strong{corrupts} alignment. + \end{itemize} + \ditem{\lineanc{cl}\CPR{classlist}*} + \begin{itemize} + \item Remembers (separately) files input by ~(a)~\strong{\cs{documentclass}}~ + and what was input by ~(b)~\strong{\cs{LoadClass}}. + \item On \strong{\cs{PrintClassList}}, the list of loaded class files appears on screen. + \item Configurable by \strongcs{PrintClassListEntry} and \strongcs{PrintClassListTitle}. + \end{itemize} + \ditem{\lineanc{dl}\CPR{dateiliste}*} + \begin{itemize} + \item Lists anything that the \ancref{latex}{original} \cs{listfiles} would list. + \item \strong{Typesets} the list as a \LaTeX\ table, using package \CPR{longtable}. + \item Separate \strong{columns} for + \begin{itemize} + \item filename + \item \emph{page} where input (optionally) %% \emph 2012/04/09 + \item date + \item version + \item description ("caption") + \end{itemize} + \item Supports \strong{\acro{RCS}}, + \wikienref{Concurrent Versions System}{\acro{CVS}}, + and \acro{SVN} (cf.~\ancref{rcs}{section below}). + \item Highly configurable. + \item E.g., you can replace info for a file by what you want to see in the list + (cf.~\ancref{myfilist}{\pkg{myfilist}}). + \item I haven't seen what happens with \emph{plain text} (\file{.log}) output. + \end{itemize} + \ditem{\lineanc{lnfl}\CPR{longnamefilelist}} + \begin{itemize} + \item Overcomes \ancref{latex}{\LaTeX}'s "8-character~limit" + by a new \strong{optional argument} for \cs{listfiles}, + indicating number of characters to be reserved for + base filenames, e.g. accounting for "\code{longnamefilelist.sty}": + \begin{quote} + \cs{listfiles[16]} + \end{quote} + \pardash view + \mirrorctanref{macros/latex/contrib/longnamefilelist/% + SrcFILEs.txt}{example outcome} + \item \emdash showing combination with \ancref{mfl}{\pkg{myfilist}} + \item \emdash while also working as single addition to + \LaTeX~\CtanPkgRef{latex-base}{base}, + \emph{no} need of \ancref{mfl}{\pkg{myfilist}} or \CPR{monofill}. + \item Still, filename \strong{extension}s with number of characters + differing from 3 break alignment. Martin Mnch mentions + \file{t1cmtt.fd} (standard \LaTeX\ font definition) and + \file{supp-pdf.mkii} (\Wikienref{ConTeXt}). + \end{itemize} + \ditem{\lineanc{nfl}\CPR{nicefilelist}} + \begin{itemize} + \item Uses separate \strong{columns} for \strong{date} and \strong{time} + (like \ancref{dl}{\pkg{dateiliste}}). + \item (Picky) recognition of "date" and "version"\pardash if not present, + left \strong{empty} or gets "missing" display: + \begin{codelines} + nicefilelist.sty~ 2012/03/29~ v0.2 ~ more file list alignment (UL)\/ + nicefilelist.tex~ 2012/03/23~ ~--~ ~ documenting nicefilelist.sty + \end{codelines} + (Martin Mnch's idea). + \item Problem of varying filename \strong{extension} lengths overcome + by actually keeping a separate flush-left column for them. + \item Column widths configurable by \strong{templates}\pardash replace + pre-configuration (\CPR{monofill} commands): + \begin{codelines} + \EXECUTE{\MFfieldtemplate[~]{nfl}{% + /MFfieldtemplate(f-base)...(nicefilelist)..}} + \MFleftinfield{% + \\MFfieldtemplate\{f-base\}~~~\{nicefilelist\}}{nfl}\%\%\ base name \/ + \MFleftinfield{% + \\MFfieldtemplate\{f-ext\}~~~~\{tex\}}{nfl}\%\%\ name extension \/ + \MFleftinfield{% + \\MFfieldtemplate\{f-version\}\{v0.11a\}}{nfl}\%\%\ version + \end{codelines} + \item First code line above shows \strong{difference} to \CPR{longnamefilelist}, + equivalent there would be \cs{listfiles[12]}. + \pkg{nicefilelist} does \emph{not} provide an optional argument + for \cs{listfiles}. + \item Column \strong{distances} and "\strong{missing}" display configurable too. + \item Can be combined with \ancref{mfl}{\pkg{myfilist}}\pardash view + \mirrorctanref{macros/latex/contrib/nicefilelist/% + SrcFILEs.txt}{output sample}. + \item Needs just \CPR{monofill}, additionally to + \LaTeX~\CtanPkgRef{latex-base}{base}. + \end{itemize} + \ditem{\lineanc{mfl}\lineanc{myfilist}\CPR{myfilist}} + \begin{itemize} + \item Allows \strong{removing} all entries that \LaTeX\ has collected + for \ancref{latex}{\cs{listfiles}} at a certain point. + \item Then, by commands from \ancref{readprov}{\pkg{readprov}}, + you can \strong{add arbitrary} files to the list + (as they are \emph{not} really \emph{loaded}), + in the order you want to have them in the list. + \item Thus actually, you can set up a list of files you want to have + \emph{independently} of a typesetting run ... + \item ... and actually, the \strong{intended} application is generating the + list \strong{without} any \strong{typesetting}, + by running \code{latex} on a "\strong{script}" file + just loading \pkg{readprov} and \pkg{myfilist} + and using only commands from \emph{them}. + (No \cs{documentclass}, no \code{\{document\}} environment.) + \item View + \mirrorctanref{macros/latex/contrib/longnamefilelist/docsrc/% + srcfiles.tex}{input example} + for \ancref{lnfl}{\pkg{longnamefilelist}}. + \item Besides \file{.log} output, the list can be written into a \strong{separate} + plain text \strong{file%%% } ... +% \item ... view + }\pardash view + \mirrorctanref{macros/latex/contrib/longnamefilelist/% + SrcFILEs.txt}{output example} + for \ancref{lnfl}{\pkg{longnamefilelist}}. + \item \strong{Main applications} in my mind and actual work: + \begin{enumerate} + \item List of \file{.sty} and \file{.tex} files for \emph{my} + \strong{\acro{CTAN} packages} and \strong{bundles} + (instead of the \file{.dtx}/\CPR{docstrip} system, I use \CPR{nicetext}). + \item List of \strong{package} files specific to some \strong{project} + that often change\pardash manual replacement for a + "concurrent versions" system with single author. + E.g.: + \begin{itemize} + \item \CPR{nicetext} packages underlying \strong{documentation} + of a certain different package. + \item \strong{style} files underlying a \strong{book} project + at which authors and programmers work on changing computers. + \end{itemize} + \item List of \strong{chapter} \cs{include} files for a \strong{book} project, + edited at changing computers (by a number of authors). + \item Often, one \strong{forgets} to \strong{update} version information + in the \cs{Provides...} command\pardash the \pkg{myfilist} + helps you to \pkg{check} this + (e.g., right before a release; + \ancref{filemod}{\pkg{filemod}} might automate this check, + perhaps together with \ancref{readprov}{\pkg{readprov}}, + \emph{without} \pkg{myfilist}). + \end{enumerate} + \item My actual \strong{workflow} with \Wikienref{Bash (Unix shell)}: + \begin{itemize} + \item \strong{\code{upsfl}} with + \begin{codelines} + alias upsfl='latex srcfiles'} + \end{codelines} + updates the list of source files, + and actually displays the updated list on screen. + \item \strong{\code{shsfl}} with + \begin{codelines} + \code{alias shsfl='more SrcFILEs.txt'} + \end{codelines} + displays the source file list without updating, + and waits when the list is too long for your (netbook) screen. + \end{itemize} + \item Combinable with \ancref{dl}{\pkg{dateiliste}}? + \end{itemize} +\end{description} +\subsection{\lineanc{sev-ext}b.\quad Create by External Program} +Hm, not so related, \emph{no} infos (it seems), lists only; +so, just \emph{"most related I could find"} for this section~... +\begin{description} + \ditem{\lineanc{ltxinput}\CPR{ltxinput}*} + \begin{itemize} + \item \wikienref{MS-DOS}{\acro{MS-DOS}} utility + (compiled from \wikienref{C (programming language)}{\acro{C}}). + \item Lists files that \emph{would} be input (recursively). + \end{itemize} + \ditem{\lineanc{tle}\CPR{texlog-extract}*} + \begin{itemize} + \item \Wikiendisambref{Ruby}{programming language} script. + \item Lists files that issued errors and warnings (colored). + \end{itemize} +\end{description} + +\nextruleview{rcs} +\section{\lineanc{rcs}3\quad \acro{RCS}/\acro{SVN}} +For \wikienref{Revision control}{revision control systems} +\wikienref{Revision control system}{\acro{RCS}} and +\wikienref{Apache Subversion}{\acro{SVN}}, there are +\begin{itemize} + \item \CPR{rcs}* \cdot\ \CPR{rcsinfo}* \cdot\ \CPR{rcs-multi}* + \item \CPR{svn}* \cdot\ \CPR{svninfo}* \cdot\ \CPR{svn-multi}* + \item \CPR{svn-prov}* provides \acro{SVN} variants of + \cs{ProvidesClass}, \cs{ProvidesFile}, and \cs{ProvidesPackage}. +\end{itemize} +\emdash sorry, I can't tell more about them right now~\dots %% 2012/04/08 + +\nextruleview{thanks} +\section{Acknowledgements} +Thanks to Martin Mnch, Moss +(I wrote this for his question), %% 2012/04/06 +and Rainer Sch”pf! +\ancref{rcs}{\acro{RCS} stuff} mainly has been stolen from +\bytopicref{revision}{Jrgen Fenn's Topic Index} of the +\mirrorctanref{help/Catalogue}{\TeX~Catalogue}. + <p> %%% \vspace{24} +\hrule +\small*~not~mine\endsmall +\rightpar{\textit{% + Last~revised~\isotoday\ \copyright~\webdesignref{contact.html}{Uwe Lck} + \vspace{6} + (using \CtanPkgRef{morehype}{blog.sty} + and \CtanPkgRef{monofill}{monofill.sty}) + \vspace{6} + License: \httpref{www.latex-project.org/lppl/}{LPPL~1.3c} or later, author-maintained.}} +\entotopofpage +\vspace{550} +\finish + +%% HISTORY: +%% 2012/04/02 v0.1 first upload +%% 2012/04/02 v0.11 little improvements afterwards, +%% especially intro words for section 1 +%% 2012/04/05 v0.12 less words in section 1; +%% sub-itemize for readprov +%% 2012/04/06 wrote for Moss +%% 2012/04/08 started table, some other additions +%% 2012/04/09 continued (fix of strange bug!?) +%% +%% 2012/05/05f. v0.2 renamed `latexfileinfo-pkgs', table +%% reformatted manually, minor rewordings +%% and reformattings, link fixes diff --git a/Master/texmf-dist/source/latex/latexfileinfo-pkgs/finfpkgs_SRCs.txt b/Master/texmf-dist/source/latex/latexfileinfo-pkgs/finfpkgs_SRCs.txt new file mode 100644 index 00000000000..079a32dac21 --- /dev/null +++ b/Master/texmf-dist/source/latex/latexfileinfo-pkgs/finfpkgs_SRCs.txt @@ -0,0 +1,15 @@ + + *File List* +finfpkgs.tex 2012/05/06 v0.2 latex file info packages (UL) + atari.fdf 2010/08/29 Atari German to ISO-8859 with blog.sty + blog.sty 2012/04/09 v0.7 simple fast HTML (UL) +blogexec.sty 2011/12/15 v0.1 assignments with blog.sty (UL) +fifinddo.sty 2012/01/20 v0.51 filtering TeX(t) files by TeX (UL) +texlinks.sty 2012/04/10 v0.6 TeX-related links (UL) +makehtml.tex 2012/01/07 HTML driver + texblog.fdf 2012/03/17 extra blog settings + *********** + + List made at 2012/05/06, 23:41 + from script file ls_finfpkgs_srcs.tex + diff --git a/Master/texmf-dist/source/latex/latexfileinfo-pkgs/ls_finfpkgs_srcs.tex b/Master/texmf-dist/source/latex/latexfileinfo-pkgs/ls_finfpkgs_srcs.tex new file mode 100644 index 00000000000..55def3bbbff --- /dev/null +++ b/Master/texmf-dist/source/latex/latexfileinfo-pkgs/ls_finfpkgs_srcs.tex @@ -0,0 +1,8 @@ +\RequirePackage{myfilist} +\ProvidesFile{ls_finfpkgs_srcs.tex}[2012/05/06 finfpkgs source infos] +\EmptyFileList %%% [readprov.sty,myfilist.sty] +\ReadFileInfos{finfpkgs.tex,atari.fdf} +\ReadPackageInfos{blog,blogexec,fifinddo,texlinks} +\ReadFileInfos{makehtml,texblog.fdf} +%\ReadFileInfos{ls_finfpkgs_srcs.tex} +\ListInfos[finfpkgs_SRCs.txt] diff --git a/Master/texmf-dist/source/latex/latexfileinfo-pkgs/makehtml.tex b/Master/texmf-dist/source/latex/latexfileinfo-pkgs/makehtml.tex new file mode 100644 index 00000000000..42761f1706a --- /dev/null +++ b/Master/texmf-dist/source/latex/latexfileinfo-pkgs/makehtml.tex @@ -0,0 +1,25 @@ +\ProvidesFile{makehtml.tex}[2012/01/07 HTML driver] +\RequirePackage{blog}[2011/11/20] \BlogInterceptEnvironments* +\RequirePackage{texlinks} \input{atari.fdf} \input{texblog.fdf} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\input{jobname} %% write with "echo" +% \def \htmljob +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% {texmap} +% {heyctan} +% {makeshow} +% {texhax} +% {aaoe1550} +% {jobs} %%% \BlogAutoPars +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% {beobacht} \uselangcode{de} %% \uselangcode 2012/01/07 +% {gtd} \uselangcode{de} +% {STEUER} \uselangcode{de} +% {GALLEY} \uselangcode{de} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ResultFile{\htmljob\htmakeext} +\BlogProcessFinalFile[% + \TextCodes + \MakeActiveDef\"{\catchdq}%% TODO \MakeActiveLet? + ]{\htmljob.tex} +\stop diff --git a/Master/texmf-dist/source/latex/latexfileinfo-pkgs/upfileinfo.sh b/Master/texmf-dist/source/latex/latexfileinfo-pkgs/upfileinfo.sh new file mode 100755 index 00000000000..79e0c7f248d --- /dev/null +++ b/Master/texmf-dist/source/latex/latexfileinfo-pkgs/upfileinfo.sh @@ -0,0 +1,6 @@ +echo '\def\htmljob{latexfileinfo_pkgs}' > jobname.tex +#echo '\RequirePackage{monofill,readprov}' >> jobname.tex +#echo '\ReadFileInfos{\htmljob.tex}' >> jobname.tex +## ↠\relax TODO +echo '\RequirePackage{monofill}' >> jobname.tex +latex makehtml diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 9a8547aac3d..0a86b5685d0 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -228,7 +228,7 @@ my @TLP_working = qw( latex2e-help-texinfo latex2e-help-texinfo-spanish latex2man latex4wp latex4wp-it latexcheat latexcheat-esmx latexcheat-ptbr - latexdiff latexfileversion latexmk latexmp + latexdiff latexfileinfo-pkgs latexfileversion latexmk latexmp lato layaureo layouts lazylist lcd lcg lcyw leading leaflet lecturer ledmac leftidx lettre lettrine levy lewis lexikon lfb lgreek lgrx lh lhelp diff --git a/Master/tlpkg/tlpsrc/collection-documentation-english.tlpsrc b/Master/tlpkg/tlpsrc/collection-documentation-english.tlpsrc index aea879fc257..a0158401cd4 100644 --- a/Master/tlpkg/tlpsrc/collection-documentation-english.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-documentation-english.tlpsrc @@ -25,6 +25,7 @@ depend latex-web-companion depend latex2e-help-texinfo depend latex4wp depend latexcheat +depend latexfileinfo-pkgs depend lshort-english depend macros2e depend math-e diff --git a/Master/tlpkg/tlpsrc/latexfileinfo-pkgs.tlpsrc b/Master/tlpkg/tlpsrc/latexfileinfo-pkgs.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/latexfileinfo-pkgs.tlpsrc |