Unterordner in Latex-Dokumenten

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


WiuhelmTell
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Fr 20. Jun 2014, 22:20

Unterordner in Latex-Dokumenten

Beitrag von WiuhelmTell »

Guten Abend miteinander

Ich habe folgende Frage, zu der ich bisher keine Antwort gefunden habe.
Eventuell habe ich auch einfach mit falschen Stichwörtern gesucht.
Ich kann mir nämlich nicht vorstellen, dass ich der einzige bin, der eine solche Ordner-Struktur vorzieht:
Für meine Arbeit würde ich folgende Ordnerstruktur vorziehen:

------------------------------------------------------
Arbeitsordner
-Main.tex

-1_0_Einstellungen
--Dokument_Einstellungen.tex
--Einstellungen_Erweitert.tex
--Vorlagen.tex

-2_0_Anfang
--Titelseite.tex
--Abstract_Inhaltsverzeichnis.tex

-3_0_Einleitung
--Einleitung.tex

-4.0_Hauptteil
--Kapitel1.tex
--Kapitel2.tex
--Kapitel3.tex
--Kapitel4.tex
--Kapitel5.tex

-5_0_Schlussteil
--Zusammenfassung.tex

-6_0_Verzeichnisse
--Verzeichnisse.tex
--Anhang_1_Organisatorisches.tex
--Anhang_2_Tests.tex
--Anhang_3_Doxygen.tex
------------------------------------------------------

Dazu muss ich dann folgenden Code in der Main schreiben:
%Einstellungen
\input{1_0_Einstellungen/Dokument_Einstellungen}
\input{1_0_Einstellungen/Einstellungen_Erweitert}
\input{1_0_Einstellungen/Vorlagen}

%Dokument
\begin{document}
\input{2_0_Anfang/Titelseite}
\input{2_0_Anfang/Abstract_Inhaltsverzeichnis}

%Einleitung
\input{3_0_Einleitung/Einleitung}

%Hauptteil
\input{4_0_Hauptteil/Kapitel1}
\input{4_0_Hauptteil/Kapitel2}
\input{4_0_Hauptteil/Kapitel3}
\input{4_0_Hauptteil/Kapitel4}
\input{4_0_Hauptteil/Kapitel5}

%Schlussteil
\input{5_0_Schlussteil/Zusammenfassung}

%Verzeichnisse
\input{6_0_Verzeichnisse_Anhaenge/Verzeichnisse}
\input{6_0_Verzeichnisse_Anhaenge/Anhang_1_Organisatorisches}
\input{6_0_Verzeichnisse_Anhaenge/Anhang_2_Tests}
\input{6_0_Verzeichnisse_Anhaenge/Anhang_3_Doxygen}

\end{document}
Das ist aber sehr umständlich, für jeden input-Befehl den Pfad immer wieder anzugeben. Besonders, wenn in einem Teil dann auch noch automatisch generierte Inhalte (Doxygen) eingefügt wird und deshalb alles abgeändert werden muss...

Gibt es irgend einen Befehl, der das aktuelle arbeitsverzeichnis ändert? So in der Form:
%Einstellungen
\befehlpfad{1_0_Einstellungen}       %Befehl der das Arbeitsverzeichnis auf 1_0_Einstellungen ändert
\input{Dokument_Einstellungen}
\input{Einstellungen_Erweitert}
\input{Vorlagen}

%Dokument
\befehlpfadauf{2_0_Anfang}            %Befehl der das Arbeitsverzeichnis auf 2_0_Anfang ändert
\begin{document}
\input{Titelseite}
\input{Abstract_Inhaltsverzeichnis}

%%%%Und so weiter..............
Ich habe dazu bereits das Paket "Import" angeschaut, aber das funktioniert irgendwie nicht!?!

Ich bedanke mich schon im Voraus für hilfreiche Antworten!!

Freundliche Grüsse

WiuhelmTell

Besserwisser

Beitrag von Besserwisser »

»Funktioniert nicht« ist keine hinreichende Problembeschreibung. Darüber hinaus, kannst Du Dir doch einfach selbst drei Befehle:
\newcommand*\befehlpfad[1]{\renewcommand*\currentimputpath{#1/}}
\newcommand*\imput[1]{\input{\currentimputpath #1}
\newcommand*\currentimputpath{}
definieren und dann \imput statt \input verwenden. Wenn Du \newcommand nicht kennst: Arbeite eine ausführliche LaTeX-Einführung durch. Die Anweisung braucht man einfach!

Bei automatisch erzeugten Dokumenten ist es außerdem doch völlig egal, wie lange die Dateinamen und Pfadangaben in den \input-Befehlen ist. Daher kann ich die Begründung für diesen Wunsch auch nicht nachvollziehen. Bei nicht automatisch erzeugten Dokumenten, erschwert man sich mit aufwändigen Verzeichnisstrukturen nur die Arbeit. Vor zwei Jahrzehnten, hatte ich auch noch einen Hang zu so etwas. Aber flach hat sich mit den Jahren als die deutlich bessere Lösung erwiesen. Allenfalls Grafiken in Unterverzeichnissen kann ich noch gut nachvollziehen.

WiuhelmTell
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Fr 20. Jun 2014, 22:20

Beitrag von WiuhelmTell »

Vielen Dank für die Antwort.

\renewcommand kenne ich schon, nur löst das mein Problem nicht.
Mein Wunsch wäre ein Befehl gewesen, der das aktuelle Arbeitsverzeichnis ändert, so dass ich jeweils wieder \input benutzen kann. Das wäre gerade eben bei automatisch generierten Files wünschenswert, da diese zum Teil bis 50 .tex Files beinhalten. Ein Unterordner würde da mehr Übersichtlichkeit rein bringen.

Falls jemand noch einen Tipp hat, wäre ich sehr dankbar. Sonst werde ich es am Montag als beantwortet markieren.

Schönen Abend

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Hast du den Vorschlag von Besserwisser überhaupt getestet? Der macht doch genau das, was du möchtest. Wenn du das in deine Präambel setzt, kannst du anschließend mit \befehlpfad{<verzeichnis>} das Verzeichnis einstellen, aus dem im folgenden mit \imput{<dateiname>} Dateien eingebunden werden sollen.

Gruß
Elke

WiuhelmTell
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Fr 20. Jun 2014, 22:20

Beitrag von WiuhelmTell »

Ich habe das mit renewcommand bereits versucht, und das funktioniert auch. Nur muss ich dann jedes \input, welches in den automatisch generierten Files sind, umbenennen.
Deshalb dachte ich, das müsse doch sicher einfacher gehen. Aber das ist dann wohl nicht der Fall.

Vielen Dank trotzdem für die Bemühungen.

Besserwisser

Beitrag von Besserwisser »

Die Funktion von \input selbst zu ändern, wäre zwar möglich, ist aber IMO nicht sinnvoll, weil dann auch die \input von Paketen oder LaTeX selbst betroffen wären. Das erscheint mir daher als kein zuverlässiger Ansatz. Aber wie gesagt: Warum lässt Du die Dateien nicht gleich so generieren, wie sie sein sollen, bzw. warum lässt du bei generierten Dateien nicht einfach die Unterverzeichnisnamen mit in den \input-Anweisungen generieren? Wenn man unbedingt Unterverzeichnisse haben will, erscheint mir das als der sinnvollste Weg.

WiuhelmTell
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Fr 20. Jun 2014, 22:20

Beitrag von WiuhelmTell »

Vielen Dank für die Antworten. Ich werde euere Ratschläge befolgen, und auf Unterordner verzichten. Scheint wohl wirklich die einfachste Lösung zu sein.

Freundliche Grüsse

WiuhelmTell

Antworten