Aus ästhetischen Gründen möchte ich für den Vektor Pfeil einen eigenen Font verwenden. Wenn ich diesen Font in einem Beispiel LYX-Dokument verwende erhalte ich jedoch folgenden Fehler: Open in Online-Editor
Interessant ist: Wenn ich das LYX Dokument nach PDFLATEX exportiere, dann mit texworks öffne und mit pdflatex übersetze, erhalte ich ein PDF. Es geht also prinzipiell. Wie kann ich nun ohne diesen Umweg LYX dazu bringen meinen Font zu finden und zu laden. Hier alle Details für den Repro: (Alle Dateien befinden sich übrigens im selben Verzeichnis) Mein Font befindet sich in den beiden Dateien jksymbols.mf Open in Online-Editor
jksymbols10.mf Open in Online-Editor
Die tfm Datei erzeuge ich daraus durch folgende Aufrufe (Was ich eintippe ist fett): mf jksymbols10.mf gftodvi jksymbols10.2602gf tex testfont name of the font to test = jksymbols10 *bye Das funktionierende LATEX Dokument test.tex Open in Online-Editor Code, hier editierbar zum Übersetzen:
Das LYX Document Test.lyx Open in Online-Editor
|
Vielen Dank für die hilfreichen Kommentare von Ulrike und 'crazyhorse'. Ich fasse das alles mal zu einer Antwort zusammen. TEX/LATEX sucht die benötigten Dateien im aktuellen Arbeitsverzeichnis und in seinem Verzeichnisbaum. Dort müsen sie allerdings vorher registriert sein. Wie Ulrike richtig angemerkt hat verwendet LYX als Arbeitsverzeichnis irgendein temporäres Verzeichnis, so dass man die mf und tfm Dateien dort nicht vorher hinstellen kann. Beim direkten pdflatex Aufruf über texworks funktioniert es hingegen, denn dann ist das Arbeitsverzeichnis identisch mit dem aktuellen Verzeichnis und da habe ich ja alle Dateien stehen. Das Kopieren der mf und tfm Dateien nach /usr/share/texlive/texmf-dist/fonts/tfm/public war zwar schon besser, aber dann hätte ich dieses Verzeichnis nach dem Hinweis von 'crazyhorse' mit texhash bzw. mktexlsr noch registrieren müssen. Mit diesen Hinweisen und weiterer Internet Recherche bin ich jetzt zu folgender allgemeiner Arbeitsanweisung gekommen. 1) Ermitteln des texmf-local Verzeichnisses der verwendeten TEX Distribution Für TEXLIVE: kpsewhich --var-value TEXMFLOCAL Ergab bei mir /usr/local/share/texmf Für MIKTEX siehe https://www.tug.org/fonts/fontinstall.html 2) Im ermittelten Verzeichnis das Verzeichnis fonts anlegen. Darunter tfm/public anlegen und das/die tfm Dateien dorthin kopieren sowie unter fonts auch source/public anlegen und das/die mf Dateien dorthin kopieren. Anschließend den gesamten erzeugten Verzeichnisbaum mit chmod -R 777 /usr/local/share/texmf beschreibbar machen. (Ansonsten hat sich bei mir mktexlsr beschwert.) Der erzeugte Baum sieht bei mir z.B. so aus: /usr/local/share/texmf /usr/local/share/texmf/fonts /usr/local/share/texmf/fonts/tfm/ /usr/local/share/texmf/fonts/tfm/public/ /usr/local/share/texmf/fonts/tfm/public/jksymbols10.tfm /usr/local/share/texmf/fonts/source /usr/local/share/texmf/fonts/source/public/ /usr/local/share/texmf/fonts/source/public/jksymbols.mf /usr/local/share/texmf/fonts/source/public/jksymbols10.mf 3) Aufrufen von mktexlsr (oder texhash) Danach konnte ich mein LYX Test-Dokument übersetzen. Für MIKTEX muss man dann analog laut der Beschreibung in https://www.tug.org/fonts/fontinstall.html vorgehen. Im Verzeichnisbaum fehlte das fonts Verzeichnis. Ich habe es eingefügt.
(26 Sep '16, 18:04)
Joker
|
Wenn ich raten soll: Ich nehme mal an, du hast deine Schrift im Dokumentenordner. Für pdflatex ist das fein, aber Lyx kopiert das Dokument in einen temporären Ordner und kompiliert dort und dann ist die Schrift nicht da. Du solltest die Schrift daher korrekt in einem lokalen texmf-Baum installieren.
Hallo Ulrike, wie funktioniert 'korrekt installieren'? Was ich vor meiner Anfrage schon probiert hatte, war das Kopieren meiner beiden .mf Dateien, der .tfm Datei und der .xxxpk Dateien nach /usr/share/texlive/texmf-dist/fonts/tfm und ....fonts/tfm/public Das hat aber auch nicht geholfen. Wo sucht LATEX nach tfm files oder wie bringe ich LATEX dazu an einer bestimmten Stelle zu suchen?
Nachdem du die Dateien kopiert hast, musst du noch ein
texhash
ausführen, damit die TeX-interne Datei-Datenbank aktualisiert wird. Dann kannst du mitkpsewhich jksymbols10.mf
testen, ob sie gefunden wird./usr/share/texlive/texmf-dist
ist dafür der falsche TEXMF-Baum. Siehe dazu Wie kann ich Klassen oder Pakete verwenden, die nur als einzelne Datei bereitgestellt werden?.