Im Anschluss meines ersten Artikels zum Thema «Zeichnen mit Postscript» zeige ich, wie mit wenig Zeilen Postscript-Code zum Beispiel ein kariertes Blatt mit 5 mm – Raster erstellt werden kann.
Der Code sieht so aus:
%!PS-Adobe-3.1
%%BoundingBox: 18 18 567 794
%%Pages: (atend)
%%TargetDevice: (Generic PostScript Printer) (2010.0) 2
%%DocumentPaperSizes: a4
%%EndComments
%%Page: 1 1
%%BeginSetup
2.834645669 2.834645669 scale
%%EndSetup
%%EndPageComments
0.5 setlinewidth
10 10 moveto 200 10 lineto 200 285 lineto 10 285 lineto closepath stroke
/y1 280 def
/abz { /y1 y1 5 sub def } def
/x1 15 def
/abz2 { /x1 x1 5 add def } def
0.3 setlinewidth
0.7 setgray
0 1 53 { 10 y1 moveto 200 y1 lineto stroke abz } for
0 1 36 { x1 10 moveto x1 285 lineto stroke abz2 } for
showpage
%%PageTrailer
%%Trailer
%%Pages: 1
%%EOF
Erklärung:
0.5 setlinewidth % Liniendicke auf 0.5 mm stellen
10 10 moveto % auf Position x10 und y10 stellen (Punkt 0,0 befindet sich unten links)
200 10 lineto % Line auf x200 y10 ziehen
200 285 lineto % Linie auf x200 y285 ziehen
10 285 lineto % Linie auf x10 y285 ziehen
closepath % Figur schliessen
stroke % jetzt zeichnen
/y1 280 def % Den Wert 280 in die Variable y1 laden
/abz { /y1 y1 5 sub def } def % Funktion abz zieht von der Variable y1 jeweils 5 ab
/x1 15 def % Den Wert 15 in die Variabel x1 laden
/abz2 { /x1 x1 5 add def } def % Funktion abz2 addiert jeweils 5 zu x1 hinzu
0.3 setlinewidth %Liniendicke auf 0.3 mm stellen
0.7 setgray % Graustufe einstellen (1 bedeutet schwarz)
0 1 53 { 10 y1 moveto 200 y1 lineto stroke abz } for % Schleife für Zeichnen der Linien (Start, Inkrement, maximale Anzahl)
0 1 36 { x1 10 moveto x1 285 lineto stroke abz2 } for %wie oben
showpage %Seite anzeigen
Gespeichert in einer Datei mit der Endung .ps kann die Zeichnung mit Atril-Dokumentenbetrachter angezeigt und gedruckt werden. Hat man einen postscriptfähigen Drucker, ist die Druckausgabe auch direkt von der Konsole über Befehl lp möglich.
Für das Umwandeln in ein PDF würde der Befehl lauten:
gs -q -sDEVICE=pdfwrite -dNOPAUSE -dNOSAFER -sOutputFile=vorlage.pdf -dFIXEDMEDIA -sPAPERSIZE=a4 vorlage.ps -c quit
Viel Spass beim Ausprobieren.
Wieder was gelernt und hat Spaß gemacht.
Guter Tipp. Geht oft schneller als z.B. mit LibreOffice Vorlagen rumzufummeln.