diff options
author | Karl Berry <karl@freefriends.org> | 2009-11-16 19:52:58 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-11-16 19:52:58 +0000 |
commit | c3c4375bcba41f1430e538b13b1a11300a1a1a5f (patch) | |
tree | 0586f51014ca10377271c341fb22ae7ace4034de /Master/texmf-dist/tex/latex/dateiliste | |
parent | 97a64664af52df12bf2780903c3357ad8d29a94a (diff) |
dateiliste 0.5 (7nov09)
git-svn-id: svn://tug.org/texlive/trunk@16032 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/dateiliste')
-rw-r--r-- | Master/texmf-dist/tex/latex/dateiliste/dateiliste.sty | 198 |
1 files changed, 173 insertions, 25 deletions
diff --git a/Master/texmf-dist/tex/latex/dateiliste/dateiliste.sty b/Master/texmf-dist/tex/latex/dateiliste/dateiliste.sty index 9468c3aee6b..6bfec020ddf 100644 --- a/Master/texmf-dist/tex/latex/dateiliste/dateiliste.sty +++ b/Master/texmf-dist/tex/latex/dateiliste/dateiliste.sty @@ -11,28 +11,28 @@ %% | | %% | (c) 2006 Paul Ebermann. | %% '--------------------------------------------------' -%% (C) 2006 Paul Ebermann (Hauptautor) +%% (C) 2006, 2009 Paul Ebermann (Hauptautor) %% (C) 2006 Rolf Niepraschk (einiges an Code gespendet) %% %% Package dateiliste - Zur Ausgabe der Liste der Dateien im Dokument. %% -%% Die Datei dateiliste.dtx sowie die dazugehörige +%% Die Datei dateiliste.dtx sowie die dazugehörige %% dateiliste.ins sowie die damit generierte %% dateiliste.sty stehen unter der %% "LaTeX Project Public License" (LPPL, zu finden %% unter http://www.latex-project.org/lppl/, sowie %% auch in den meisten TeX-Distributionen in %% texmf/docs/latex/base/lppl*.txt), Version 1.3b oder -%% später (nach Wahl des Verwenders). +%% später (nach Wahl des Verwenders). %% %% Der 'maintenance-status' ist (zur Zeit) 'maintained'. %% -%% Das heißt in etwa, die Dateien dürfen frei vertrieben werden, -%% bei Änderungen (durch andere Personen als Paul Ebermann) -%% ist aber der Name der Datei zu ändern. +%% Das heißt in etwa, die Dateien dürfen frei vertrieben werden, +%% bei Änderungen (durch andere Personen als Paul Ebermann) +%% ist aber der Name der Datei zu ändern. \NeedsTeXFormat{LaTeX2e}[2003/12/01] \ProvidesPackage{dateiliste}[% - 2006/07/27 v0.3 % + 2009/11/04 v0.5 % Ausgabe der Dateiliste (PE)] \newif\if@dateiliste@addMain \DeclareOption{addmain} {% @@ -49,8 +49,51 @@ \DeclareOption{nocat12} {% \@dateiliste@nocatxiitrue } +\newif\if@dateiliste@showpages \@dateiliste@showpagesfalse +\DeclareOption{showpages} {% + \@dateiliste@showpagestrue +} +\DeclareOption{noshowpages} {% + \@dateiliste@showpagesfalse +} +\newif\if@dateiliste@subversion \@dateiliste@subversionfalse +\DeclareOption{svn} {% + \@dateiliste@subversiontrue +} +\DeclareOption{subversion} {% + \@dateiliste@subversiontrue +} +\DeclareOption{cvs} {% + \@dateiliste@subversionfalse +} +\DeclareOption{rcs} {% + \@dateiliste@subversionfalse +} \ExecuteOptions{addmain} +\ExecuteOptions{showpages} +\ExecuteOptions{rcs} \ProcessOptions + \if@dateiliste@showpages + \CheckCommand*{\@addtofilelist}[1]{\xdef\@filelist{\@filelist,#1}} + \renewcommand*{\@addtofilelist}[1]{% + \expandafter\xdef% + \csname dateiliste@page@#1\endcsname% + {\thepage}% + \xdef\@filelist{\@filelist,#1}% + } + \fi +\setcounter{page}{0} +\AtBeginDocument{\stepcounter{page}} +\if@dateiliste@subversion +\RequirePackage[nofancy, notoday, final]{svninfo}[2006/05/11] +\newcommand*{\ProvideFileInfos}[2] {% + \svnInfo #1 % + \ProvidesFile% + {\svnInfoFile}% + [\svnInfoYear/\svnInfoMonth/\svnInfoDay\space + v\svnInfoRevision\space #2]% +} +\else% \if@dateiliste@subversion \RequirePackage[nofancy, notoday]{rcsinfo} \newcommand*{\ProvideFileInfos}[2] {% \rcsInfo #1 % @@ -58,6 +101,7 @@ {\expandafter\@firstofone\rcsInfoFile}% [\rcsInfoDate\space v\rcsInfoRevision\space #2]% } +\fi% \if@dateiliste@subversion \RequirePackage{ltxtable} \AtBeginDocument{% \@ifpackageloaded{pauldoc}{% @@ -98,9 +142,9 @@ \@addtofilelist{\jobname.filelist}% } {% - \PackageWarning{dateiliste}{ + \AtEndDocument{\PackageWarning{dateiliste}{ Run LaTeX again to include the File list. - }% + }}% }% \AtEndDocument{% \begingroup @@ -117,39 +161,138 @@ [\dateiliste@today\space --- automatically % generated filelist]% }% + \if@dateiliste@showpages + \def\@tempa{lrll} + \else + \def\@tempa{lll} + \fi \immediate\write\dateiliste@file{% \string\LTleft=0pt% \string\LTright=0pt% - \string\begin{longtable}{lll>{\string\raggedright\string\arraybackslash}X}% - \string\textbf{\fileNameName} & + \string\begin{longtable}{\@tempa>{% + \string\raggedright\string\arraybackslash}X}% + \string\textbf{\fileNameName} \expandafter&% + \if@dateiliste@showpages + \string\textbf{\pageName} & + \fi \string\textbf{\dateName} & \string\textbf{\verName} & \string\textbf{\descriptionName} \string\endhead% }% \@for\@currname:=\@filelist\do{% \@for - \filename@parse\@currname + \filename@parse\@currname% \edef\dateiliste@filename{% \filename@base.% \ifx\filename@ext\relax tex\else\filename@ext\fi}% - \expandafter\let\expandafter\dateiliste@fileversion - \csname ver@\dateiliste@filename\endcsname - \immediate\write\dateiliste@file{% - \dateiliste@filename\space& % + \expandafter\let\expandafter\dateiliste@fileversion% + \csname ver@\dateiliste@filename\endcsname% + \if@dateiliste@showpages + \@ifundefined{dateiliste@page@\@currname} + {% + \def\dateiliste@filepage{0}% + }{% + \expandafter\let\expandafter\dateiliste@filepage% + \csname dateiliste@page@\@currname\endcsname% + }% + \fi + \edef\dateiliste@zeile{% + \expandafter\dateiliste@escapeii\expandafter{% + \dateiliste@filename + } + \space& % + \if@dateiliste@showpages + \dateiliste@filepage + \space& % + \fi \ifx\dateiliste@fileversion\relax --- \else \expandafter\dateiliste@parse@ver - \dateiliste@fileversion{} {} {} \relax + \dateiliste@fileversion{} {} {} \dateiliste@parse@ver \fi - \string\\}% + \string\\}% \edef + \immediate\write\dateiliste@file{% + \dateiliste@zeile + }% }% \@for \immediate\write\dateiliste@file{\string\end{longtable}} \immediate\closeout\dateiliste@file }% - \def\dateiliste@parse@ver##1 ##2 {##1 & ##2 & }% + \def\dateiliste@parse@ver##1 ##2 ##3\dateiliste@parse@ver{% + ##1 & ##2 & + % \dateiliste@general@escape{##3}{\@backslashchar}% + % {\string\textbackslash{}}% + \dateiliste@escapeii{##3}% + \relax + }% }% }% +\newcommand*{\dateiliste@escapeii}[1]{% + \dateiliste@escape@@ii#1\@nil. \@@nil\@@ +}% +\def\dateiliste@escape@@ii#1 #2#3\@@{% + \ifx\@@nil#2 + % nur ein Wort, und das '\@nil' ist schon in '#1' drin. + \afterfi{% + \dateiliste@escape@ii#1\@@% + }% + \else + %Rekursion + \afterfi{% + \dateiliste@escape@ii#1\@nil\@@% + \space% + \dateiliste@escape@@ii#2#3\@@% + }% + \fi +}% +\def\dateiliste@escape@ii#1#2\@@{% + \ifx#1\@nil + \@empty + \else + \afterfi{% + \dateiliste@escapetoken{#1}% + \dateiliste@escape@ii#2\@@ + }% + \fi +}% +\newcommand*{\dateiliste@escapetoken}[1] {% + \ifx#1\@empty\@empty + \else + \ifcat\noexpand\relax + \noexpand#1% + \string\string\string#1% + \else + \ifcase \catcode\expandafter`#1 % + \string\textbackslash\space% (kann nur mit Tricks vorkommen) - \ + \or\string\{% dito - { + \or\string\}% dito - } + \or\string\$% math shift (3) - $ + \or\string\&% alignment tab (4) - & + \or(Kategorie 5)% end of line + \or\string\#% parameter (6) - sollte nicht vorkommen + \or\string\^{ }% superscript (7) + \or\string\_% subscript (8) + \or(Kategorie 9 - ignored)% (9) - sollte nicht vorkommen + \or#1% space (10) + \or#1% letter (11) + \or#1% other (12) + \or\string\string\string#1% active -- sollte auch normalerweise + % nicht vorkommen. + \or\%% comment (14) (dafür muss man auch etwas tricksen) + \or(Kategorie 15 - invalid)% (15 - sollte nicht vorkommen) + \else(andere Kategorie)% (und da es eigentlich nur + % Kategorien 0-15 gibt, auch das nicht.) + \fi% (\ifcase) + \fi% (\ifcat) + \fi% (\ifx) +}% +\long\def\afterfi#1#2\fi{% + \fi#1% +} +\newcommand*\@@nil{\@@nil}% +\newcommand*\@nil{\@nil}% +\newcommand*\@@{\@@}% \newcommand*\fileListPreamble{ Here is the list of all files used during the run of \LaTeX{} which produced this document. \footnote{More precisely, it is @@ -159,6 +302,7 @@ } \newcommand*\fileListName{List of Files} \newcommand*\fileNameName{file name} +\newcommand*\pageName{page} \newcommand*\dateName{release date} \newcommand*\verName{version} \newcommand*\descriptionName{description} @@ -173,34 +317,37 @@ } \renewcommand*\fileListName{List of Files}% \renewcommand*\fileNameName{file name} + \renewcommand*\pageName{page} \renewcommand*\dateName{release date} \renewcommand*\verName{ver.} \renewcommand*\descriptionName{description} }% \addto{\extrasgerman}{% \renewcommand*\fileListPreamble{% - Hier die Liste aller Dateien, die während des \LaTeX-Laufes, + Hier die Liste aller Dateien, die w\"ahrend des \LaTeX-Laufes, welcher dieses Dokument erzeugte, verwendet wurden. \footnote{genauer: Es ist die Liste aller Dokumente, die - einen \LaTeX-Lauf früher verwendet wurden. Aber nach - einigen Läufen sollte sich die Liste stabilisieren.} + einen \LaTeX-Lauf fr\"uher verwendet wurden. Aber nach + einigen L\"aufen sollte sich die Liste stabilisieren.} } \renewcommand*\fileListName{Liste der Dateinamen}% \renewcommand*\fileNameName{Dateiname} + \renewcommand*\pageName{\llap{Se}ite} \renewcommand*\dateName{Datum} \renewcommand*\verName{Ver.} \renewcommand*\descriptionName{Beschreibung} }% \addto{\extrasngerman}{% \renewcommand*\fileListPreamble{% - Hier die Liste aller Dateien, die während des \LaTeX-Laufes, + Hier die Liste aller Dateien, die w\"ahrend des \LaTeX-Laufes, welcher dieses Dokument erzeugte, verwendet wurden. \footnote{genauer: Es ist die Liste aller Dokumente, die - einen \LaTeX-Lauf früher verwendet wurden. Aber nach - einigen Läufen sollte sich die Liste stabilisieren.} + einen \LaTeX-Lauf fr\"uher verwendet wurden. Aber nach + einigen L\"aufen sollte sich die Liste stabilisieren.} } \renewcommand*\fileListName{Liste der Dateinamen}% \renewcommand*\fileNameName{Dateiname} + \renewcommand*\pageName{Seite} \renewcommand*\dateName{Datum} \renewcommand*\verName{Ver.} \renewcommand*\descriptionName{Beschreibung} @@ -216,6 +363,7 @@ } \renewcommand*\fileListName{Listo de dosieroj}% \renewcommand*\fileNameName{dosiernomo} + \renewcommand*\pageName{pa\^go} \renewcommand*\dateName{dato} \renewcommand*\verName{versio} \renewcommand*\descriptionName{priskribo} |