Einbinden mehrerer Dateien alphabetisch sortiert Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


Martin96

Einbinden mehrerer Dateien alphabetisch sortiert

Beitrag von Martin96 »

Hallo zusammen,

ich habe folgendes Problem:

Ich will in ein Latex-Dokument andere Dateien (tex oder pdf) alphabetisch sortiert einbinden.

Für durchnummerierte Dateien kann man ja mit einem Zähler und einer Schleife diese einbinden.
Hier ein Beispiel zu Zahlen aus einem anderen Thema:
\listfiles
\documentclass[12pt]{article}
\usepackage{forloop}
\usepackage{ifthen}
\newcounter{ct}

\begin{document}

\begin{enumerate}
\forloop{ct}{1}{\value{ct} < 3}%
{%
   \input{\arabic{ct}}
}
\end{enumerate}


\setcounter{ct}{0}%
\begin{enumerate}
\whiledo{\value{ct} < 9999}{\stepcounter{ct}%
\InputIfFileExists{\arabic{ct}}{}{}%
}
\end{enumerate}

Wieder weiterer Text.

\end{document}
Aber gibt es auch eine Möglichkeit, nach den Anfangsbuchstaben zu sortieren?

Hintergrund ist, dass ich einen Liedzettel erstellen will, bei dem die Lieder einzeln gespeichert sind (das macht Fehlerkorrekturen einfacher und so kann ich neue Lieder einfach durch erneutes Kompilieren einfügen).
Ob ich dafür PDF- Dateien oder Lilypond-Dateien verwende sollte eigentlich keine Rolle spielen.

Gibt es dafür einen Weg? Wenn es einen Befehl gäbe, dass z.B. alle Dateien in einem Ordner eingefügt werden, würde das wahrscheinlich schon reichen.

Und eine Bonusfrage - Könnte man, wenn das funktioniert ein Inhaltsverzeichnis aus den Dateinamen erzeugen? Sonst kann ich auch in den einzelnen Dateien Kapitelüberschriften einfügen (wenn ich tex-Dateien verwende), die sollten erkannt werden, oder?

Vielen Dank im Voraus und viele Grüße!
Martin[/code]

Gast

Beitrag von Gast »

Wenn die Dateien nach dem Schema BuchstabeNummer aufgebaut sind, könnte man natürlich mit einem Zähler arbeiten. Statt einer arabischen Zahl, kann man ja per \alph oder \Alph einen Zähler auch als Buchstabe repräsentieren.

Aber ich vermute einmal, die Dateinamen der Lieder sind eher etwas wie VonGutenMaechten.tex, LetItBe.tex, etc. Da sei darauf hingewiesen, dass TeX selbst keine Verzeichnisoperationen bietet. Man müsste also min. lualatex verwenden, um per Lua-Code die Dateiliste zu erzeugen oder ein externes Programm (unter Windows beispielsweise DIR unter Linux eher ls) verwenden, um die Dateiliste zu erzeugen. Die Dateiliste könnte man dann wiederum beispielsweise mit datatool, pgfplotstable u. v. m. weiterverarbeiten. Auch sortieren wäre dann möglich, ist es aber je nach Vorgehen gar nicht mehr notwendig. Ein Verzeichnis könnte man dann ebenfalls leicht mit tocbasic oder sogar mit imakeidx o. ä. erzeugen.

Siehe auch: Wie kann ich sehr viele tex-Dateien einlesen?

Martin96

Beitrag von Martin96 »

Vielen Dank für die Antwort.

Die Dateien sollen nach den Liedanfängen benannt sein, um sie besser zu finden. Ich hatte gehofft, dass Latex Zahlen- bzw. Buchstabenfolgen vergleichen kann, und man dann aufsteigend von "Aaaaa" bis "Zzzzz" sortiert einbinden kann.

Eigentlich werden Dateien alphabetisch sortiert gespeichert, kann man das nutzen? Wenn es eine Stapelverarbeitung gibt, die oben anfängt, könnte es dann klappen? Leider bin ich programmiertechnisch völlig unterbelichtet.

Dein Link zu texwelt.de scheint genau das zu sein, wie ich es mir vorstelle. Damit werde ich es mal versuchen.

Antworten