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
! Font U/jksymbols/m/n/10=jksymbols10 at 10.0pt not loadable: Metric (TFM) file
not found.
<to be read again>
relax
l.23 Original:$\myvec
{A}\myvec{e}_{1}^{\prime}\dot{\myvec{e}}_{2}^{\prime}$
I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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
mode_setup;
define_pixels(em,cap,sb);
define_corrected_pixels(o);
beginchar("A",1/2em#,cap#,1pt#); "A vector";
pickup pencircle scaled 1/2pt;
z1=(sb-o,1/2h+1sb);
z2=(w-4sb+o,1/2h+1sb);
z3=(w-6sb+o,1/2h+4sb);
z4=(w-8sb+o,1/2h-2sb);
draw z1--z2;
draw z3--z2--z4;
makegrid(0,sb,w/2,w-sb)(0,-1pt,y2,h);
penlabels(1,2);
endchar;
end
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

jksymbols10.mf

Open in Online-Editor
font_identifier := "JKSymbols10";
font_size 10.0pt#;
em# := 10pt#;
cap# := 2.5pt#;
sb# := 1/4pt#;
o# := 1/16pt#;
input jksymbols
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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:
%% LyX 2.1.3 created this file. For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[10pt]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{amsmath}
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage{mathptmx}
\DeclareFontFamily{U}{jksymbols}{}
\DeclareFontShape{U}{jksymbols}{m}{n}{<->jksymbols10}{}
\DeclareSymbolFont{myletters}{U}{jksymbols}{m}{n}
\DeclareMathAccent{\myvec}{\mathord}{myletters}{"41}
\makeatother
\begin{document}
Original: $\vec{A}\vec{e}_{1}^{\prime}\dot{\vec{e}}_{2}^{\prime}$
MeineVersion: $\myvec{A}\myvec{e}_{1}^{\prime}\dot{\myvec{e}}_{2}^{\prime}$
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Das LYX Document

Test.lyx

Open in Online-Editor
#LyX 2.1 created this file. For more info see http://www.lyx.org/
\lyxformat 474
\begin_document
\begin_header
\textclass scrbook
\begin_preamble
\usepackage{mathptmx}
\DeclareFontFamily{U}{jksymbols}{}
\DeclareFontShape{U}{jksymbols}{m}{n}{<->jksymbols10}{}
\DeclareSymbolFont{myletters}{U}{jksymbols}{m}{n}
\DeclareMathAccent{\myvec}{\mathord}{myletters}{"41}
\end_preamble
\use_default_options true
\maintain_unincluded_children false
\language ngerman
\language_package none
\inputencoding auto
\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
\font_math auto
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize 10
\spacing single
\use_hyperref false
\pdf_title "Template"
\pdf_bookmarks true
\pdf_bookmarksnumbered true
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gefragt 21 Sep '16, 13:53

Joker's gravatar image

Joker
31123
Akzeptiert-Rate: 0%

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.

(21 Sep '16, 17:46) Ulrike Fischer

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?

(22 Sep '16, 11:09) Joker

Nachdem du die Dateien kopiert hast, musst du noch ein texhash ausführen, damit die TeX-interne Datei-Datenbank aktualisiert wird. Dann kannst du mit kpsewhich jksymbols10.mf testen, ob sie gefunden wird.

(22 Sep '16, 11:26) crazyhorse

/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?.

(22 Sep '16, 12:58) saputello

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.

Permanenter link

beantwortet 22 Sep '16, 13:01

Joker's gravatar image

Joker
31123
Akzeptiert-Rate: 0%

bearbeitet 26 Sep '16, 18:02

Im Verzeichnisbaum fehlte das fonts Verzeichnis. Ich habe es eingefügt.

(26 Sep '16, 18:04) Joker
Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×49
×15

gestellte Frage: 21 Sep '16, 13:53

Frage wurde gesehen: 7,356 Mal

zuletzt geändert: 26 Sep '16, 18:04

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×