Samstag, 24. Juni 2006

Meine Übersetzung zu <<fehlende Latex-Fonts>>

Von drpagel, 14:35

Dies ist meine Übersetzung zu diesem Original-Hilfetext zum Programm DVIWIN.EXE Er kann in dviwin.exe aufgerufen werden unter: "Help / Contents / The Options submenu / Missing fonts".

Fehlende Fonts

Mit dieser Eintragung kann man die Maßnahmen bestimmen, die dviwin ergreifen soll, wenn ein Font fehlt. Es gibt drei Auswahlmöglichkeiten (Optionen):
  • (I): die erste ist, keine Maßnahmen zu ergreifen.
  • (II): die zweite Auswahl ist, einen Befehl durchzuführen und den erforderlichen Font zu erzeugen. Dieser Befehl ist normalerweise ein Programm oder Stapelbearbeitungsprogramm (eine Batch-Datei), welches Metafont beauftragt, um den Font zu erzeugen. Nachdem der Befehl durchgeführt worden ist, versucht dviwin noch einmal, den erforderlichen Font zu lokalisieren. Wenn der Befehl erfolgreich war, wird dviwin den Font finden und benutzen.

    Diese Wahl ist sehr nützlich, wenn wir nicht die meisten StandardTeX -Fonts auf Festplatte (/ DVD / CD / Diskette) halten möchten. Die Grundidee ist, mit einem kleinen Satz von Fonts zu beginnen und nur solche zu erzeugen, die wir (tatsächlich) benötigen, falls wir sie antreffen.

    Der Vorteil der Methode ist, daß die benutzten Fonts nur ein kleiner Bruchteil aller TeX-Fonts sind, also sparen wir etwas an Speicherkapazität; der Nachteil ist, daß Metafont ziemlich langsam ist, also können wir durchaus eine Weile warten, wenn es viele fehlende Fonts in einer dvi-Datei gibt. Die dviwin-Verteilung enthält die Beispieldateien „genpk.pif“ und „genpk.bat“, die zeigen, wie man die fehlenden Fonts automatisch erzeugen kann (die entsprechende Datei unter Win-OS/2 ist „genpk2.cmd“).

    Wenn man sich zu dieser Auswahl entscheidet, muß man
    • zuerst Metafont aufrufen, d.h. die korrekten (Betriebssystem-)Umgebungsvariablen einstellen und die Plain-Basis einschließlich der Modusinformationen für verschiedene Geräte erzeugen und
    • dann gftopk aufrufen , und die Beispielakte „genpk.bat“ (oder „genpk2.cmd“) ändern um die erzeugten Fonts an der passenden Position zu speichern, damit dviwin sie finden kann.
    Etwas Benutzerkundenbezogenheit erbringt die besten Resultate und das ist ein Grund, weswegen genpk.bat (oder genpk2.cmd) Batch-Dateien anstelle von kompilierten Programmen sind. Das Programm schaltet rechtzeitig vor der Durchführung des spezifizierten Befehls zum durch die TEMP-(Betriebssystem-)Umgebungsvariable spezifizierten Verzeichnis um (man kann dieses in der Batch-Datei überschreiben).

    Es gibt eine Sache, die einem bewußt sein sollte: nachdem dviwin den gewünschten Befehl durchgeführt hat, sucht es wieder nach dem Font nur im PK Format,
    aber es liest keine FLI-Dateien neu; wenn durch ihren Batch-Datei-Aufruf die FLI-Dateien hergestellt oder aktualisiert werden, verwende man den Befehl "Reset all Fonts (Setze alle Fonts zurück)"
    aus dem „Options (Auswahl)“ Untermenü, um dviwin zu zwingen, die FLI-Dateien neu einzulesen.

    Die oben genannte Auswahl kann auf einigen Maschinen zu langsam sein; abgesehen von diesem kann sie möglicherweise unter bestimmten Umständen nicht sehr gut arbeiten (z.B. beim Lauf der 16Bit-Version des Programms unter Windows-NT oder der 32Bit-Version unter regulärem Windows); in jenen Fällen wartet dviwin nicht, bis Metafont fertig durchgeführt ist und wird mehrfache Kopien von Metafont anlegen, wenn es mehr als einen vermißten Font gibt.
  • (III): die dritte Auswahl versucht, diese Probleme zu verhindern; du spezifizierst sowohl einen Befehl, der ausgeführt werden soll, als auch den Namen einer Batch-Datei. Dann fügt dviwin gerade diesen Befehl der Batch-Datei hinzu. Auf diese Weise kannst du einige Fontserzeugungsanträge (/ -anfragen / -aufträge) sammeln und die Batch-Datei über Nacht laufen lassen. Dviwin versucht, sicherzugehen, daß es keine doppelten Fontsanträge gibt; dies ist nicht immer erfolgreich, aber genpk.bat (oder genpk2.cmd) führt einen weiteren Test durch, der alle verbleibenden doppelten Anträge (wieder) "stornieren" sollte. Die letzte Eintragung unter dieser Methode akzeptiert einen Befehl, welcher, nachdem all die fehlenden Font-Anträge für ein gegebenes Dokument angesammelt worden sind, ausgeführt werden soll. Falls dieses Feld leer ist, dann läßt man die Batch-Datei zu seiner Bequemlichkeit manuell laufen. Wenn dieses Feld nicht leer ist, dann führt dviwin den spezifizierten Befehl durch und man kann das Dokument während der Fonts-Erzeugung noch in einer Vorschau ansehen.

  • Hier sind die passenden Befehle für verschiedene Umgebungen (Betriebssysteme / OS):
    Betriebssystem(-umgebung) Befehl
    Windows 3.x genall.pif $(TEMP)\missing.bat
    Windows NT genall.pif $(TEMP)\missing.bat
    Win-OS/2 genall2.cmd $(TEMP)\missing.cmd
    Meine Anmerkung: TEMP hat die Bedeutung eines vorübergehenden, temporären Ordners.

    Unter dem Betriebssystem Win-OS/2 ist es nötig, dass man auch das "File"-Feld mit "$(TEMP)\missing.cmd" anstatt mit "$(TEMP)\missing.bat" besetzt. Nachdem diese Batchdateien alle Fonts erzeugt haben, benutze man den Befehl „Reset all Fonts (Zurückstellen aller Fonts)“ im "Options"-Unternenue, um die korrekten Fonts zu lesen. Dieses kann unter bestimmten Umständen auch automatisch getan werden: der Befehlszeilenschalter “- r " weist dviwin an, um die Fonts zurückzusetzen. Folglich kann die Batch-Datei (zumindest theoretisch) den Befehl „dviwin -r“ herausgeben, wenn alle Fonts erzeugt worden sind. In der Praxis arbeitet dieses Verfahren nicht unter normalem Windows, weil DOS-Batchdateien nicht Windows-Programme anrufen können. Es kann jedoch arbeiten, wenn man die Batchdatei in einer der Windows-scripting-Sprachen neu schreibt. Die Windows-Umgebungen NT und OS/2 haben keine solchen Beschränkungen, also funktionieren dort "genallnt.bat" und "genall2.cmd" richtig (man kann dviwin im nahtlosen Modus unter OS/2 laufen lassen).

    Und hier steht das für Anwender wie mich Wichtigste:
    Die Ausführung des Befehls in den letzten zwei Auswahlmöglichkeiten (II, III) ist wirklich nur eine Schablone, in der die folgenden speziellen Symbol-Sequenzen durch die passenden Werte ersetzt werden müssen:
    $f Fonts-name (maximal bis zu 8 Buchstaben)
    $x Horizontalauflösung
    $r Horizontalauflösung (selber Wert wie oben)
    $y Vertikale Auflösung
    $X Niedrige horizontale (Mindest-)Auflösung
    $Y Niedrige vertikale (Mindest-)Auflösung
    $m Magstep
    $(xxx) Inhalt der Umgebungsvariablen „xxx“
    ${xxx} Selber Wert wie $(xxx)
    $d Laufwerks-Buchstabe des die dvi-Datei enthaltenden Verzeichnisses
    $p Pfadname (ohne den Laufwerksbuchstaben) des Verzeichnisses, welches die dvi-Datei enthält
    $e Extension (Dateityp) der Metafont-Ausgabedatei (maximal bis zu 3 Buchstaben)
    Wenn man Fonts gleichzeitig (synchron) erzeugt (d.h. man verwendet "genpk.bat" anstelle von "genall.bat"), dann kann man den fonterzeugenden Prozeß unterbrechen, indem man die Tastenkombination <strg>-Taste + <pause>-Taste gleichzeitig drückt. Dviwin stellte dann die Fonterzeugungsmethode ein und verhält sich dann wie unter der Option (I) „keine Maßnahmen ergreifen“, versucht also, keine anderen Fonts zu erzeugen. Man muss dann noch etwas auf Metafont warten, bis es die Bearbeitung des gegenwärtigen Fonts beendet hat. (dp)

    [Kommentare (0) | Permalink]


    Kostenloses Blog bei Beeplog.de

    Die auf Weblogs sichtbaren Daten und Inhalte stammen von
    Privatpersonen. Beepworld ist hierfür nicht verantwortlich.