6
2

Manchmal werden im Internet Pakete oder Klassen angeboten, die nur aus der fertigen sty- bzw. cls-Datei und ggf. einem Beispiel oder einer Anleitung bestehen. Gibt es eine Möglichkeit, diese ohne umständliche Installation auszuprobieren? Und wenn ich mich dann entschließe, dieses Paket oder die Klasse später doch häufiger verwenden zu wollen, wie kann ich sie dann dauerhaft installieren?

gefragt 02 Mai '14, 02:05

Bes's gravatar image

Bes
2212817
Akzeptiert: 100%

bearbeitet 03 Mai '14, 20:08

esdd's gravatar image

esdd
17.0k83954


Um eine derartige Klasse oder ein derartiges Paket einfach nur einmal auszuprobieren genügt es bei den gängigen TeX-Distributionen, wenn man die sty- bzw. die cls-Datei in das Dokumentverzeichnis kopiert, also in das Verzeichnis auf dem Computer, in dem sich auch die tex-Datei des Testdokuments befindet. Normalerweise haben alle Dateien im Dokumentverzeichnis Vorrang vor Dateien, die in einem TEXMF-Baum installiert sind.

Will man die Klasse bzw. das Paket später regelmäßiger verwenden, so sollte man es entsprechend der Anleitung der TeX-Distribution installieren.

Für TeX-Live

Bei TeX-Live ermittelt man dazu in einem Terminalfenster zunächst die Wurzel des lokalen TEXMF-Baums:

Öffne in Overleaf
kpsewhich -var-value=TEXMFLOCAL

oder des persönlichen TEXMF-Baums:

Öffne in Overleaf
kpsewhich -var-value=TEXMFHOME

Der Unterschied zwischen de beiden Bäumen liegt darin, dass Dateien im persönlichen TEXMF-Baum normalerweise nur dem einen Anwender zur Verfügung stehen, während Dateien im lokalen TEXMF-Baum allen Benutzern des Rechners zur Verfügung stehen. Dafür kann im lokalen TEXMF-Baum ggf. nicht jeder Benutzer Dateien installieren. Daher gehe ich im folgenden aus Gründen der Vereinfachung davon aus, dass der persönlichen TEXMF-Baum verwendet wird.

Nehmen wir an, bei obiger Anweisung wird als Ergebnis ~/texmf zurückgegeben. Um das Paket bzw. die Klasse foo zu installieren legt man nun in diesem Verzeichnis die Unterverzeichnisse tex/latex/foo an. Man hat dann also ~/texmf/tex/latex/foo. In dieses Verzeichnis kopiert man die Klassen- bzw. Paketdatei, hat dann also die Datei ~/texmf/tex/latex/foo/foo.sty bzw. ~/texmf/tex/latex/foo/foo.cls. Da der persönliche TEXMF-Baum (und auch der lokale TEXMF-Baum) in der Voreinstellung von TeX-Live immer komplett durchsucht wird, benötigt man normalerweise kein texhash, damit die Datei gefunden wird. Dies sollte man jedoch kontrollieren:

Öffne in Overleaf
kpsewhich foo.sty

bzw.

Öffne in Overleaf
kpsewhich foo.cls

Wird hier nicht die Datei in ~/texmf/tex/latex/foo ausgegeben, so sollte man zusätzlich einmal

Öffne in Overleaf
texhash ~/texmf

aufrufen.

Damit die Doku oder Beispieldatei von texdoc gefunden wird, falls eine solche existieren, sollte man außerdem das Verzeichnis ~/texmf/doc/latex/foo anlegen und die Doku bzw. Beispieldatei in dieses Verzeichnis kopieren.

Windows-Anwender ersetzen bitte in obigen Pfadangaben für die Verwendung im Windows Explorer oder in CMD.EXE den Slash / durch den Backslash \. Das gilt auch im von kpsewhich zurückgelieferten Verzeichnis. Wenn dieses beispielsweise C:/Dokumente und Einstellungen/BENUTZER/texmf lautet, wäre also im Windows Explorer bzw in CMD.EXE stattdessen C:\Dokumente und Einstellungen\BENUTZER\texmf zu verwenden.

Für MiKTeX

Bei MiKTeX legt man beim ersten Mal ein neue TEXMF-Wurzel an. Gehen wir einfach einmal davon aus, dass diese für all diese einfachen Klassen und Pakete aus dem Verzeichnis C:\Dokumente und Einstellungen\BENUTZER\Eigene Dateien\MiKTeX\mytexmf besteht. Die Wahl des Verzeichnisses ist jedoch frei. Es sollte beim ersten Mal lediglich ein neues noch leeres Verzeichnis sein.

In diesem Verzeichnis legt man nun für eine Klasse oder ein Paket foo Unterverzeichnisse an (im Windows-Explorer geht das einfach mit Rechtsklick in das Verzeichnis und dann Auswahl von Neu → Ordner) bis man C:\Dokumente und Einstellungen\BENUTZER\Eigene Dateien\MiKTeX\mytexmf\tex\latex\foo hat. In dieses Verzeichnis kopiert man nun die Klassendatei foo.cls bzw. die Paketdatei foo.sty.

Falls es eine Anleitung bzw. eine Beispieldatei zu der Klasse bzw. dem Paket gibt, ist es außerdem sinnvoll C:\Dokumente und Einstellungen\BENUTZER\Eigene Dateien\MiKTeX\mytexmf\doc\latex\foo anzulegen und in dieses Verzeichnis die Anleitung bzw. die Beispieldatei zu kopieren.

Über MiKTeX Options (findet man im klassischen Start-Menü von Windows unter MiKTeX → Maintenance → Settings bzw. MiKTeX → Maintenance (Admin) → Settings) trägt man nun diese neue TEXMF-Wurzel, C:\Dokumente und Einstellungen\BENUTZER\Eigene Dateien\MiKTeX\mytexmf auf der Registerkarte Roots ein. Bei der Bestätigung des Dialog wird automatisch die Filename Database erneuert wodurch die Dateien in dem TEXMF-Baum MiKTeX bekannt werden.

Die Reihenfolge des Vorgehens ist sehr wichtig! Sollte man stattdessen erst den TEXMF-Baum bei MiKTeX anmelden und dann Dateien in diesen hineinkopieren, bzw. später in einem bereits früher angelegten TEXMF-Baum ein weiteres solches Paket oder solche Klasse hinzufügen, muss man die Filename Database selbst aktualisieren. Auch dies ist einfach per Klick über MiKTeX Options auf der Registerkarte General über den Knopf Refresh FNDB möglich.

Bei MiKTeX ist außerdem zu beachten, dass im Falle einer Admin-Installation von MiKTeX selbst angelegte TEXMF-Bäume erst nach den automatisch von MiKTeX angelegten TEXMF-Bäumen für benutzerspezifische, automatisch installierte Pakete durchsucht werden. Daher ist diese Methode nicht geeignet, um in diesem Fall automatisch installierte Pakete durch eigene Versionen zu ersetzen. Ggf. sind die entsprechenden automatisch installierten Pakete über den Paketmanager zu entfernen. Benutzerinstallationen von MiKTeX haben dieses Problem nicht.

Permanenter link

beantwortet 02 Mai '14, 02:26

Bes's gravatar image

Bes
2212817

bearbeitet 09 Sep '17, 03:03

saputello's gravatar image

saputello
10.0k53459

1

Also so sehr ich es liebe, dass man in Miktex so einfach neue Texmf-Wurzeln anmelden kann: Für eine Klasse, die nur aus einer Datei besteht, würde ich keinen eigenen Baum erzeugen. Die kopiere ich in meinen von mir bereits angelegten "localtexmf"-Baum und aktualisiere dann die FNDB..

(02 Mai '14, 03:36) Ulrike Fischer
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×120
×46
×37
×11

Frage gestellt: 02 Mai '14, 02:05

Frage wurde angeschaut: 10,352 Mal

Zuletzt aktualisiert: 24 Sep, 16:13