TEX

3. METAFONT. PostScript

Met METAFONT maken we ontbrekende fonts voor scherm of/en printer. Dan kunnen we ook grote koppen zetten. We schuiven met letters: uit elkaar, in elkaar, iets omhoog of omlaag. En we laten TEX PostScript maken, de standaard taal voor computer-gestuurd drukken.

Fonts

METAFONT is net als TEX een groot programma met veel hulpbestanden. Pak de LZH-archieven MF27, INPUTS1 en INPUTS2 op B102 en B103 uit met het Install programma zoals beschreven onder TEX installeren in de Inleiding. Er wordt bij de TEX folder een METAFONT folder aangemaakt met 2 Mbyte files. Het geheel is vanuit Ctex te besturen.

Als nu bij preview of printen ontbrekende fonts gemeld worden, klik dan op Fonts erzeugen in het menu Arbeiten. Er wordt een FTS-file (fontlijst) gemaakt en C MF.PRG wordt gestart. Een scherm vol fontnamen verschijnt. Kies het Device, Bildschirm voor schermfonts, of een printer, bv. Canon BJ-130 (360) voor een inkjet met 360 dpi resolutie zoals de Epson Stylus. Klik dan op Testen welche fehlen onder Liste in het menu Arbeiten. Zoek de FTS-file, volg de aanwijzingen en klik op Fehlende erzeugen onder Liste. C MF regelt verder alles, maakt ontbrekende folders en zet de fonts op hun plaats. Verlaat C MF.

Mocht de fontlijst niet automatisch aangemaakt worden, dan is hij te genereren door -f=show als parameter mee te geven.

Kop, loep

Neem nu een TEX-bestand, b.v. STAP1.TEX, en tik aan het begin

    \font\kop cmr10 at 17.28 true pt

Dit definieert het font ‘kop’ (willekeurige naam), dat 3 keer 20% vergroot is (1.728 = 1.2 × 1.2 × 1.2). Dit kan je vervolgens gebruiken om een kopje te maken met

    {\kop Dit Is Een Titel}

Centreren gaat met

    \centerline {\kop Titel}

Probeer het resultaat op scherm en papier te krijgen; maak zonodig fonts.

Voor het scherm (96 dpi) staat het kopfont in de folder FONT0166 omdat 96 × 1.728 afgerond 166 is. Soms rondt TEX anders af bij het berekenen van de foldernaam; dan komt er een verkeerd font op scherm of printer. Experimenteer dan met de foldernaam, b.v. 0165 i.p.v. 0166.

Met magnification, dat maar éénmaal gebruikt mag worden in het begin van een TEX bestand, is de héle tekst in 17.28 punts font te zetten:

    \magnification 1728

Een groot font is ook te gebruiken als loep om kleine lettertjes groot op het scherm te krijgen. Neem b.v. STAP1.TEX en verwijder eventuele magnification commando’s, zodat het in een 10 punts lettertje op het scherm komt. Kies Drucker in het menu Parameter op en tik

    -v=166

achter Bildschirm. Dan is de preview 1.728 keer vergroot!

Regelafstand

Met het pas gemaakte 17.28 punts font kan natuurlijk ook een langere tekst gezet worden, maar dan moeten we de regelafstand, die normaal op 12 punt staat ingesteld, vergroten. Als dat niet gedaan wordt zet TEX de regels zo dicht mogelijk tegen elkaar.

    {\kop \baselineskip 21 true pt
    . . . lange tekst . . .

} Maak de baselineskip ongeveer 20% groter dan de fontafmeting.

Als je de hele tekst in magnification 1728 zet wordt de regelafstand automatisch vergroot.

Letters schuiven

Bij grote letters ontstaat de behoefte om sommige iets dichter tegen elkaar, of verder uit elkaar, te zetten dan TEX doet. Om 1 punt meer wit tussen twee letters te maken tik je daar het commando \kern 1 pt tussen, en met \kern -1 pt haal je 1 punt wit weg. Dus met

    KOOS K\kern-2pt O\kern-5pt OS

krijg je KOOS KO OS.

Met raise en lower kunnen letters omhoog en omlaag gezet worden, maar dan moeten ze in een box zitten, b.v.

    KO\lower2pt\hbox{O}S

levert KOOS.

Bij kern, raise en lower is het beter geen punten of millimeters te gebruiken maar maten die meeschalen met het font. Dat zijn de em, de breedte van de M, en de ex, de hoogte van de x. Met deze maten verschoven letters kunnnen ook in een ander font gebruikt worden.

Bekijk nu eens:

    T\kern-.1667em\lower-.5ex
        \hbox{E}\kern-.125em X

Het TEX logo!

PostScript

PostScript (PS) is, net als TEX en METAFONT, een computertaal waarin beschreven wordt wat op een pagina afgedrukt moet worden. PS, ontwikkeld door de Amerikaanse firma Adobe, is nu een standaard voor professionele printers en zetmachines. Het is gemakkelijker een drukkerij te vinden die een floppie met een PS-bestand verwerken kan dan eentje die TEX- of DVI-files accepteert.

Geen nood, Tomas Rokicki e.a. hebben een programma geschreven dat DVIin PS-bestanden omzet. DVI PS.TTP is de Strunk-versie van dit programma. Het heeft een paar hulpbestanden nodig, fonts voor de PS printer en véél ruimte omdat PS-bestanden groot zijn. Als je op de TEX page van de ST website klikt op DVI PS krijg je PS.TOS – een zelfuitpakker met de nodige files en het cmr10 font voor een 300 dpi PS printer.

Zet PS.TOS bij de TEX folder (niet erin) en start ’m. Er worden files in de BIN en INPUTS folders gezet. Het font komt in LJ FONTS\FONT0300 – je kunt meer aanmaken met METAFONT door Device Laserjet te kiezen. Het omzetten van een DVI-file naar PS-file gaat dan door te ‘printen’ met de parameters

    -v=300 -o=.ps

Deze PS-file is af te drukken op een PS printer of te bekijken met GhostScript (zie ST59 p.21).

Terwijl TEX sterk is in het zetten van tekst en formules, is PS goed voor figuren. TEX en PS vullen elkaar uitstekend aan. Een figuur in PS kan als volgt in een TEX-bestand verwerkt worden. In het begin van het bestand staat

    \input EPSF

en waar de figuur moet komen staat bv.

    \epsfxsize 58 true mm
    \epsfbox{FIG.PS}

Deze commando’s maken een vbox van 58 mm breed en passen daar de figuur in, beschreven door FIG.PS. In de macro EPSF.TEX (in de INPUTS folder) worden epsfxsize en epsfbox gedefinieerd. De preview, die alleen laat zien wat in TEX beschreven is, toont lege ruimte waar het PS plaatje moet komen.

PS is een taal met vrij eenvoudige maar krachtige commando’s. Een PSbestand wordt meestal niet direct getikt maar automatisch gegenereerd door een grafisch programma. Er zijn voor TOS vele tekenprogramma’s, maar helaas maar enkele (dure CAD) die hun uitvoer als PS-bestand kunnen leveren ipv. direct naar scherm of printer. In een volgende aflevering zal ik terugkomen op het probleem om figuren te zetten met TEX.

Literatuur

Donald E. Knuth, The METAFONTbook. Adobe Systems Inc., PostScript Language, 2 delen: Reference Manual en Tutorial and Cookbook. Alles uitgegeven bij Addison Wesley.

Robert Best