home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 22 gnu
/
22-gnu.zip
/
mfb5.zip
/
EMTEX
/
DOC
/
GERMAN
/
METAFONT.DOC
Wrap
Text File
|
1994-07-26
|
18KB
|
583 lines
==============================================================================
METAFONT.DOC für METAFONT 2.71 [3c-beta5] VERSION: 25-Jul-1994
==============================================================================
Inhalt
======
1 Einleitung
2 Installation der Beta-Test-Version
3 Aufruf von METAFONT
3.1 Programmversionen
3.2 Kommandozeile
3.3 Optionen
3.4 Anführungszeichen in der Kommandozeile
4 Automatischer Aufruf eines Editors
5 Environment-Variablen
6 Verzeichnisse
7 Aufbau der Text-Eingabedateien
8 Grafikausgabe
9 Entstehungsgeschichte
9.1 2.71 [3c-beta5]
9.2 2.71 [3c-beta4]
9.3 2.71 [3c-beta3]
9.4 2.71 [3c-beta2]
9.5 2.71 [3c-beta1]
1 Einleitung
============
METAFONT berechnet Bitmap-Zeichensätze aus .mf-Dateien, welche die
Zeichen mathematisch beschreiben.
Ein Coprozessor wird nicht benötigt und hat keinen Einfluß auf die
Rechengeschwindigkeit.
2 Installation der Beta-Test-Version
====================================
1. OS/2-Anwender: Wenn Sie bereits emx.dll verwenden (z.B. für tex386
oder für GNU Emacs), sollten Sie darauf achten, daß Sie immer die
neueste Version verwenden. Wenn sich auf Ihrer Platte bereits
eine emx.dll-Version befindet, die neuer als die bei METAFONT
mitgelieferte ist, sollten Sie verhindern, daß die Version auf
Ihrer Platte überschrieben wird.
2. Auspacken wie üblich, z.B.:
pkunzip -d -o a:mfb5 c:\
oder
cd \
unzip -o a:mfb5
3. Für die Verwendung von mf386 unter OS/2 2.x muß die
LIBPATH-Anweisung in der Datei config.sys auf dem Boot-Laufwerk
durch c:\emtex\dll ergänzt werden, wobei natürlich der richtige
Laufwerksbuchstabe eingesetzt werden muß. Diese Änderung wird erst
nach dem nächsten Start des Systems beachtet. Zur Verhinderung
von Verwirrung sollten Sie nur eine Fassung von emx.dll auf Ihrer
Platte haben.
4. Für die Online-Hilfe von mfpm (Grafische Ausgabe unter OS/2) muß
das Verzeichnis \emtex\help in der Environment-Variablen HELP
aufgeführt werden, die in config.sys gesetzt werden muß. Beispiel:
SET HELP=C:\OS2\HELP;C:\EMTEX\HELP
5. Beachten Sie \emtex\doc\emx.doc für mf386.
6. mf286.exe und bmf286.exe können gelöscht werden -- diese wurden in
dieser Version durch mf186.exe und bmf186.exe ersetzt.
7. Neue base-Dateien erzeugen. Hierzu werden die Batchdateien
bas.cmd und bas.bat in den Verzeichnissen \emtex\mfbases und
\emtex\bmfbases verwendet. Die base-Dateien sind zwischen mf386
und bmf (bmf186, bmfp) austauschbar.
3 Aufruf von METAFONT
=====================
3.1 Programmversionen
---------------------
Je nach Prozessor, Betriebssystem und Komplexität der zu bearbeitenden
Zeichensätze können verschiedene Programmversionen verwendet werden.
Programm │ Größe │ DOS │ OS/2 │ 8088 │ 80186 │ 80286 │80386
───────────┼───────┼─────┼──────┼──────┼───────┼───────┼─────
mf.exe │ std │ X │ - │ X │ X │ X │ X
mfp.exe │ std │ - │ X │ - │ - │ X │ X
mf186.exe │ std │ X │ - │ - │ X │ X │ X
mf386.exe │ big │ X │ X │ - │ - │ - │ X
bmf.exe │ big │ X │ - │ X │ X │ X │ X
bmfp.exe │ big │ - │ X │ - │ - │ X │ X
bmf186.exe │ big │ X │ - │ - │ X │ X │ X
Hierbei ist zu beachten, daß mf186.exe etwas schneller als mf.exe
ist und etwas weniger Speicher benötigt. Ebenso ist bmf186.exe etwas
schneller als bmf.exe und benötigt etwas weniger Speicher. Die Spalte
`80186' in obiger Tabelle gilt auch für die Prozessoren V20 und V30.
Die big-Versionen bieten den vierfachen Speicherplatz, sind aber
mit Ausnahme von mf386.exe (also bmf.exe, bmfp.exe und bmf186.exe)
deutlich langsamer als die std-Versionen und benötigen mehr Speicher.
mf386.exe ist deutlich schneller als alle anderen Programmversionen.
3.2 Kommandozeile
-----------------
Die Kommandozeile von METAFONT sieht unter DOS wie folgt aus:
<mf> [<options>] [&<base>] [<input_file>] [<MF_commands>]
Unter OS/2 ist bei Verwendung von cmd.exe vor das Zeichen `&' ein `^'
zu setzen:
<mf> [<options>] [^&<base>] [<input_file>] [<MF_commands>]
Für <mf> ist der Programmname (z.B. mf386) einzusetzen.
Alle Argumente in der Kommandozeile nach den Optionen (siehe unten)
werden als erste Eingabezeile für METAFONT interpretiert. Die erste
Eingabezeile ist die mit der Eingabeaufforderung `**'; bei dieser
Zeile kann mit `&base' eine base-Datei geladen werden kann. Wenn Sie
über die Kommandozeile ein Anführungszeichen an METAFONT übergeben
wollen, so müssen Sie `\"' eingeben. Wenn Sie einen Dateinamen
in der Kommandozeile angeben, müssen Sie folgendes beachten:
Da METAFONT das Zeichen `\' speziell auffaßt (Leeroperation),
müssen Sie als Verzeichnistrennzeichen das Zeichen `/' verwenden.
Da von dieser METAFONT-Version das Zeichen `/' am Anfang eines
Kommandozeilenarguments als Anfang einer Option betrachtet (wenn
das Betriebssystem nicht so eingestellt ist, daß `-' für Optionen
verwendet wird), müssen Sie, falls der Dateiname mit `/' beginnt, die
Laufwerksbezeichnung voransetzen.
Richtig:
mf d:/mymf/meinfont
Falsch:
mf /mymf/meinfont
mf \mymf\meinfont
mf d:\mymf\meinfont
3.3 Optionen
------------
Alle Optionen werden mit `-' oder `/' eingeleitet. Optionen werden
durch Leerzeichen getrennt oder umittelbar von einer weiteren Option
gefolgt, die dann aber mit `/' beginnen muß. Wenn Ihr Betriebssystem
so eingestellt ist, daß `-' statt `/' für Kommandozeilenoptionen
verwendet wird, können Sie Optionen nur durch `-' einleiten und
Optionen müssen durch Leerzeichen getrennt werden. Sie können dann
aber in Pfaden das Zeichen `/' verwenden, z.B.:
mf -i -mp50000 /mymf/mybase dump
Bei normaler Einstellung (`/' für Optionen) sollten Sie
mf /i/mp50000 c:\mymf\mybase dump
eingeben. In dieser Anleitung wird immer `/' verwendet. Groß- und
Kleinschreibung wird zur Zeit nicht unterschieden.
Die folgenden Optionen stehen zur Verfügung:
/8
Zeichen mit Codes 128 bis 254 werden in Eingabedateien akzeptiert.
/a*
Hiermit wird der Name der Datei für den automatischen Editoraufruf
eingestellt. Zwischen `/a' und dem Dateinamen kann `:', `=',
`:=' oder gar nichts stehen. In diesem Dateinamen muß `\' als
Verzeichnistrennzeichen verwendet werden, falls Ihr Betriebssystem
nicht so eingestellt ist, daß `-' für Optionen verwendet wird.
Weitere Informationen: Siehe unten.
/b
batchmode aktivieren.
/d*
Mit dieser Option können spezielle Features abgeschaltet werden.
Für jedes Feature gibt es einen Buchstaben; Sie können nach /d
auch mehrere Buchstaben angeben. Wenn Sie keine Buchstaben, also
nur /d, angeben, werden alle hier erwähnten Features abgeschaltet.
b Interrupt-Handler für Ctrl-Break nicht installieren
e Expanded Memory (EMS) nicht verwenden
u Upper Memory Blocks (UMB) nicht verwenden
x Extended Memory (XMS) nicht verwenden
Diese Option wird von mf386 und den OS/2-Versionen ignoriert.
Beispiel: /deu verhindert die Benutzung von EMS und UMB, aber
nicht die Verwendung von XMS.
/e
errorstopmode aktivieren.
/g*
Grafikadapter einstellen:
/gc CGA 320x200
/ge EGA 640x200 oder 640x350
/gv VGA 640x480.
/gx 1024x768 (nur unter OS/2).
Ohne /g* wird der Grafikadapter automatisch festgestellt. Unter
OS/2 wird mit dieser Option die Fenstergröße eingestellt. mf386
unterstützt keine Grafikausgabe unter DOS.
/i
INIMF (base-Datei erzeugen).
/l
Kleine Priorität setzen, so daß METAFONT fast nur dann läuft, wenn
der Rechner sonst nichts besseres zu tun hat (nur OS/2).
/mp#
Speichergröße für strings einstellen: 20000 bis 65500,
Voreinstellung ist 35000.
/n
nonstopmode aktivieren.
/o
8-Bit-Zeichensatz (Codes 128 bis 254) für Ausgabe zulassen. Wirkt
sich nur in INIMF und sonst bei Verwendung einer mit /o erstellten
base-Datei aus. Ausgabe eines `ä' ohne /o: ^^84, mit /o: ä.
/s
scrollmode aktivieren.
Optionen können auch in der Environment-Variablen MFOPT angegeben
werden, diese werden vor den in der Kommandozeile angegebenen
beachtet.
Falls keine Eingabedatei angegeben wird, müssen die METAFONT-Kommandos
durch `\' eingeleitet werden.
Beispiele:
mf -s &cm \mode=hplaser; input myfont
mf /i plain.ini
3.4 Anführungszeichen in der Kommandozeile
------------------------------------------
Wenn Sie über die Kommandozeile ein Anführungszeichen an METAFONT
übergeben wollen, so müssen Sie \" eingeben, z.B.
mf \smode=\"mymode\"; input cmr10
4 Automatischer Aufruf eines Editors
====================================
Wenn METAFONT einen Fehler feststellt und die Eingabe aus einer
Datei erfolgt, so kann mit `E' ein Editor aufgerufen werden; siehe
The METAFONTbook, Seite 43. Mit /a* kann der Name einer Datei
eingestellt werden, in die die Zeilennummer, der Dateiname der
betreffenden Eingabedatei und der Dateiname der log-Datei geschrieben
wird. Über die Environment-Variable EMTEXED kann eingestellt werden,
was in diese Datei geschrieben werden soll. Dabei steht `%1' für
die Zeilennummer, `%2' für den kompletten Pfadnamen der Eingabedatei
und `%3' für den kompletten Pfadnamen der log-Datei. Mit `%%' kann
ein Prozentzeichen eingefügt werden. Wenn die Environment-Variable
EMTEXED nicht gesetzt ist, wird als Maske
emtexed %1 %2 %3
verwendet. Wenn Sie z.B. den Norton-Editor verwenden, können Sie
set emtexed=ne +%1 %2
angeben. Wird z.B. /a=ed.bat angegeben und wurde in Zeile 172 der
Datei test.mf (Verzeichnis d:\mymf) ein Fehler entdeckt, so sieht
nach Verlassen von METAFONT mit `E' die Datei ed.bat wie folgt aus
(Environment-Variable EMTEXED nicht gesetzt):
emtexed 172 d:\mymf\test.mf d:\mymf\test.log
Um dieses Feature benützen zu können, müssen Sie METAFONT über eine
Batch-Datei aufrufen, z.B. über mfed.bat (bzw. mfed.cmd):
@echo off
rem mfed.bat
if exist mfed2.bat del mfed2.bat
mf /a=mfed2.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
if exist mfed2.bat mfed2
Vorsicht bei Benutzung eines Netzwerks: Hier müssen für jeden Benutzer
verschiedene Batch-Dateien verwendet werden, damit es nicht zu
Konflikten kommt. Sie können hierzu Environment-Variablen benutzen.
Wenn Sie die Environment-Variable EMTEXED nicht benützen, müssen
Sie eine weitere Batch-Datei namens emtexed.bat (bzw. emtexed.cmd)
anlegen, die dann den Editor aufruft.
Nun noch ein Beispiel für die Programmer's WorkBench (und den
Microsoft Editor) unter OS/2. Hier ist es empfehlenswert, den Editor
dauernd geladen zu lassen. Der Aufruf von METAFONT erfolgt mit
folgender Batch-Datei (cmmfed.cmd):
@echo off
rem cmmfed.cmd
set emtexed=%%2 %%1
mfp -a=c:\init\emtexed.m ^&cm %1 %2 %3 %4 %5 %6 %7 %8 %9
Wenn Sie nun für die Programmer's WorkBench folgende Makros definieren
texed:=Arg "c:\\init\\emtexed.m" Setfile Begfile Arg Setfile -> _texed2
_texed2:=Setfile Arg Arg " [0-9]" Psearch -> _texed3
_texed3:=Right Arg Endline Lasttext Mark Arg Refresh Lasttext Mark
btw. für den Microsoft-Editor:
texed:=Arg "c:\\init\\emtexed.m" Setfile Arg Mpage Arg Setfile -> _texed2
_texed2:=Setfile Arg Arg " [0-9]" Psearch -> _texed3
_texed3:=Right Arg Endline " " Emacscdel Mark Arg Refresh Lasttext Mark
und mit
texed:Ctrl+E
einer Taste zuweisen, können Sie durch Drücken von Ctrl+E zur
gewünschten Zeile kommen (das Verzeichnis c:\init muß existieren, die
Datei c:\init\emtexed.m muß existieren, bevor Ctrl+E gedrückt wird).
Für GNU Emacs unter OS/2 2.x sollten Sie
set emtexed=emacsclient +%1 %2
verwenden und beim Start von Emacs das Kommando server-start
ausführen.
5 Environment-Variablen
=======================
BMFBAS
für base-Dateien und mf.pool (big-Versionen)
EMTEXDIR
emTeX-Verzeichnis
EMTEXED
Maske für Editoraufruf (siehe oben)
MFBAS
für base-Dateien und mf.pool (std-Versionen)
MFINPUT
für Eingabedateien
MFOPT
Optionen (siehe oben)
TMP
Verzeichnis für temporäre Daten
6 Verzeichnisse
===============
Die folgenden Verzeichnisse sind voreingestellt:
\emtex\bmfbases
base-Dateien und mf.pool (big-Versionen)
\emtex\mfbases
base-Dateien und mf.pool (std-Versionen)
\emtex\mfinput
für Eingabedateien
Mit den Environment-Variablen BMFBAS, MFBAS und EMTEXDIR können andere
Verzeichnisse eingestellt werden.
In tex.doc finden Sie nähere Angaben zur Suche von Dateien,
insbesondere zu EMTEXDIR, zum rekursiven Durchsuchen von
Unterverzeichnissen und zum Abschneiden von Dateinamen.
7 Aufbau der Text-Eingabedateien
================================
Als Zeilenende werden CR, LF sowie CR/LF erkannt.
Ctrl-Z wird als Dateiendemarkierung behandelt.
8 Grafikausgabe
===============
Grafikausgabe ist unter DOS nur bei Verwendung folgender Grafikadapter
möglich: CGA, EGA, VGA, sowie hierzu kompatible Grafikadapter. mf386
unterstützt keine Grafikausgabe unter DOS.
Unter Presentation Manager (OS/2) erfolgt die Grafikausgabe in einem
zweiten Fenster.
9 Entstehungsgeschichte
=======================
9.1 2.71 [3c-beta5]
-------------------
- Fehler in mfpm386.ovl beseitigt
- Unter OS/2 ist mit /gx die neue Fenstergröße 1024x768 einstellbar
9.2 2.71 [3c-beta4]
-------------------
- Die Maximalzahl der fontdimen-Parameter wurde von 50 auf 64 erhöht
- Die Kommandozeile wird nun sofort nach ** angezeigt
- Abbruch mit Fehlermeldung falls beim Schreiben einer Datei ein
Fehler auftritt
- Seltsames Verhalten von gftopk.exe unter OS/2 korrigiert
9.3 2.71 [3c-beta3]
-------------------
- gftopk.exe unterstützt nun lange Dateinamen unter OS/2
- mf386.exe stürzt beim Versuch, Grafikausgabe unter DOS zu erhalten,
nicht mehr ab
9.4 2.71 [3c-beta2]
-------------------
- Unter OS/2 werden jetzt lange Dateinamen unterstützt -- bitte MFjob
1.1m oder später verwenden
- Dateinamen werden nun anders abgeschnitten: Die 5+3.3-Regel wird vor
der 8.3-Regel angewandt
- Dateien mit Namen die zwei oder mehr Punkte enthalten können unter
DOS weder gelesen noch geschrieben werden
- Das voreingestellte Verzeichnis (z.B. \emtex\mfinput) wird nicht
mehr zusätzlich zu den per Environment-Variable (z.B. MFINPUT)
eingestellten Verzeichnissen durchsucht
- Verzeichnisse können nun rekursiv durchsucht werden. Um eine Ebene
von Unterverzeichnissen zu durchsuchen, fügen Sie `!' an den
Pfadnamen an, um alle Ebenen von Unterverzeichnissen zu durchsuchen,
fügen Sie `!!' an den Pfadnamen an
- Mit der neuen Environment-Variablen EMTEXDIR kann das
emTeX-Hauptverzeichnis geändert werden
- Die Environment-Variable EMTEXDRV und die Kommandozeilenoption /pv
wurden entfernt; Sie sollten stattdessen EMTEXDIR verwenden. Z.B.
können Sie
set emtexdrv=c
durch
set emtexdir=c:\emtex
ersetzen
- Programmschleifen welche keine Bildschirmausgabe erzeugen können
nun mit Ctrl-Break unterbrochen werden. Dies kann mit der
Kommandozeilenoption /db abgeschaltet werden (für Rechner bei denen
Interrupt 1C nicht für diesen Zweck verwendet werden kann)
- mf386 unterstützt nun Grafikausgabe unter OS/2 (mit mfpm386.ovl)
- Vor jeder Eingabe werden nun die Ausgabepuffer geleert. Dies ist
unter OS/2 nützlich, falls die Ausgabe von METAFONT über eine Pipe
weiterverarbeitet wird.
- Die Bildschirmausgabe wurde beschleunigt, insbesondere bei
Verwendung von TeX unter GNU Emacs unter OS/2
- Die Tastatureingabe funktioniert nun unter GNU Emacs unter OS/2
- Problem von mf386 mit VSHIELD /SWAP beseitigt
- Überprüfung, ob V20 oder V30 vorhanden ist, korrigiert (mf186,
bmf186)
- mf386 unterstützt unter OS/2 nun die Option /l
- mfpm hat nun eine Aktionsleiste statt der zusätzlichen Menüpunkte im
Systemmenü
- Die Online-Hilfe für mfpm ist nun in Deutsch und Englisch
verfügbar -- bitte löschen Sie die nicht mehr benötigte Datei
\emtex\help\mfpm.hlp
- mfpm.ovl funktioniert nicht mehr unter OS/2 1.1, es wird nun
mindestens OS/2 1.2 benötigt
9.5 2.71 [3c-beta1]
-------------------
- METAFONT 2.71
- Fehler beseitigt: Wenn die letzte Zeile einer Datei nicht mit CR,
LF oder Ctrl-Z endete, wurde die Fehlermeldung `Buffer overflow'
ausgegeben
- Anzahl der Strings von 2200 auf 2500 erhöht (big-Versionen: 3000)
- mf286.exe durch mf186.exe ersetzt
- mf386.exe
- Unter DOS wird nun Extended Memory (XMS) unterstützt. Falls
vorhanden und vom XMS-Treiber unterstützt, werden nun Upper Memory
Blocks (UMB) verwendet
- Neue Kommandozeilenoptionen:
-de Expanded memory (EMS) nicht verwenden
-du Upper Memory Blocks (UMB) nicht verwenden
-dx Extended memory (XMS) nicht verwenden
-d entspricht -deux
- Switch-Character wird beachtet
- Stack vergrößert
- Parameter max_in_open auf 10 vergrößert.
- Größe der base-Dateien reduziert.
-------- Ende von METAFONT.DOC -------------