PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : .cls Datei zentral ablegen?



Retrax
03-03-2006, 12:06
Hallo,

ich hab ein .tex sowie das zugehörige .cls File welches sich im aktuellen Verzeichnis des .tex Files befinden sollte damit der Kompilierungsvorgang funktioniert.

Kann ich das .cls File auch zentraler ablegen, so daß ich nicht jedesmal schauen muss wenn ich das .tex File an einer anderen Stelle öffne daß dieses .cls File mit im selben Ordner ist?


Danke & Gruss

pospiech
03-03-2006, 12:26
Klassen und Pakete gehören in das localtexmf Verzeichnis unter tex/latex/<klassenname>/klassenname.cls

danach musst du die Datenabank neuerstellen lassen. Bei tetex geht das über über "texhash", bei miktex weiß ich es nicht auswendig.

Matthias

Xenara
03-03-2006, 13:23
Was hat es denn mit diesem "texhash"-Befehl auf sich? Und wo geb ich den ein?
Wann muss ich den verwenden? Bei mir fliegen die cls und sty-files einfach in den Ordner und es läuft.
(Mac OS X mit teTeX)

Grüße,
Xenara

pospiech
03-03-2006, 14:45
In welchen Ordner ?
texhash ist ein Befehl den man auf der Konsole eingibt (die gibt es auch in OSX, ist schließlich ein UNIX Derivat)


Matthias

Xenara
03-03-2006, 14:49
Den Ordner Home/Library/texmf/tex.
Und was genau tut texhash? Brauch ich den unbedingt?

pospiech
03-03-2006, 15:43
ich kenne mich mit OSX und tetex (ganz sicher das du nicht xetex benutzt?) nicht aus.

Xenara
03-03-2006, 21:11
Ich hab die Installation von hier:
http://unimac.switch.ch/students/latex-howto.de.html
Bin also sicher, es ist teTeX.

rais
03-03-2006, 21:45
Moin moin,
texhash (d.h. bei teTeX 2 ist's eigentlich ne symbolische Link auf ein Programm namens "mktexlsr" wie in "make TeX ls-R"), und gehört zu teTeX. Es wird dazu benutzt, die Datenbank, in der LaTeX später seine cls/sty Programme drin sucht, anzulegen bzw. zu aktualisieren.
Vielleicht nimmt Dir TeXShop das Aktualisieren ja ab, weswegen Du es nicht direkt brauchst.
Diese Datenbank besteht aus mehreren Dateien "ls-R" (daher der obige Name), die in jedem Hauptverzeichnis laut $TEXINPUTS (naja, eigentlich laut $TEXMFDBS) angelegt wird. Darin wird lediglich aufgeführt, welche Datei in welchem Unterverzeichnis zu finden ist (eine entsprechende Suche geht schneller, wenn man nur n paar Dateien zu durchsuchen hat, als wenn man die kompletten Pfade (für jedes zu ladende Paket) dauernd durchforsten müßte).

Hmm, wenn OSX n UNIX-Derivat ist, dann hättest Du doch einfach
man texhash
aufrufen können (auf der von Matthias bereits erwähnten Konsole) ;)

MfG,

Xenara
03-03-2006, 22:52
Hallo rais, vielen Dank für deine Antwort.
man texhash und das Terminal kenn ich schon, aber die Beschreibung ist sehr kurz gehalten und die Zusammenhänge wurden mir daraus überhaupt nicht klar.

Hast du einen Tip, wie ich rausfinden kann, ob ich das verwenden muss? Wenn ich z.B. ein .sty-file in den besagten Ordner schiebe und in TeXShop einfach nochmal kompiliere, dann funktioniert es sofort, die Datei wird also gefunden.
Wäre dem nicht so, wenn das nicht irgendwie automatisch laufen würde?

Grüße,
Xenara

rais
03-03-2006, 23:48
Hallo Xenara,
genau: wenn Du das Paket da nur hinzulegen brauchst, und TeXShop findet's dann auch, dann brauchst Du Dich um texhash selbst nicht zu kümmern. Wer weiß? Vielleicht macht TeXShop ja einfach texhash, bevor es (pdf)latex aufruft...
Kannst ja interessehalber mal bei Home/Library/texmf/tex/ls-R bzw. Home/Library/texmf/ls-R (eine von beiden gibt's wohl nur) schauen, wann sich die Datei zuletzt geändert hat, nachdem Du ein neues Paket da hingepackt hast.
MfG,

Xenara
04-03-2006, 08:45
Hi rais,

Viele Dank für deine Geduld. Diese ls-R-Datei gibt es sogar mehrmals, zwar nicht mit dem Datum, an dem ich mein letztes .sty-file hinzugefügt habe, sondern datieren von vor einem Jahr.
Hab noch etwas gesucht und es liegt wohl tatsächlich an TeXShop, dass texhash nicht nötig ist.
Man legt 2 bestimmte Ordner an und alle Dateien, die dort drin liegen, werden gefunden.
Mir solls recht sein, solange es funktioniert :)

Viele Grüße,
Xenara

Retrax
04-03-2006, 09:11
Man legt 2 bestimmte Ordner an und alle Dateien, die dort drin liegen, werden gefunden.
Mir solls recht sein, solange es funktioniert :)

super jetzt hab ich es auch verstanden und kann wieder ruhig schlafen :)

Welche 2 Ordner meinst du Xenara?

in Home > Library

die Ordner "texmf" und darin "tex"?

Gruss

Xenara
04-03-2006, 11:21
Tex findet jede Datei in „~/Library/texmf/tex“ oder in einem seiner Unterordner.
Latex findet jede Datei in „~/Library/texmf/tex/latex“ oder einem seiner Unterordner.
(Ebenso verhält es sich mit bibtex und dem Ordner „~/Library/texmf/bibtex“.)