Verwenden von relativen Pfaden in input oder include

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Verwenden von relativen Pfaden in input oder include

von Rokko_11 » Sa 13. Apr 2013, 15:46

Danke für die schnelle Antwort!

Ich habe es ausprobiert und bin leider auf Probleme gestoßen:

Wisst ihr, woran das liegt:

hauptteil.tex:
\import{hauptteil/}{ebene1}

hauptteil/ebene1.tex:
\subimport{ebene1/}{ebene2}

hauptteil/ebene1/ebene2.tex:
\import{ebene2/}{ebene3} % Funktioniert nicht
\subimport{ebene2/}{ebene3} % Funktioniert nicht
\subsubimport{ebene2/}{ebene3} % Gibt es nicht
\input{ebene2/ebene3} % Funktioniert noch

hauptteil/ebene1/ebene2/ebene3.tex:
Hier funktioniert keine Lösung mehr... :(

Einen subsubimport gibt es anscheinend nicht.
Wie löst ihr das so?

Gruß!
Rokko


Edit: ok... ich kann auf erster Ebene noch mit einem include Arbeiten. Das verschiebt das Problem jedoch nur eine Ebene nach unten...

von dknof » Fr 12. Apr 2013, 23:05

Hallo Rokko,

schau Dir das Paket import an, das bietet genau das, was Du suchst
\subimport{kapitel2/}{thema1.tex}
dann in thema1.tex
\input{thema1/satz1.tex}
\subimport{thema1/}{satz2.tex} % alternativ
Gruß
Diether

Verwenden von relativen Pfaden in input oder include

von Rokko_11 » Fr 12. Apr 2013, 18:31

Hallo liebe Texer!

Ich bin auf ein großes Problem gestoßen, welches ich auch nach tagelangem googlen noch nicht lösen konnte.

Ich habe eine weitreichende Ordnerstruktur, mir im Prinzip 1:1 meine Struktur der Gliederung wiederspiegelt:

Beispiel:
Gliederung:
hauptteil
-- kapitel 1
-- kapitel 2
---- thema 1
------ satz 1
------ satz 2
---- thema 2

Ordnerstruktur:
./hauptteil.tex
./hauptteil/kapitel1.tex
./hauptteil/kapitel2.tex
./hauptteil/kapitel2/thema1.tex
./hauptteil/kapitel2/thema1/satz1.tex
./hauptteil/kapitel2/thema1/satz2.tex
./hauptteil/kapitel2/thema2.tex


usw...
Das mache ich, um PHP-Skripte schreiben zu können, welche über alle Dateien und Ordner iteriert und so programmatisch die Dateien anpassen kann.
Und außerdem ist jede datei über ein label eindeutig erreichbar:

\label{hauptteil_kapitel2_thema2_satz1}


Mein Problem nun ist, dass ich gerne relative Pfade verwenden würde, um die Dateien gegenseitig einzubinden.

In thema1.tex steht z.B. drinnen:
\input{hauptteil/kapitel2/thema1/satz2}

Das ist natürlich nervig... viel cooler und weiterverwendbarer wäre es, wenn in thema1.tex nur drin stehen könnte
\input{thema1/satz2}

Dies erzeugt jedoch beim kompilieren einen Fehler, weil anscheinend Latex alle inputs und includes zusammenfügt und später dann im hauptverzeichnis nach der datei "satz.tex" im Ordner "thema1" sucht.

Nun habe ich die Pakete "currfile" und "chapterfolder" ausprobiert.

"chapterfolder" habe ich nicht so ganz verwenden können - es gab mir nie einen Pfad aus.

"currfile" war schon besser, ich konnte tatsächlich alle angegebenen Variablen \currfile, \currfiledir, \currfilebase usw... ausgeben. Jedoch beim input oder include schlug es fehl.

Im Beispiel:
steht in thema1.tex die Zeile
\input{\currfiledir thema1/satz2}

so "verdoppelt" sich irgendwie der Ordner hinter dem Kommando... dann kommt als Fehlermeldung raus, dass
hauptteil/kapitel2/thema1/thema1/satz2.tex
nicht gefunden wurde.
Obwohl das gleiche Kommando ohne das \input-tag korrekt
hauptteil/kapitel2/thema1/satz2.tex
ausgibt.

Hatte jemand von euch auch schonmal das Problem? Wie seid ihr damit fertig geworden?
Habt ihr einen heißen Tipp?

Gruß!
Rokko

Nach oben