Mit [`texdeps`](http://www.ctan.org/pkg/texdeps) kann man sehr einfach alle Dateien, die für ein LaTeX-Dokument benötigt werden, ermitteln. Es handelt sich dabei um ein perl-Script, das die benötigten Dateien zeilenweise ausgibt. Diese Liste kann man beispielsweise verwenden, um mit `tar` ein Archiv aller benötigten Dateien anzulegen:
<pre>
tar czf project.tar.gz `texdeps main.tex`
</pre>
Dabei ist `main.tar` die Hauptdatei des LaTeX-Dokuments.
Mit Hilfe der `tar`-Option `--strip-compontents` kann man beim Auspacken dann auch dafür sorgen, dass alle Dateien in einem gemeinsamen Verzeichnis landen.
Alternativ kann man auch direkt alle Dateien in ein gemeinsames Zielverzeichnis kopieren:
<pre>
cp -f `texdeps main.tex` zielverzeichnis
</pre>
**Achtung:** Option `-f` sorgt dabei dafür, dass eventuell im `zielverzeichnis` bereits vorhandene Dateien ohne Nachfrage überschrieben werden.
Ähnliches kann man auch mit [`texdepend`](http://www.ctan.org/pkg/texdepend) erreichen. Auch das ist ein perl-Script.
Weitere Möglichkeiten bieten Pakete wie [`myfilist`](http://www.ctan.org/pkg/myfilist). Dieses arbeitet über LaTeX's `\listfiles`-Mechanismus, erlaubt aber die Ausgabe zu konfigurieren. Es kann auch eine Ausgabe in eine getrennte Datei konfiguriert werden. Eventuell kann man so direkt ein Skript generieren oder man wertet die so erzeugte Liste eben über ein entsprechendes Skript aus.
All diese Methoden ermitteln die verwendeten Dateien automatisch. Den Vorteil, dass man keine Datei vergisst und in der Regel keine Abhängigkeiten selbst ermitteln muss, wird durch den Nachteil dabei ist, erkauft, dass der Automatismus nur Dateien erfassen kann, die über bestimmte Anweisungen geladen werden. Ggf. kann man die perl-Scripte aber einfach um die Erkennung für weitere Anweisungen ergänzen. Die `\listfiles`-Methode ist von Haus aus bereits sehr mächtig. Dafür müssen ggf. Dateien, die nicht davon erfasst werden, getrennt behandelt werden.