%%
%% This is file `dateiliste.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% dateiliste.dtx  (with options: `package')
%% 
%%  ,--------------------------------------------------.
%%  |  Das ist eine generierte Datei.                  |
%%  |                                                  |
%%  | (c) 2006 Paul Ebermann.                          |
%%  '--------------------------------------------------'
%%  (C) 2006 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^^f6rige
%%   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^^e4ter (nach Wahl des Verwenders).
%%
%%   Der 'maintenance-status' ist (zur Zeit) 'maintained'.
%%
%%   Das hei^^dft in etwa, die Dateien d^^fcrfen frei vertrieben werden,
%%   bei ^^c4nderungen (durch andere Personen als Paul Ebermann)
%%   ist aber der Name der Datei zu ^^e4ndern.
\NeedsTeXFormat{LaTeX2e}[2003/12/01]
\ProvidesPackage{dateiliste}
 [2006/04/03 v0.1 Ausgabe der Dateiliste (PE)]
\newif\if@dateiliste@addMain
\DeclareOption{addmain} {%
   \@dateiliste@addMaintrue
}
\DeclareOption{noaddmain} {%
   \@dateiliste@addMainfalse
}
\ExecuteOptions{addmain}
\ProcessOptions
\RequirePackage[nofancy, notoday]{rcsinfo}
\newcommand*{\ProvideFileInfos}[2] {%
   \rcsInfo #1 %
   \ProvidesFile%
   {\expandafter\@firstofone\rcsInfoFile}%
   [\rcsInfoDate\space v\rcsInfoRevision\space #2]%
}
\RequirePackage{ltxtable}
\AtBeginDocument{%
   \@ifpackageloaded{pauldoc}{%
      \newcommand*{\dateiliste@preInclude}{\DeleteShortVerb{\'}}%
      \newcommand*{\dateiliste@postInclude}{\MakeShortVerb{\'}}%
   }{%
      \newcommand*{\dateiliste@preInclude}{\relax}%
      \newcommand*{\dateiliste@postInclude}{\relax}%
   }%
}%
\newcommand*{\printFileList}[1][\section*] {% \printFileList
   \@ifundefined{@dofilelist}
   {%
      \PackageWarning{dateiliste}
      {
         \protect\printFileList\space works only if
         \protect\listfiles\space is given in the preamble.
      }
   }%
   {%                      else (\@ifundefined{@dofilelist})
      #1{\fileListName}\label{sec:filelist}%
      \fileListPreamble
      \IfFileExists{\jobname.filelist}{%
         \let \dateiliste@addtofilelist = \@addtofilelist
         \def\@addtofilelist####1{%
            \edef\dateiliste@tempa{####1}%
            \edef\dateiliste@tempb{\jobname.filelist}\relax%
            \ifx\dateiliste@tempa\dateiliste@tempb
              \relax
            \else
              \dateiliste@addtofilelist{####1}
            \fi
         }%
         \dateiliste@preInclude
         \LTXtable{\linewidth}{\jobname.filelist}%
         \dateiliste@postInclude
         \let \@addtofilelist = \dateiliste@addtofilelist
         \@addtofilelist{\jobname.filelist}%
      }
      {%
         \PackageWarning{dateiliste}{
            Run LaTeX again to include the File list.
         }%
      }%
      \AtEndDocument{%
         \begingroup
         \@writefilelist
         \endgroup
      }%
      \newcommand*{\@writefilelist}{%  \@writefilelist
         \newwrite\dateiliste@file
         \immediate\openout\dateiliste@file = \jobname.filelist
         \edef\dateiliste@today{%
            \the\year/\two@digits{\the\month}/\two@digits{\the\day}}%
         \immediate\write\dateiliste@file{%
            \string\ProvidesFile{\jobname.filelist}%
            [\dateiliste@today\space --- automatically %
            generated filelist]%
         }%
         \immediate\write\dateiliste@file{%
            \string\LTleft=0pt%
            \string\LTright=0pt%
            \string\begin{longtable}{lllX}%
               \string\textbf{\fileNameName} &
               \string\textbf{\dateName} &
               \string\textbf{\verName} &
               \string\textbf{\descriptionName}
               \string\endhead%
            }%
         \@for\@currname:=\@filelist\do{%  \@for
            \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& %
               \ifx\dateiliste@fileversion\relax
               ---
               \else
               \expandafter\dateiliste@parse@ver
               \dateiliste@fileversion{} {} {} \relax
               \fi
               \string\\}%
         }%  \@for
      \immediate\write\dateiliste@file{\string\end{longtable}}
         \immediate\closeout\dateiliste@file
      }%
      \def\dateiliste@parse@ver##1 ##2 {##1 & ##2 & }%
   }%
}%
\newcommand*\fileListPreamble{
   Here is the list of all files used during the run of \LaTeX{}
   which produced this document. \footnote{More precisely, it is
      the list of files used one \LaTeX-run before the one which
      produced this document, but after some runs the list should
      stabilize.}
}
\newcommand*\fileListName{List of Files}
\newcommand*\fileNameName{file name}
\newcommand*\dateName{release date}
\newcommand*\verName{version}
\newcommand*\descriptionName{description}
\newcommand*{\dateiliste@babel}{
   \addto{\extrasenglish}{%
      \renewcommand*\fileListPreamble{%
         Here is the list of all files used during the run of \LaTeX{}
         which produced this document.\footnote{More precisely, it is
            the list of files used one \LaTeX-run before the one which
            produced this document, but after some runs the list
            should stabilize.}
      }
      \renewcommand*\fileListName{List of Files}%
      \renewcommand*\fileNameName{file name}
      \renewcommand*\dateName{release date}
      \renewcommand*\verName{ver.}
      \renewcommand*\descriptionName{description}
   }%
   \addto{\extrasgerman}{%
      \renewcommand*\fileListPreamble{%
         Hier die Liste aller Dateien, die w^^e4hrend des \LaTeX-Laufes,
         welcher dieses Dokument erzeugte, verwendet wurden.
         \footnote{genauer: Es ist die Liste aller Dokumente, die
            einen \LaTeX-Lauf fr^^fcher verwendet wurden. Aber nach
            einigen L^^e4ufen sollte sich die Liste stabilisieren.}
      }
      \renewcommand*\fileListName{Liste der Dateinamen}%
      \renewcommand*\fileNameName{Dateiname}
      \renewcommand*\dateName{Datum}
      \renewcommand*\verName{Ver.}
      \renewcommand*\descriptionName{Beschreibung}
   }%
   \addto{\extrasngerman}{%
      \renewcommand*\fileListPreamble{%
         Hier die Liste aller Dateien, die w^^e4hrend des \LaTeX-Laufes,
         welcher dieses Dokument erzeugte, verwendet wurden.
         \footnote{genauer: Es ist die Liste aller Dokumente, die
            einen \LaTeX-Lauf fr^^fcher verwendet wurden. Aber nach
            einigen L^^e4ufen sollte sich die Liste stabilisieren.}
      }
      \renewcommand*\fileListName{Liste der Dateinamen}%
      \renewcommand*\fileNameName{Dateiname}
      \renewcommand*\dateName{Datum}
      \renewcommand*\verName{Ver.}
      \renewcommand*\descriptionName{Beschreibung}
   }%
   \addto{\extrasesperanto}{%
      \renewcommand*\fileListPreamble{%
         Jen listo de \^ciuj dosieroj, kiuj estis uzitaj dum
         la \LaTeX-rulo, kiu produktis tiun \^ci dokumenton.
         \footnote{Pli precize: estas la listo de dosieroj uzitaj
            unu rulon anta\u{u} tiu, kiu produktis tiun \^ci
            dokumenton. Sed kutime post kelkaj ruloj la listo
            devus stabili\^gi.}
      }
      \renewcommand*\fileListName{Listo de dosieroj}%
      \renewcommand*\fileNameName{dosiernomo}
      \renewcommand*\dateName{dato}
      \renewcommand*\verName{versio}
      \renewcommand*\descriptionName{priskribo}
   }%
   \let \dateiliste@babel = \relax%
}%
\@ifpackageloaded{babel}
{%
   \dateiliste@babel%
}%
{%
   \AtBeginDocument{%
      \@ifpackageloaded{babel}{%
         \dateiliste@babel%
      }{%
         \let \dateiliste@babel = \relax
      }%
   }%
}%
\newcommand*{\mainFileToList}{%  \mainFileToList
   \IfFileExists{\jobname.tex} {%
      \begingroup
      \@ifundefined{scantokens}
      {%
         \edef\dateiliste@mainfile{\jobname.tex}%
      }
      {%  ( = \scantokens defined)
         \scantokens
         \expandafter{%
            \expandafter\makeatletter
            \expandafter\edef
            \expandafter\dateiliste@mainfile
            \expandafter{%
               \jobname
               .tex}%
            \makeatother
         }%
         \@expandtwoargs\@removeelement{\dateiliste@mainfile}%
         \@filelist\@filelist
      }
      \xdef\@filelist{%
         \dateiliste@mainfile,\@filelist
      }%
      \endgroup
   }{%
      \relax
   }%
}%
\if@dateiliste@addMain
  \AtEndDocument{\mainFileToList}
\fi
\endinput
%%
%% End of file `dateiliste.sty'.
