PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Font in TeX Live einbinden funktioniert nicht



Antoras
22-05-2012, 23:04
Hallo,

ich schlage mich seit einiger Zeit damit herum eine Font in meine TeX Live Installation einzubinden.

Die Font um die es geht heißt Arial: ftp://ftp.dante.de/tex-archive/fonts/urw/arial.zip

Ich habe versucht die Inhalte des Archivs unter ~/texmf einzubinden. Die Verzeichnisstruktur sieht dort nun so aus:


|-fonts
|---afm
|---map
|---tfm
|---type1
|---vf
|-tex
|---latex
|-----arial

Die arial.sty unter tex/latex/arial scheint korrekt erkannt zu werden. Beim weiteren kompilieren bekomme ich aber Fehlermeldungen über nicht gefundene Font-Dateien:



!pdfTeX error: /usr/bin/pdflatex (file ua1ri8r): Font ua1ri8r at 417 not found

Die Datei ua1ri8r.tfm existiert im Verzeichnis fonts/tfm. Das hängt vermutlich damit zusammen, dass die Verzeichnisstruktur in ~/texmf/fonts nicht ganz richtig ist. Ich hab bis jetzt aber nicht herausgefunden wie sie richtig sein soll. Die README des arial-Pakets scheint auch veraltet zu sein, da der dort vorgestellte Aufbau nicht funktioniert.

Kann mir jemand sagen wie das richtig gemacht werden muss?

PS: Nach dem Einbinden des Fonts hab ich noch folgende Befehle ausgeführt:

updmap-sys --enable Map texmf/fonts/map/ua1.map
mktexlsr

bobmalaria
22-05-2012, 23:43
hi,

EDIT: ich war wol zu schnell. es wurde doch irgendwie die schrift nicht eingebunden, obwohl es keine fehlermeldung gibt

die anleitung ist schon irgendwie noch richtig. aber wie du bemerkt hast nicht mehr aktuell...

aber ich habe es zum laufen gebracht.

dazu waren folgende schritte nötig (für miktex 2.9):

1)
einen ordner anlegen. meiner heist test-local. darin die ordner struktur anlegen.

1.1) die dateien aus dem type1 ordner des zip file müssen nach
test-local/fonts/type1/urw/arial
1.2) dateien aus dem afm ordner des zip file müssen nach
test-local/fonts/afm/urw/arial
1.3) die dateien aus dem latex ordner des zip file müssen nach
test-local/tex/latex/arial

anschließend muss man dies ordner miktex bekannt machen. das geht über
start->programme->miktex2.9->maintanance->settings
und dort in den tab "Roots" gehen. den ordner test-local auswählen und "übernehmen" klicken.

2)
jetzt kommt ein teil der in der anleitung veraltet ist. um die map zu aktualisieren gibt man jetzt in einer kommandozeile/eingabeaufforderung
(oder Start->ausführen) diesen befehl ein


initexmf --edit-config-file updmap

dort dann


Map ua1.map

eintragen, speichern und die datei schliessen. anschließsend in der eingabeaufforderung

initexmf -u
und im anschluss

updmap

aufrufen.

dann mit einem testdokument testen


\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{uarial}

\begin{document}
Hallo World
\end{document}


gruss

Antoras
23-05-2012, 00:32
Zu 1.: Wo hast du denn die restlichen Dateien aus dem Archiv platziert (also map,tfm,vf)?

initexmf scheint ein Programm von miktex zu sein - bei mir existiert es nicht. Mit mktexlsr und updmap kann ich zumindest die Dateien ins System einbinden. Gefunden werden die Fonts trotzdem nicht...

u_fischer
23-05-2012, 09:56
Kompiliere mal ein beliebiges Dokument (ohne die Schrift) mit pdflatex und zeig den Pfad der pdftex.map, der bei dir benutzt wird (steht am Ende der log-Datei).

Antoras
23-05-2012, 13:33
Ich hab sowohl mit als auch ohne Zeile 2 und 3 kompiliert. Beide Male konnte ohne Fehlermeldung kompiliert werden. Die uarial.sty wird in dem Testdokument korrekt erkannt. In meinem eigentlichen Dokument erhalte ich aber die schon genannten Fehlermeldungen.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{uarial}

\begin{document}
Hello World
\end{document}



(/usr/share/texmf-dist/tex/latex/base/fontenc.sty
Package: fontenc 2005/09/27 v1.99g Standard LaTeX package

(/usr/share/texmf-dist/tex/latex/base/t1enc.def
File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file
LaTeX Font Info: Redeclaring font encoding T1 on input line 43.
))
(/home/antoras/texmf/tex/latex/arial/uarial.sty
Package: uarial 2006/03/21 1.0 (WaS)

(/usr/share/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
\KV@toks@=\toks14
)) (./test.aux)
\openout1 = `test.aux'.

LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
[1

{/home/antoras/.texlive/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] (./test.
aux) )

u_fischer
23-05-2012, 13:57
/home/antoras/.texlive/texmf-var/fonts/map/pdftex/updmap/pdftex.map

Das ist eine lokale map-Datei die von updmap (nicht updmap-sys) erzeugt wurde. Solche lokalen Dateien haben Vorrang vor den globalen, d.h. du kannst updmap-sys aufrufen solange du willst: Die erzeugten map-Dateien werden ignoriert.

D.h. du musst entweder deine lokalen Dateien aktualisieren:


updmap

oder falls das nicht reicht (ich wäre für eine Rückmeldung dankbar, weil ich gerade versuche rauszufinden, ob das reicht oder nicht):


updmap --enable Map ua1.map

Die Alternative ist die lokalen map-Dateien zu löschen. Schau ans Ende der log-Datei/der Terminalausgabe von updmap, welche Dateien es schreibt und lösche die alle.

Antoras
23-05-2012, 14:50
Super, nun kann ich endlich einen kleinen Erfolg verbuchen!

Nach dem Löschen der von updmap angelegten Dateien in ~/.texlive/texmf-var/fonts/map/pdftex wird in meinem Dokument nun erfolgreich die Arial-Font verwendet.

Allerdings erhalte ich beim kompilieren noch jede Menge Warnungen folgender Art:


-Font shape `OT1/ua1/bx/n' undefined
-Font shape `OT1/ua1/m/n' undefined
Arial kommt wohl nicht mit OT1 klar. Nach dem Einfügen der Zeile

\usepackage[T1]{fontenc}
in meinem Dokument kracht es aber wieder gewaltig:

-Font T1/ua1/bx/n/4.83736=ua1b8t at 4.83736pt not loadable: Metric (TFM) file not found. \begin{document} (followed by: )
-Font T1/ua1/m/n/4.83736=ua1r8t at 4.83736pt not loadable: Metric (TFM) file not found. \begin{document} (followed by: )
-Font T1/ua1/m/n/10.27936=ua1r8t at 10.27936pt not loadable: Metric (TFM) file not found. \begin{document} (followed by: )
-Font \T1/ua1/b/n/4.83736=nullfont not loadable: Metric (TFM) file not found. \begin{document} (followed by: )
Die TFM-Dateien von Arial habe ich in ~/texmf/tfm platziert. Müssen die woanders hin?

PS: Bevor ich die lokalen von updmap angelegten Dateien gelöscht habe hat der Code auch nicht kompiliert. Auch dein 2. vorgeschlagener Befehl brachte keine Besserung.

u_fischer
23-05-2012, 15:07
Die TFM-Dateien von Arial habe ich in ~/texmf/tfm platziert. Müssen die woanders hin?

Ja. Schau nach, wo sich weitere tfm-Dateien Dateien befinden und benutze in ~/texmf/ eine ähnliche Ordnerstruktur.

Antoras
23-05-2012, 16:37
Ok, nachdem ich mir den Aufbau von anderen Verzeichnissen angeschaut und die entsprechenden Dateien in ~/texmf verschoben habe sind nun auch die Warnungen verschwunden.

Die Verzeichnisstruktur sieht nun so aus:


~/texmf
|-fonts
|---afm
|-----urw
|-------arial
|---tfm
|-----urw
|---type1
|-----urw
|-------arial
|---vf
|-----urw
|-map
|-tex
|---latex
|-----arial

Wie zu erkennen liegen die Dateien von Arial alle in einem Unterverzeichnis namens urw. Einzig das map-Verzeichnis scheint keinen besonderen Platz zu benötigen.

Vielen Dank an alle, die mir geholfen haben!