xval yval scale | %För att skala om bilden i x- och y-led. |
xtrans ytrans translate | %För att flytta bilden i x- och y-led. |
vinkel rotate | %För att rotera bilden med vinkeln "vinkel" grader moturs. |
statusdict begin a3tray end | %För att styra om till utskrift på A3-papper. |
statusdict /manualfeed true put | %För att manuellt mata in papper i skrivaren, t.ex. kuvert. |
De kommandon som beskrivs i detta avsnitt kan skrivas in med valfri
texteditor i början av PS-filen, men inte först. Först i
PS-filen finns nämligen alltid en textsträng (en rad) som anger
att det är en PS-fil. Strängen ser ut så här:
%!PS-Adobe |
Strängen innehåller ofta mer text som inte är nödvändig.
Vissa ritprogram kan lägga in egenhändigt konstruerade "headers"
och "trailers" i början respektive slutet av en utskriftfil. Detta
är för att anpassa utskrifterna till egna förhållanden.
Om man lägger till en "header" till en PS-fil är det oftast nödvändigt
att även lägga till %!PS-Adobe längst upp. Det spelar
ingen roll att den gamla startsträngen ligger kvar på sin ursprungliga
plats. En typisk PS-fil med "header" inlagd kan då se ut så
här i början:
%!PS-Adobe
90 rotate 594 0 translate %!PS-Adobe ...... |
De olika kommandona som presenteras här kan anges i vilken inbördes ordning som helst. Om man skall ändra en hel sida är det emellertid enklast att börja med att rotera, sedan skala om bilden och till sist flytta den till rätt plats på sidan.
PS använder "omvänd polsk notation", vilket betyder att man alltid skriver in argumenten först, och sedan operatorn. Argument är de tal som skall användas, och operator är det kommando som beskriver vad som skall göras.
Det som går att ändra vid utkriften är bildens plats och vinkel på papperet. Papperets plats ges ju av skrivaren, och går inte att göra så mycket åt. I figuren till höger visas papperet med grönt, papperets koordinatsystem med blått, och användarens koordinatsystem med rött. Det enda du kan ändra på är det röda koordinatsystemet, allt annat ligger fast för gott. De röda koordinatsystemet kan du å andra sidan göra nästan vad som helst med, t.ex. flytta, skala om och rotera.
Siffrorna som angivits i figuren avser de fyra kvadranterna. Det går inte att visa något utanför första kvadranten i papperets koordinatsystem, men i ditt eget koordinatsystem kan alla kvadranter visas. I figuren har till exempel fjärde kvadranten i ditt koordinatsystem kommit in lite i papperets första kvadrant.
Om du klickar på figuren kan du hämta hem PS-filen som ligger till grund för bilden på koordinatsystemet. Där kan man se att jag har valt bildens origo som origo även för mitt koordinatsystem. När bilden ritats färdigt har jag flyttat in den så att mitt origo ligger en bit in på papperet.
vinkel rotate |
"vinkel" skall bytas ut mot ett tal som anger vinkeln. Vinkeln anges på matematiskt korrekt sätt, dvs moturs vridning av ditt koordinatsystem fås genom ett positivt värde på vinkeln. Däremot (som tur är) anges vinkeln i grader, vilket kan anses som matematiskt tveksamt. Normalt anges ju vinklar i radianer.
xval yval scale |
xval och yval byts ut till tal som anger hur objektet skall skalas i respektive riktning. Man kan alltså skala objektet olika i X och Y-led. "Objektet" är den del som skall förändras i storlek, det kan vara en hel sida eller en del av sidan. Om "xval" och "yval" är större än 1, blir resultatet en förstoring, skalfaktorer mindre än 1 ger förminskning.
Om man skall skala om från A4 till A3 ser det ut så här:
1.414 1.414 scale |
Ett A3-papper har ju dubbelt så stor yta som ett A4-papper, men
sidorna är bara cirka 1.414 gånger längre (kvadratroten
ur
2 är ungefär 1.414).
xtrans ytrans translate |
xtrans och ytrans är tal som anger hur mycket ditt koordinatsystem
skall flyttas i x- respektive y-led i förhållande till papperets
kordinatsystem. Med kommandot:
283 142 translate |
flyttar man bilden 10 cm (283 punkter) åt höger, och 5 cm (142 punkter) uppåt på papperet. Papperet ligger still och bilden förflyttas.
Om man vill slippa ange alla mått i punkter, kan man skriva följande
definition i början av PS-filen:
/mm { 2.83 mul } def |
eller mer exakt:
/mm { 72 mul 25.4 div } def |
Man har då definierat "mm" att multiplicera talet till vänster
med 2.83. Då kan förflyttningen skrivas på följande
sätt:
100 mm 50 mm translate |
Ta alltid en sak i taget när du skriver PS. Börja med att skriva minimalt med rader och kolla att det funkar, fyll sedan på med mera.
Ibland när bilden har roterats kan den försvina så att den inte syns på sidan. En vanlig orsak till detta är att bilden inte ligger i första kvadranten på papperet. Prova då att rotera lite mindre, t.ex. bara 30 grader.
Om man får felutskrifter i GhostView är det ofta mycket svårt att tyda dem. Man kan då sätta in ett %-tecken först på alla rader som kan vara fel. Om felet försvinner vet man var felet finns någonstans.