PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schriften aus MiKteX nach TeXLive übernehmen



Stellamaris
10-10-2008, 22:57
Hallo,

ich habe lange Zeit unter Windows MikTeX benutzt und mir über die Zeit hinweg zahlreiche (OTF/PS1-)Schriften nachinstalliert, welche dann auch wunderbar in MikTeX eingebunden und zu verwenden waren. Die Installation habe ich nach diversen Anleitungen und Scripten etc. (z.B.: die (http://www.math.mun.ca/~dapike/opentypefonts.shtml) und die (http://umrg.uwaterloo.ca/cpoile/LaTeX))) durchgeführt. Ich habe aber leider nie ganz verstanden, was ich da eigentlich genau gemacht habe (aber es hat schließlich einwandfrei funktioniert). Daher kann ich diese Vorgehen nicht einfach auf mein neues Problem übertragen:

Aus verschiedenen Gründen (insbesondere da ich sowohl unter Windows als auch unter Linux mit dem gleichen LaTeX-System arbeiten will) möchte ich auf TeXLive (2008) umsteigen und dabei aber meinen Schriftenfundus mitnehmen.
Aus MikTex liegen mir folgende Dateien für jede Schrift vor:
*.tfm
*.pfb
*.enc
*.map
*.fd
Für einige Schriften – die ich nach der Anleitung von Christopher Poile (http://umrg.uwaterloo.ca/cpoile/LaTeX) installiert hatte - liegen mir außerdem auch *.vf-Dateien und Stylefiles (*.sty) vor.

In MikTeX konnte ich nun die Schriften einfach in eine neue Installation oder auf einen anderen PC übernehmen, indem ich einfach
1. die Dateien an Ihren richtigen Platz kopiert habe,
2. die *.map-Datei in der updmap.cfg eingetragen habe,
3. die FileNameDataBase aktualisiert habe und
4. mit »initexmf --mkmaps« was auch immer aktualisiert habe - mehr war nicht nötig.

Meine Fragen sind nun:
1. Da TeXLive nicht gänzlich anders zu laufen scheint, müsste das doch hier prinzipiell ähnlich gehen und ich könnte meine Schrifteninstallationen weiter verwenden – oder sehe ich das falsch?
Was wären dann unter TeXLive die analogen Schritte, um die Schriften »anzumelden«, vor allem
2. in welche Verzeichnisse gehören die Dateien,
3. wo trage ich die *.map Dateien ein und wie aktualisiere ich die »globale map-Liste«?

Ich habe das Ganze übrigens schon anhand einiger, aber leider nicht so ergiebiger (wie für MikTeX) Infos aus diesem und anderen Foren versucht – leider erfolglos.

Ich bin für jeden Hinweis und Tipp dankbar

Carsten

voss
11-10-2008, 08:45
ich habe lange Zeit unter Windows MikTeX benutzt und mir über die Zeit hinweg zahlreiche (OTF/PS1-)Schriften nachinstalliert, welche dann auch wunderbar in MikTeX eingebunden und zu verwenden waren. Die Installation habe ich nach diversen Anleitungen und Scripten etc. (z.B.: die (http://www.math.mun.ca/~dapike/opentypefonts.shtml) und die (http://umrg.uwaterloo.ca/cpoile/LaTeX))) durchgeführt. Ich habe aber leider nie ganz verstanden, was ich da eigentlich genau gemacht habe (aber es hat schließlich einwandfrei funktioniert). Daher kann ich diese Vorgehen nicht einfach auf mein neues Problem übertragen:

*.tfm
*.pfb
*.enc
*.map
*.fd


diese Verzeichnisse gibt es auch unter TeX Live, im Allgemeinen
/usr/local/texlive/texmf-local/fonts/

dahin kopierst du (bis auf .fd) die Dateien.

Die fd-Dateien kommen nach
/usr/local/texlive/texmf-local/tex/latex/myFont/

Jetzt texhash laufen lassen und die Map-Dateien aktivieren mit

updmap enable Map=...map

Danach sollten die Schriften zur Verfügung stehen.

Herbert

Stellamaris
11-10-2008, 23:27
Hallo Herbert, herzlichen Dank die schnelle Antwort!

So oder so ähnlich hatte ich es schon probiert. Gut zu wissen, dass ich nicht ganz falsch lag. Aber nach wie vor funktioniert es nicht - meine Schriften werden durch cm ersetzt.
Ich habe es zunächst nur unter Windows getestet und habe die Dateien wie folgt in das texlive-Verzeichnis kopiert (und mich dabei an den entsprechenden Speicherorten von MikTeX orientiert):
*.enc:
--> ...\texmf-local\fonts\enc\dvips\vendor\*.enc
(!) das Verzeichnis ...\enc\dvips\ musste ich dabei zunächst erstellen

*.map in zwei Verzeichnisse:
--> ...\texmf-local\fonts\map\dvips\fontname\*.map
--> ...\texmf-local\dvips\config\*.map
(!) das Verzeichnis ...\map\dvips\ musste ich dabei zunächst erstellen
(!) das Verzeichnis ...\config\ musste ich dabei zunächst erstellen

*tfm:
--> ...\texmf-local\fonts\tfm\vendor\fontname\*.tfm

*.pfb:
--> ...\texmf-local\fonts\type1\vendor\fontname\*.pfb

*.fd:
--> ...\texmf-local\tex\latex\local\*.fd

Danach habe ich texhash mit folgendem Ergebnis ausgeführt:

f:\Programme\texlive2008DVD\bin\win32>texhash
texhash: Updating f:/Programme/texlive2008DVD//texmf-config/ls-R...
texhash: Updated f:/Programme/texlive2008DVD//texmf-config/ls-R.
texhash: Updating f:/Programme/texlive2008DVD//texmf-var/ls-R...
texhash: Updated f:/Programme/texlive2008DVD//texmf-var/ls-R.
texhash: Updating f:/Programme/texlive2008DVD/texmf/ls-R...
texhash: Updated f:/Programme/texlive2008DVD/texmf/ls-R.
texhash: Updating f:/Programme/texlive2008DVD//texmf-local/ls-R...
texhash: Updated f:/Programme/texlive2008DVD//texmf-local/ls-R.
texhash: Updating f:/Programme/texlive2008DVD/texmf-dist/ls-R...
texhash: Updated f:/Programme/texlive2008DVD/texmf-dist/ls-R.
texhash: Updating f:/Programme/texlive2008DVD/texmf-doc/ls-R...
texhash: Updated f:/Programme/texlive2008DVD/texmf-doc/ls-R.
texhash: Done.

und danach noch updmap enable Map=*.map mit folgendem Output:

f:\Programme\texlive2008DVD\bin\win32>updmap enable Map=zent.map
using config file c:/Users/user/.texlive2008/texmf-var/web2c/updmap.cfg
using dvips output directory `C:/Users/user/.texlive2008/texmf-var/fonts/map
/dvips/updmap'
using pdftex output directory `C:/Users/user/.texlive2008/texmf-var/fonts/ma
p/pdftex/updmap'
using dvipdfm output directory `C:/Users/user/.texlive2008/texmf-var/fonts/m
ap/dvipdfm/updmap'
LW35 => false
dvipsPreferOutline => true
dvipsDownloadBase35 => false
pdftexDownloadBase14 => true
dvipdfmDownloadBase14 => true

updmap is creating new map files using the following configuration:

config file : true
prefer outlines : true
texhash enabled : true
download standard fonts (dvips) : false
download standard fonts (pdftex) : true
download standard fonts (dvipdfm): true
Scanning for LW35 support files
Scanning for MixedMap entries
Scanning for Map entries
mktexlsr: Updating f:/Programme/texlive2008DVD//texmf-config/ls-R...
mktexlsr: Updated f:/Programme/texlive2008DVD//texmf-config/ls-R.
mktexlsr: Updating f:/Programme/texlive2008DVD//texmf-var/ls-R...
mktexlsr: Updated f:/Programme/texlive2008DVD//texmf-var/ls-R.
mktexlsr: Updating f:/Programme/texlive2008DVD/texmf/ls-R...
mktexlsr: Updated f:/Programme/texlive2008DVD/texmf/ls-R.
mktexlsr: Updating f:/Programme/texlive2008DVD//texmf-local/ls-R...
mktexlsr: Updated f:/Programme/texlive2008DVD//texmf-local/ls-R.
mktexlsr: Updating f:/Programme/texlive2008DVD/texmf-dist/ls-R...
mktexlsr: Updated f:/Programme/texlive2008DVD/texmf-dist/ls-R.
mktexlsr: Updating f:/Programme/texlive2008DVD/texmf-doc/ls-R...
mktexlsr: Updated f:/Programme/texlive2008DVD/texmf-doc/ls-R.
mktexlsr: Done.
Files generated:
C:\Users\user\.texlive2008\texmf-var\fonts\map\dvips\updmap\download35.map
C:\Users\user\.texlive2008\texmf-var\fonts\map\dvips\updmap\builtin35.map
C:\Users\user\.texlive2008\texmf-var\fonts\map\dvips\updmap\psfonts_t1.map
C:\Users\user\.texlive2008\texmf-var\fonts\map\dvips\updmap\psfonts_pk.map
C:\Users\user\.texlive2008\texmf-var\fonts\map\pdftex\updmap\pdftex_dl14.map

C:\Users\user\.texlive2008\texmf-var\fonts\map\pdftex\updmap\pdftex_ndl14.ma
p
C:\Users\user\.texlive2008\texmf-var\fonts\map\dvipdfm\updmap\dvipdfm_dl14.m
ap
C:\Users\user\.texlive2008\texmf-var\fonts\map\dvipdfm\updmap\dvipdfm_ndl14.
map
C:\Users\user\.texlive2008\texmf-var\fonts\map\dvips\updmap\ps2pk.map

f:\Programme\texlive2008DVD\bin\win32>

Beides habe ich übrigens mit und ohne admin-Rechte getestet. Wie gesagt, nun wird meine Schrift immer noch durch die Standardschrift ersetzt. Ein LaTeX-Durchgang mit dem Versuch, die Schrift Zent zu verwenden bringt übrigens folgende Fehlermeldung:



...
LaTeX Font Info: Try loading font information for LY1+zent on input line 29.
LaTeX Font Info: No file LY1zent.fd. on input line 29.
LaTeX Font Warning: Font shape `LY1/zent/m/n' undefined
(Font) using `LY1/ptm/m/n' instead on input line 29.
...


Interessanterweise kann ich auch die mapping-Datei der im Beispiel verwendete Schrift „zent“ in keiner der globalen updmap-Dateien finden – die wurden ja aber von „updmap enable Map=zent.map“ neu erstellt/ aktualisiert. Liegt da vielleicht schon das Problem?

Hast du Herbert – oder jemand anderes – eine Idee?

1000Dank,
Carsten



PS: Unter Linux (ich verwende Kubuntu 8.04.1) sieht die Verzeichnissstruktur nochmal anders aus: „/usr/local/texlive/texmf-local/fonts/“ gibt es nicht, nur „/usr/share/texlive-base“ „/usr/share/texlive-bin“,„/usr/share/texmf“ und „/usr/share/texmf-texlive“.
Das „texmf-local“ wird offenbar durch eine „texmf“ in meinem home-Verzeichnis ersetzt. Aber dieses wird schon mal nicht von texhash abgegrast (zumindest laut Output von texhash). Wegen dieser zusätzlichen potentiellen Fehlerquellen werde ich es wohl lieber erst einmal unter Windows weiter probieren.

Stellamaris
14-10-2008, 22:46
Ich habe das Problem lösen können und alle meine Schriften in TeXLive integrieren können. Für alle, die sich mit ähnlichen Problemen rumschlagen, hier noch kurz meine Lösung.

Herbert hatte völlig Recht. Bei mir hatte es nur nicht funktioniert, da Windows die Pfade nicht gefunden hat, weil ich nach der Installation Windows nicht neu gestartet hatte und somit den teXlLive-tree noch nicht im Suchpfad hatte.
Die Schriftdateien müssen dann im Detail wir folgt platziert werden:

*.enc:
--> ...\texmf-local\fonts\enc\dvips\vendor\*.enc

*.map in zwei Verzeichnisse:
--> ...\texmf-local\fonts\map\dvips\fontname\*.map

*tfm:
--> ...\texmf-local\fonts\tfm\vendor\fontname\*.tfm

*.pfb:
--> ...\texmf-local\fonts\type1\vendor\fontname\*.pfb

*.vf:
--> ...\texmf-local\fonts\vf\vendor\fontname\*.pfb

*.fd:
--> ...\texmf-local\tex\latex\fontname\*.fd

*.sty:
--> ...\texmf-local\tex\latex\fontname\*.sty

danach in der Eingabeaufforderung:
texhash
updmap-sys --enable Map=*.map

und fertig :-)
So jetzt muss ich es nur unter Linux hinbekommen - aber heute nicht mehr ...