Bruchzahlen


%!PS-Adobe-1.0
%%Creator: Holger Gehringer
%%Title: Beispiel fuer Bruchzahlen
%%CreationDate: Mo, 23.11.1998
%%DocumentMedia: A4 595 842 0 () ()
%%Orientation: Portrait
%%Pages: (atend)
%%DocumentFonts: Times-Roman Helvetica
%%EndComments

% Formatierung und Ausgabe von Bruchzahlen.

/Fractiondict 5 dict def         % Lokaler Speicher fuer Fractionshow

/Fractionshow                    % Fractionshow liest zwei Parameter vom Stack:
                                 % je einen String fuer Nenner und Zaehler.
{ Fractiondict begin
    /Denominator exch def        % Nenner

    /Numerator exch def          % Zaehler
    /RegularFont currentfont     % Den normalen, ungeaenderten Font merken.
    def
    /FractionFont currentfont    % Font fuer Bruchzahlen; Originalfont skalieren
    [.65 0 0 .6 0 0] makefont    % um 65% in x- und 60% in y-Richtung
    def
  
    gsave                        % Der Zaehler sollte mit der Oberkante etwa
    newpath                      % Ziffernhoehe erreichen. Dazu wird die Hoehe
    0 0 moveto                   % der '1' berechnet:
    (1) true charpath            % Ermittele Umriss der Ziffer 1
    flattenpath pathbbox         % flattenpath ersetzt alle curveto-Segmente
                                 % durch lineto-Segmente. pathbbox liefert jetzt
                                 % eine Bounding Box, die das Zeichen so dicht
                                 % wie moeglich umschliesst.
    /Height exch def             % Ziffernhoehe
    pop pop pop
    grestore
    0 .4 Height mul rmoveto      % Der Zaehler wird auf 40% der Ziffernhoehe ge-
                                 % setzt, da er selbst auf 60% der normalen
                                 % Schriftgroesse skaliert wurde.
    FractionFont setfont
    Numerator show               % Zaehler ausgeben
    0 .4 Height mul
    neg rmoveto                  % Zurueck zur Grundlinie
    RegularFont setfont          % Normalschrift einstellen
    (\244) show                  % Der Schraegstrich mit dem Oktalcode 244 ist
                                 % speziell fuer Brueche entworfen - nicht ver-
                                 % wechseln mit dem normalen 'Slash'(Oktcode 57)
    FractionFont setfont
    Denominator show             % Nenner ausgeben
    RegularFont setfont
  end
} def

%%EndProlog

%%Page: 1 1
/Times-Roman findfont            % Extra grosses Beispiel
300 scalefont setfont
100 72 moveto
(7) (8) Fractionshow

/Times-Roman findfont            % Brueche im fliessenden Text
18 scalefont setfont
72 550 moveto
(1) (2) Fractionshow
( Pfund Mehl, 4 Eier, ) show
(1) (8) Fractionshow
( Liter Sahne, ...) show

/Times-Roman findfont            % Bruch mit zweistelligen Zahlen
40 scalefont setfont
420 650 moveto
(13) (22) Fractionshow

showpage

%%Trailer
%%Pages: 1


Vorschau:

Download PostScript-File

© Holger Gehringer, Dezember 1998