Schrift- und DB-Werkzeuge

Das sind keine Alltagsbefehle, sondern Wartungswerkzeuge, die eine TeX-Installation konsistent halten. updmap und kanji-config-updmap verwalten, *welche Schriften in das PDF eingebettet werden*, während mktexlsr und fmtutil die Datenbanken und vorkompilierten Formate aktualisieren, auf die TeX angewiesen ist. Sie brauchen sie nach manueller Installation von Schriften oder Paketen oder wenn etwas „nicht gefunden“ wird.

Wartungswerkzeuge reparieren Finden, Einbetten und Starten

TeX-Wartung wird deutlich übersichtlicher, wenn Sie Fehler in drei Schichten aufteilen. Wird eine installierte Datei nicht gefunden, verdächtigen Sie die Dateinamendatenbank. Bettet ein PDF die falschen Schriften ein, verdächtigen Sie die Font-Maps. Kann eine Engine beim Start ihre .fmt nicht laden, verdächtigen Sie die Formatdateien. mktexlsr, updmap und fmtutil reparieren diese drei Schichten jeweils. Entscheiden Sie zuerst, welche Schicht defekt ist, bevor Sie alles ausführen; so bleiben gemeinsam genutzte Rechner und CI-Images berechenbar.

updmap — Font-Maps verwalten

Die DVI-Treiber (dvips, dvipdfmx) und pdftex erfahren aus einer Font-Map, welcher TeX-Schriftname zu welcher tatsächlichen Schriftdatei gehört und wie sie einzubetten ist. updmap erzeugt die kombinierte Map aus aktivierten Map-Dateien und Optionen neu; Sie führen es aus, nachdem Sie die Map einer neuen Schrift aktiviert haben. updmap-sys wirkt auf die systemweite Konfiguration (Administratorrechte nötig), updmap auf die benutzerspezifische Konfiguration und überschreibt dabei die systemweite.

Einstellungen schreiben Sie mit --setoption KEY VALUE nach updmap.cfg, Maps fügen Sie mit --enable Map foo.map / --disable hinzu oder entfernen sie. Ein anschließender Lauf von updmap (oder updmap-sys) wendet die Änderungen an. Die praktische Regel lautet: Benutzer- und Systemeinstellungen nicht mischen. Auf gemeinsamen Maschinen oder in CI standardisieren Sie auf updmap-sys; das einfache updmap bleibt persönlichen Experimenten vorbehalten. So vermeiden Sie den Fehler, dass nur ein Autor andere Schriften bekommt.

terminal
updmap-sys --enable Map myfont.map   # マップを有効化 / enable a map
updmap-sys                           # 合成マップを再生成 / regenerate the maps

kanji-config-updmap — die eingebettete japanische Schrift wählen

Die eingebettete Schrift für Japanisch (CJK) wird im dvi→pdf-Schritt (dvipdfmx) festgelegt. Der einfache Weg zur Auswahl ist kanji-config-updmap (texjporg): Intern setzt es die updmap-Option jaEmbed (früher kanjiEmbed), sucht verbreitete japanische Schriften und schaltet zwischen ihnen um. Mit status sehen Sie die aktuelle Einstellung, mit auto wird automatisch gewählt, oder Sie übergeben einen Familiennamen (z. B. ipaex, hiragino-pron, noto-otc), um dorthin zu wechseln.

terminal
kanji-config-updmap-sys status   # 現在の和文フォントを表示 / show the current font
kanji-config-updmap-sys ipaex    # IPAex フォントを埋め込む設定に / embed IPAex

mktexlsr / texhash — die Dateinamendatenbank aktualisieren

TeX verwendet die Bibliothek kpathsea zusammen mit ls-R-Dateinamendatenbanken, um Dateien in den großen texmf-Bäumen schnell zu finden. Wenn Sie eine Datei von Hand in einen texmf-Baum legen, sieht TeX sie nicht automatisch. Ein Neuaufbau von ls-R mit mktexlsr (Alias texhash) macht die neuen Dateien auffindbar.

terminal
mktexlsr        # ls-R を再構築(= texhash)/ rebuild ls-R (same as texhash)

fmtutil — Formate neu erzeugen

Befehle wie pdflatex laden beim Start eine Formatdatei (.fmt, z. B. latex.fmt). Sie ist ein vollständiger Abzug des Engine-Zustands direkt nach dem Laden des Formats (etwa LaTeX), damit die Engine schnell starten kann, statt jedes Mal alles neu einzulesen. fmtutil erzeugt diese .fmt-Dateien neu. Sie verwenden es nach einer Änderung, die ein Format betrifft, oder wenn eine .fmt fehlt oder beschädigt ist und ein „can’t find the format file“-Fehler erscheint. fmtutil-sys wirkt auf die Systembäume; fmtutil --byfmt latex baut ein einzelnes Format neu, fmtutil-sys --all alle. Es ist nichts, was man nach jeder Paketinstallation ausführt; betrachten Sie es als Wartungswerkzeug für Engine-Startprobleme.

terminal
fmtutil --byfmt pdflatex   # pdflatex の .fmt を作り直す / rebuild just pdflatex
fmtutil-sys --all          # すべてのフォーマットを再生成 / rebuild every format

Die Reparatur in der richtigen Reihenfolge wählen

  • Wenn kpsewhich mypackage.sty eine Datei nicht findet, prüfen Sie, wo sie in TEXMF abgelegt wurde und ob mktexlsr nötig ist.
  • Wenn nur japanische Schriften im PDF falsch sind, prüfen Sie zuerst das aktuelle jaEmbed mit kanji-config-updmap-sys status.
  • Wenn eine neu installierte westliche Schrift falsch ist, prüfen Sie, ob ihre .map mit updmap-sys --enable Map ... aktiviert wurde.
  • Wenn die Engine vor dem Start mit einer Meldung über ein fehlendes Format anhält, bauen Sie nur dieses Format mit fmtutil --byfmt neu.

Wann Sie diese Werkzeuge brauchen

  • Eine Schrift von Hand installiertupdmap (für japanische Einbettung kanji-config-updmap).
  • Dateien oder ein Paket von Hand nach texmf gelegtmktexlsr (texhash).
  • Etwas Formatbezogenes geändert / eine .fmt ist beschädigtfmtutil.
  • Normalerweise ruft der TeX-Live-Manager tlmgr diese Werkzeuge für Sie auf; von Hand starten Sie sie nur zur Wartung.