Erstellen Sie einen lokalen Texmf-Baum in MiKTeX

Erstellen Sie einen lokalen Texmf-Baum in MiKTeX

In TeX Live gibt es vordefinierte TEXMFLOCALfür Administratoren und Benutzer, aber in MiKTeX ist standardmäßig kein lokaler Baum installiert, obwohl dieser nützlich ist, vgl.TEXMFHOMEtexmfZweck lokaler TexMF-BäumeDeshalb meine Frage:

Wie erstelle ich einen lokalen texmfBaum in MiKTeX?

Antwort1

Tatsächlich können Sie mehr als einen lokalen TeXMF-Ordner anlegen! Eine Beschreibung dazu gibt es bereits in der Online-Dokumentation von MiKTeX, sieheLokale Ergänzungen integrieren, zum Zeitpunkt des Schreibens für das aktuelle MiKTeX 2.9(aber die enthaltenen Bilder stammen aus einer älteren Version, anscheinend MiKTeX 2.5, und sind leicht unterschiedlich, vgl. auchhttp://docs.miktex.org/2.5/manual/localadditions.html)Die Bezeichnung lautet dort „User-Managed TEXMF Directory“(siehe auch zusätzlichen Hinweis ganz am Ende dieser Antwort).

Wie auch immer, hier eine alternative Beschreibung:

  • Erstellen Sie irgendwo auf Ihrem Computer einen Ordner – mit einemwichtige Ausnahme. Esdarf nichtein Unterordner Ihrer MiKTeX-Installation sein (das funktionierte in älteren MiKTeX-Versionen so, wurde aber aus Sicherheitsgründen geändert). Vermeiden Sie nach Möglichkeit Leerzeichen im Pfad, da dies zu Fehlfunktionen führen kann. Für die Verwendung mit MiKTeX Portable muss sich der Ordner natürlich auf demselben Laufwerk wie die MiKTeX-Installation befinden, da er als relativer Pfad gespeichert wird. Hier verwende ich c:\localtexmf.

    Dieser Ordner muss TDS-konform sein (siehe hierzuEine Verzeichnisstruktur für TeX-Dateien); MiKTeX wird sich beschweren, wenn nicht. Was Sie brauchen, hängt davon ab, was Sie in dieses Verzeichnis installieren möchten, zumindest ein tex\latexTeilbaum sollte ausreichen. Sie sind auf der sicheren Seite, wenn Sie die Struktur des(selbst TDS-konform)MiKTEX-Baum, aber Binärdateien können direkt in einen Unterordner verschoben werden c:\localtexmf\bin.

  • Verwenden Sie nun die GUI:

    1. Gehen Sie im Startmenü zum Eintrag MiKTeX und öffnen Sie die Einstellungen – wenn Sie als Administrator agieren, natürlich „Einstellungen (Administrator)“. Das Fenster „MiKTeX-Optionen“ wird geöffnet.

    2. Gehen Sie auf die Registerkarte „Roots“. Klicken Sie auf „Hinzufügen“ und wählen Sie c:\localtexmf\. Wenn es mehr als ein lokales Verzeichnis gibt, können Sie mit den Schaltflächen „Auf“ und „Ab“ die Suchreihenfolge auswählen.

    3. Nun der fast wichtigste Teil: Gehe auf den Reiter „Allgemein“ und klicke dort auf „FNDB aktualisieren“(FNDB = Dateinamendatenbank)In manchen Fällen, insbesondere wenn neue Schriftarten installiert sind, muss man auch die Schaltfläche „Formate aktualisieren“ drücken.

    Wenn Sie diesen Schritt vergessen, waren alle vorherigen Schritte umsonst.

  • Ansonsten über die Kommandozeile (als Admin immer den Schalter hinzufügen --admin):

    Führen Sie aus initexmf --register-root=c:\localtexmf, gefolgt von initexmf --update-fndb(kürzer: initexmf -u).

    (In jedem Schritt können Sie den Schalter hinzufügen, --verboseum weitere Informationen darüber zu erhalten, was passiert.)

    Anmerkung:Aus Kompatibilitätsgründen gibt es auch den älteren Schalter --user-roots=<local-texmf-dir>, der laut initexmf --helpBenutzer-Stammverzeichnisse registriert, ich gehe davon aus, dass dies auch im Administratormodus der Fall ist, aber inhttp://docs.miktex.org/manual/initexmf.htmles wird nicht mehr erwähnt, also muss ich raten.

  • Falls ein binUnterordner für Binärdateien erstellt wurde, sollte dieser in der Umgebungsvariable eingetragen werden%PATH% Vorder Binärdateien-Unterbaum der MiKTeX-eigenen Installation, siehe z. B.So verwalten Sie Umgebungsvariablen in Windows XPoder ein Drittanbieter-Tool wieEnv-ManoderRapidEE. Dann ist ein Systemneustart erforderlich, damit die Änderungen wirksam werden. Ein Problem, das nicht gelöst werden kann: Eine systemweite Umgebungsvariable, die von einem Administrator festgelegt wurde, wird immer vor einer benutzerspezifischen gelesen. Als einfacher Benutzer können Sie dann nur Batchdateien mit einer eigenen %PATH%Umgebungsvariable schreiben und verwenden.

Alle vom Benutzer erstellten lokalen Texmf-Bäume können durch vorübergehendes Entfernen aus den MiKTeX-Wurzeln deaktiviert werden (vgl. zusätzlichen Hinweis am Ende).

Siehe auchWie kann ich ein Paket manuell auf MiKTeX installieren (Windows).

Der Vollständigkeit halber hier eine Beschreibung, wie man einen lokalen TeXMF-Baum aus MiKTeX entfernt, mit c:\localtexmf\einem Beispiel:

  • GUI:
    Gehe in den Einstellungen (Dialog „MiKTeX-Optionen“) erneut auf den Reiter „Roots“, wähle das Verzeichnis aus c:\localtexmf\und klicke unten im Fenster auf „Entfernen“. Anschließend musst du die FNDB erneut aktualisieren und ggf. die Formatdateien aktualisieren.

  • Kommandozeile (auch hier: als Admin den Schalter hinzufügen --admin):
    Ausführen initexmf --unregister-root=c:\localtexmf, gefolgt von initexmf --update-fndb. Wenn Sie eine Schriftart deinstalliert haben, führen Sie zusätzlich aus initexmf --mkmaps. Der --verboseSchalter kann ebenfalls hinzugefügt werden.

  • Wenn Sie den Unterordner nicht binmehr benötigen, muss die Umgebungsvariable %PATH%bereinigt werden.

  • Anschließend kann der Ordnerbaum c:\localtexmf\bedenkenlos gelöscht werden.

Zusätzliche Anmerkung

Ein Hinweis vorab: In der Eingabeaufforderung können Sie z. B. echo %Variable%eingeben . So können Sie sehen, auf welchen Wert sich die Variablen auf Ihrem System erweitern.%Variable%%Userprofile%

Genau der Satz„in MiKTeX ist standardmäßig kein lokaler Texmf-Baum installiert“  in der Frage stimmt nicht. MiKTeX fügt sich mehrere Bäume unter %UserProfile%und im Admin-Modus auch dazu %AllUsersProfile%(im Folgenden steht die MiKTeX-Bezeichnung an erster Stelle):

  • „Benutzerkonfiguration“:%AppData%\MiKTeX\<version>\
  • „UserData“: %LocalAppData%\MiKTeX\<version>\(seit Windows Vista) oder %UserProfile%\<Local Settings>\<Application Data>\MiKTeX\<version>\(bis Windows XP, die Zeichenfolgen <Local Settings>und <Application Data>sind sprachabhängig)
  • nur im Admin-Modus nutzbar„CommonConfig“ und „CommonData“: %AllUsersProfile%\MiKTeX\<version>\(seit Windows Vista) bzw. %AllUsersProfile%\<Application Data>\MiKTeX\<version>\(bis Windows XP, die Zeichenfolge <Application Data>ist sprachabhängig)

Die tatsächlichen Pfade können Sie mit der GUI im Fenster „MiKTeX-Optionen“ unter der Registerkarte „Roots“ oder mit der Befehlszeilenschnittstelle durch Ausführen sehen initexmf --report.

Nachteile all dieser lokalen Bäume: Sie können nur bei der Installation geändert werden, vgl.Ändern des Speicherorts automatisch installierter Pakete in MiKTeX, und sie können nicht deaktiviert werden (durch vorübergehendes Entfernen aus den MiKTeX-Wurzeln).

Weitere Informationen finden Sie unterUnterschied zwischen Verwaltungs- und Benutzermodus von MiKTeX.

Antwort2

Dies ist die Anweisung in neueren Versionen von MikTeX. Zitierte Teile sind unverändert vondie andere Antwort.

  • Erstellen Sie irgendwo auf Ihrem Computer einen Ordner – mit einemwichtige Ausnahme. Esdarf nichtein Unterordner Ihrer MiKTeX-Installation sein (das funktionierte in älteren MiKTeX-Versionen so, wurde aber aus Sicherheitsgründen geändert). Vermeiden Sie nach Möglichkeit Leerzeichen im Pfad, da dies zu Fehlfunktionen führen kann. Für die Verwendung mit MiKTeX Portable muss sich der Ordner natürlich auf demselben Laufwerk wie die MiKTeX-Installation befinden, da er als relativer Pfad gespeichert wird. Hier verwende ich c:\localtexmf.

Welches ist das beste Verzeichnis zum Aufbewahren meiner .sty-Dateien? enthält einige Vorschläge, wo der Ordner platziert werden soll.

Dieser Ordner muss TDS-konform sein (siehe hierzuEine Verzeichnisstruktur für TeX-Dateien); MiKTeX wird sich beschweren, wenn nicht. Was Sie brauchen, hängt davon ab, was Sie in dieses Verzeichnis installieren möchten, zumindest ein tex\latexTeilbaum sollte ausreichen. Sie sind auf der sicheren Seite, wenn Sie die Struktur des(selbst TDS-konform)MiKTEX-Baum, aber Binärdateien können direkt in einen Unterordner verschoben werden c:\localtexmf\bin.

  • Verwenden Sie nun die GUI:
  1. Gehen Sie zu Start → MiKTeX → MiKTeX-Konsole.
  2. Klicken Sie auf „Einstellungen“ (im linken Bereich) → Registerkarte „Verzeichnisse“ → Schaltfläche „+“ → wählen Sie den Pfad aus.
  3. „Aufgaben“ (Menüeintrag) → „Dateinamendatenbank aktualisieren“.
  • Ansonsten über die Kommandozeile (als Admin immer den Schalter hinzufügen --admin):

    Führen Sie aus initexmf --register-root=c:\localtexmf, gefolgt von initexmf --update-fndb(kürzer: initexmf -u).

initexmf --register-root=<path>Beachten Sie , dass es <path>sich um einen absoluten Pfad handeln muss. Er muss also mit c:\oder so etwas beginnen.

(In jedem Schritt können Sie den Schalter hinzufügen, --verboseum weitere Informationen darüber zu erhalten, was passiert.)

verwandte Informationen