LaTeX/PSTricks
PSTricks je set ekstenzija. Osnovni paket je pstricks, ostali paketi se mogu učitati kada su potrebni.
Ekstenzija xcolor učitava se zajedno sa PSTricks, te nema potrebe da je ručno ubacujete.
PSTricks ima jednu tehničku osobinu: interno koristi PostScript, odatle ime. Te ne možete koristiti pdftex ili pdflatex kompajlere, treba da koristite dvips da biste dobili valjan dokument. Još uvek je moguće dobiti PDF iz PS fajlova zahvaljujući ps2pdf. Takođe postoji mogućnost korišćenja PDFTricks ekstenzije, što omogućava korišćenje pdflatex zajedno sa PSTricks komandama.
Međutim, ako ste instalirali ovaj paket xetex-pstricks, možete koristiti pstricks sa xetex ili xelatex bez modifikovanja izvornog fajla.
pspicture okruženje
urediPSTricks komande obično su smeštene u pspicture
okruženju.
\begin{pspicture}(x1,y1)
% ...
\end{pspicture}
Prvi argument između zagrada precizira koordinate gornjeg desnog ugla slike. Donji levi ugao je na (0,0) i postavljen je kod referentne tačke sledećeg karaktera u LaTeX dokumentu.
Takođe je moguće preciziranje koordinata (x0,y0) donjeg levog ugla:
\begin{pspicture}(x0,y0)(x1,y1)
% ...
\end{pspicture}
Te je veličina slike (x1-x0)x(y1-y0). Osnovna jedinica dužine za koordinate je (cm); ovo se može promeniti sa \psset
, kao u
\psset{unit=1bp}
. Svaka TeX dimenzija je dozvoljena.
Fundamentalni objekti
urediLinije i polilinije
urediObična linija se štampa sa
\psline(x0,y0)(x1,y1)
Da dobijete vektor, dodajte strelicu kao parametar:
\psline{->}(x0,y0)(x1,y1)
Možete dodati koliko želite tačaka da biste dobili poliliniju:
\psline(x0,y0)(x1,y1)(x2,y3)…(xn,yn)
Da biste dobili zaobljene uglove, dodajte sledeću opciju:
\psline[linearc=0.2]{->}(0,0)(2,1)(1,1)
ili
\psline[linearc=0.2,arrows=->](0,0)(2,1)(1,1)
Pravougaonici
uredi\psframe(x0,y0)(x1,y1)
\psframe*(x0,y0)(x1,y1)
Verzija sa zvezdicom štampa polje pravougaonika. Koristite sledeći parametar da biste dobili zaobljene uglove:
\psframe[framearc=0.2](x0,y0)(x1,y1)
Mnogouglovi
urediMnogouglovi su uvek zatvoreni. Sintaksa je ista kao za \psline
:
\pspolygon(x0,y0)(x1,y1)(x2,y2)...(xn,yn)
Kao i kod pravougaonika, verzija sa zvezdicom štampa polje mnogounika. I linearc=0.2
će štampati zaobljene uglove.
Krugovi, luk i elipse
urediVerzija sa zvezdicom ispunjava oblik.
Za krugove, treba da zadate koordinate centra i poluprečnik:
\pscircle(x,y){r}
Da biste ograničili crtanje na luk, dodajte početne i krajnje vrednosti uglova izražene u trigonometrijskoj notaciji:
\psarc(x,y){r}{angle1}{angle2}
Konačno, elipse:
\psellipse(x,y)(horizontal_axis,vertical_axis)
Krive
uredi\psparabola(x0,y0)(x1,y1)
će štampati simetričnu parabolu sa vertikalnom asimptotom, sa najvišom (x1,y1) i najnižom (x0,y0) tačkom.
Koristite \psbezier
da biste štampali Bezijerove krive sa proizvoljnim brojem kontrolnih tačaka. Lukovi imaju najviše 4 kontrolne tačke. Koristite showpoints=true
opciju za štampanje kontrolnih tačaka i tangenti.
Koristite \pscurve
za štampanje interpolacije unetih tačaka.
\psecurve
команда изоставља први и последњи лук.
Tekst
urediKoristite
\rput(x,y){text}
za štampanje teksta. Unesite ugao rotacije teksta.
\rput{angle}(x,y){text}
Možete da dodelite sidro teksta koje će biti na određenoj koordinati.
\rput[t]{45}(5,5){text}
Dostupna sidra:
- B, Bl, Br: osnovna linija centar, levo i desno.
- t, tl, tr: gore centar, levo i desno.
- b, bl, br: dole centar, levo i desno.
Takođe postoji i \uput
komanda sa daljim opcijama:
\uput{distance}[angle](x,y){text}
distance
parametar predstavlja udaljenost od koordinate.
PSTricks dolazi sa nekoliko stilova za okvir teksta.
- \psframebox{text}: pravougaonik.
- \psdblframebox{text}: dupli pravougaonik.
- \psshadowbox{text}: osenčen pravougaonik.
- \pstcirclebox{text}: krug.
- \psovalbox{text}: oval.
- \psdiabox{text}: dijamant.
- \pstribox{text}: trougao.
Primer:
\rput(5,5){\psdiabox*[fillcolor=green]{text}}
Korišćenjem pst-text
ekstenzije, moguće je nacrtati putanju teksta.
\pstextpath{shape}{text}
Za štampanje prateće putanje tksta ez štampanja puta, treba da koristite \psset{linestyle=none}
.
Primer:
\usepackage{pst-text}
% ...
\begin{pspicture}(5,5)
\psset{linestyle=none}
\pstextpath{\psline(0,0)(1,1)(2,0)}{triangle text}
\end{pspicture}
Mreže
urediBez parametra, \psgrid
komanda će štampati mrežu svuda po pspicture, sa razmakom od 0.2 (t.j. 2mm). Možete precizirati parametre:
\psgrid(xmax,ymax)
: štampa mrežu od (0,0) do (xmax,ymax).\psgrid(xmin,ymin)(xmax,ymax)
: štampa mrežu od (xmin,ymin) do (xmax,ymax).\psgrid(x0,y0)(xmin,ymin)(xmax,ymax)
: štampa mrežu od (xmin,ymin) do (xmax,ymax), jedan od čvorova se nalazi na (x0,y0).griddots=value
: puna linija za obeležavanje zamenjena je isprekidanom linijom. value je broj tačaka pri obeležavanju.subgriddots=value
: kao igriddots
ali za sub-obeležavanje.gridcolor=color,subgridcolor=color
: boja za glavno obeležavanje i za sub-obeležavanje.gridwidth=value,subgridwidth=value
: širina linija.subgriddiv=value
: broj sub-obeležavanja između dva glavna obeležavanja.gridlabels=value
: veličina brojeva u opisu.ticksize=value
: samoobjašnjivo.ticksize=valueneg valuepos
: isto kao gore navedeno, ali valueneg precizira veličinu za negativne koordinate, valuepos za pozitivne.ticklinestyle=value
: samoobjašnjivo. value može biti jedna odčvrsta, isprekidana, dotted
. ovo je korisno za velika obeležavanja (t.j.ticksize
je veliko).
- Primer
\psgrid[griddots=5, subgriddiv=0, gridlabels=0pt](-1,-1)(5,5)
- Ose
Ako želite da dodate ose, koristite pstricks-add ekstenziju sa sledećim komandama:
\psaxes(xmin,ymin)(xmax,ymax)
\psaxes(x0,y0)(xmin,ymin)(xmax,ymax)
(xmin,ymin) i (xmax,ymax) što je ekstremna vrednost, (x0,y0) što predstavlja intersekciju.
- Opcije
Dx=value
iDy=value
definiše razmak između obeležavanja.comma
daje Vam mogućnost da koristite zaraz kao decimalni razmak.- Kao i za linije,
{->}
dodaje strlice na ose.
- Primer
\usepackage{pstricks-add}
% ...
\begin{pspicture}(-1,-1)(5,5)
\psaxes[comma,Dx=0.5,Dy=0.5]{->}(0,0)(3,3)
\end{pspicture}
Generički parametri
urediSvi oblici
urediOvo treba ubaciti u uglaste zagrade.
linewidth=value
: ako je value bezdimenziono, onda se koristi osnovna jedinica.linecolor=color
: boja se definiše sa xcolorpackage.linestyle=value
: value je jedna oddashed,dotted
.doubleline=true
.showpoints=true
: ističe tačke.dotscale=value
precizira veličinu tačke.dotstyle=value
gde value je jedno od:- *: disc
- o: circle
- +,x: cross
- square, squarre*: starred version is filled.
- diamond, diamond*
- triangle, triangle*
- etc.
Na primer
\pscircle[linewidth=0.2,linestyle=dashed,linecolor=blue](0,0){1}
Da biste primenili parametre na globalno okruženje:
\psset{linewidth=0.2,linestyle=dashed,linecolor=blue}
\pscircle(0,0){1}
Komanda Vam takođe dozvoljava da promenite osnovne jedinice za dužinu.
unit=value
xunit=value
iyunit=value
value je broj sa ili bez jedinice. Ovo menja veličinu crteža, ali ne i širinu linija.
Otvoreni oblici
urediMožete definisati ekstrem (linije, polilinije, luka, itd.) sa opcionalnim parametrom {symbol1-symbol2}
. Postoji pristojna lista parametara.
- < ili >: arrow.
- << ili >>: double arrow.
- |: bar.
- |*: centered bar.
- oo: circle.
- o: centered circle.
- **: disk.
- *: centered disk.
- |< ili >|: arrow plus bar.
- cc: rounded extreme.
- c: centered rounded extreme.
Primer:
\psline{|->>}(x0,y0)(x1,y1)
Zatvoreni oblici
urediZa zatvorene oblike treba da definišete stil ispunjenja.
fillstyle=value
: šablon. Moguće vrednosti:crosshatch, crosshatch*, vlines, vlines*, hlines, hlines*, solid
.fillcolor=color
.hatchcolor=color
.hatchwidth=value
.hatchsep=value
.hatchangle=value
.
Primer:
\pscircle[hatchcolor=blue,fillstyle=vlines](0,0){1}
Lokacija objekta
urediKomanda \rput
i \uput
mogu se koristiti za pomeranje objekta.
- Primer
\begin{pspicture}(5,5)
\psline{->}(0,0)(1,1)
\rput(1,1){\psline{->}(0,0)(1,1)}
\end{pspicture}
ili
\begin{pspicture}(5,5)
\psline{->}(0,0)(1,1)
\psline{->}(1,1)(2,2)
\end{pspicture}
Možete ponavljati operaciju sa \multirput
:
\multirput(x0,y0)(xoffset, yoffset){times}{object}
Možete koristiti iste opcije kao i kod \rput
:
\multirput[reference]{angle}(x0,y0)(xoffset, yoffset){times}{object}
Bez teksta ali samo sa grafikom, možete koristiti \multips
komandu:
\multips(x0,y0)(xoffset, yoffset){times}{object}
\multips{angle}(x0,y0)(xoffset,yoffset){times}{object}
PDFTricks ekstenzija
urediOriginalni PSTricks paket ne radi sa pdflatex, ali srećom PDFTricks nam dozvoljava da zaobiđemo ovu limitaciju.
- Korišćenje
- Deklarišite PDFTricks paket u preambuli.
- Postavite sve PSTricks ekstenzije u
psinputs
okruženje; postavite sve PSTricks komande updfpic
okruženje. - Kompajlujte pdflatex -shell-escape <file>.
-shell-escape параметар укључује позиве команди љуске. За PDFTricks је потребно, да би радило.
- Example
\documentclass{article}
\usepackage{pdftricks}
\begin{psinputs}
\usepackage{pstricks}
\usepackage{multido}
\end{psinputs}
% ...
\begin{document}
% ...
\begin{pdfpic}
\psset{unit=\linewidth}
\begin{pspicture}(0,0)(10,10)
[...]
\end{pspicture}
\end{pdfpic}
% ...
\end{document}
Još jedan način da koristite PSTricks sa pdflatex je pst-pdf paket.