PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Paketverzeichnis temporär wechseln



danielinteract
31-07-2007, 18:25
Hallo zusammen,

ich möchte ein LaTeX-Projekt portabel halten, d.h. man muss es zippen können und dann woanders entpacken und mit makefile kompilieren lassen können.

Nachdem ich schon die manpage zu pdflatex gelesen und dort nichts passendes gefunden habe, frage ich euch: ich möchte ein Unterverzeichnis (!) haben, in dem die Latexpakete sind, die mit dem zipfile verschickt werden. Diese sollen dann auch geladen werden.

Ich hab natürlich schon mit relativen Pfadangaben gearbeitet, d.h.

\usepackage{./Pakete/paket1}
usw., allerdings ist dann das Problem, dass folgende Pakete das paket1 nicht als geladen erkennen, sondern anscheinend nur ./Pakete/paket1.sty als geladen ansehen (?) Z.B. will das subfig-Paket nochmal das caption-Paket laden, obwohl das schon aus dem Pakete-Verz. geladen wurde.

Wie würdet ihr das machen? Sollte ich vielleicht innerhalb des makefiles temporär die Tex-Umgebungsvariablen so ändern, dass das Unterverzeichnis als erstes gesehen wird?
Oder geht es eleganter?

vielen Dank im Voraus,

mfg
Daniel

rais
31-07-2007, 19:22
Moin moin,


ich möchte ein LaTeX-Projekt portabel halten, d.h. man muss es zippen können und dann woanders entpacken und mit makefile kompilieren lassen können.

Plattform? Oder plattformunabhängig?


Nachdem ich schon die manpage zu pdflatex gelesen und dort nichts passendes gefunden habe, frage ich euch: ich möchte ein Unterverzeichnis (!) haben, in dem die Latexpakete sind, die mit dem zipfile verschickt werden. Diese sollen dann auch geladen werden.

Warum lässt Du die Pakete nicht einfach in Deinem Projektordner? Dann stellt sich das Problem gar nicht erst... Und Du kannst ganz einfach per \usepackage{paket1} arbeiten.


Wie würdet ihr das machen?

Pakete, die ich nachinstallieren musste, hab ich bei mir unter $TEXMFHOME -- oder hiess der $HOMETEXMF? -- ~/texmf halt installiert, den pass ich dann bei `Umzug' entsprechend mit an. Manche Pakete sind da bei mir auch schon gar nicht mehr notwendig, wenn ich von teTeX 2 über teTeX 3 auf TeXLive wechsle (z. B. subfig ist bei TeXLive schon mit dabei).


Sollte ich vielleicht innerhalb des makefiles temporär die Tex-Umgebungsvariablen so ändern, dass das Unterverzeichnis als erstes gesehen wird?

Das klingt doch ganz gut -- das Meiste sollte nach einer Anpassung von $TEXINPUTS schon gefunden werden, nur texhash solltest Du dabei nicht vergessen;-)

MfG,

danielinteract
31-07-2007, 19:48
OK, nicht plattformunabhängig, nur unix-alikes sind zugelassen :-)

Ich habs jetzt erstmal mit temporärem Verschieben der sty-Dateien gemacht. Das ist aber nicht wirklich optimal. Schon irgendwie doof, dass latex kein directory-Argument oder so was bietet.

Achja, die stylefiles sollen nicht im Hauptverzeichnis sein, um das Ganze übersichtlich zu halten.

rais
31-07-2007, 20:25
Moin nochmal,

OK, nicht plattformunabhängig, nur unix-alikes sind zugelassen :-)

benutzt Du eigentlich auf einem der Zielrechner den ~/texmf-Ordner? Wenn er noch nicht existiert, wirds recht simpel (ausgehend von einer Konsole, mir der Du in Deinem Projektordner stehst):


pushd .
cd
ln -s /Dein/Projekt/Pakete texmf
popd
texhash
-- und wieder sollte es mit \usepackage{paket1} hinhauen.;)


Achja, die stylefiles sollen nicht im Hauptverzeichnis sein, um das Ganze übersichtlich zu halten.Naja, man kann auch per Maske(n) die Übersicht behalten:
ls *.sty
ls *.tex
...
MfG,

danielinteract
31-07-2007, 20:56
Danke! Leider benutze ich den home-tex-Baum auch schon...

Wahrscheinlich gibt es wirklich nur zwei Möglichkeiten:
entweder die Dateien dahin schieben, wo latex sowieso sucht (also . oder ~/texmf)
oder die Umgebungsvariable so ändern, dass latex auch in dem besagten Unterverzeichnis sucht.

Das mit der Maske stimmt natürlich, aber mit Ordnern finde ich es noch übersichtlicher :-)

rais
31-07-2007, 21:30
Hmm, vllt statt in . gleich in .// suchen lassen (also rekursiv) -- dann kannst Du sogar Deine Bilder (so Du welche hast) per \includegraphics{Bild-sowieso} aufrufen, ohne Dir Gedanken machen zu müssen, in welchem Unterverzeichnis welches Bild nu steckt, so der Name eindeutig bleibt. Und soo viele Unterverzeichnisse hast Du ja nicht, daß sich eine rekursive Suche in Deinem Projektpfad negativ auswirken würde, oder?
MfG,