Kurs komputerowy T System składu publikacji LATEX c Sławomir Zelek
Środowisko picture \begin{picture}(szer,wys)(x,y) tekst \end{picture} \unitlengthwymiar ustala wielkość jednostki \thicklines ustala grubość linii (grubsze) \thinlines ustala grubość linii (cieńsze, domyślnie) \linethicknes{wymiar} ustala grubość linii poziomych i pionowych \put(x,y){obiekt} umieszcza w punkcie (x,y) obiekt; punktem odniesienia jest lewy dolny narożnik \multiput(x,y)(dx,dy){n}{obiekt} n razy umieszcza obiekt w punktach o wsp. (x,y), (x+dx,y+dy)... \makebox(długość,wysokość) [lrtb] {tekst} umieszcza tekst w pudełku o podanych wymiarach \framebox(długość,wysokość) [lrtb] {tekst} umieszcza tekst w ramce o podanych wymiarach \dashbox{d}(długość,wysokość)[lrtb] {tekst} umieszcza tekst w przerywanej ramce o podanych wymiarach; d jest długością kreski i przerwy \savebox{\nazwa}(długość,wysokość)[lcr] {tekst} definiuje szufladę nazwa o podanych wymiarach \shortstack[lr] {tekst} umieszcza tekst w jednokolumnowej tabeli maksymalnie jeden z lr i jeden z tb jeden z wymienionych długość, wysokość, oraz x i y są wielkościami wyrażonymi w jednostkach unitlength c Sławomir Zelek 39
Środowisko picture \qbezier[n](x,y )(x,y )(x 3,y 3 ) \line(x,y){długość} \vector(x,y){długość} \circle{promień} \circle*{promień} \oval(szerokość,wysokość)[lrtb] rysuje krzywą Bezier; n określa ilość punktów w całej krzywej rysuje linię o nachyleniu arc tg x/y o podanej długości (długość jest długością rzutu na oś poziomą) x oraz y są liczbami całkowitymi z zakresu 6 6 bez wspólnych dzielników; minimalna długość linii 3mm rysuje wektor o nachyleniu arc tg x/y o podanej długości (j.w.); x oraz y są liczbami całkowitymi z zakresu 4 4 bez wspólnych dzielników rysuje okrąg o podanym promieniu (max. 4 mm) rysuje koło o podanym promieniu (max. 5. mm) rysuje prostokąt o zaokrąglonych rogach l,r,t,b określa, która część owalu ma być rysowana (lewa, prawa, górna, dolna); promień zaokrągleń jest połową krótszego boku c Sławomir Zelek 4
Środowisko picture ograniczenia nachylenia linii największy okrąg linie standardowe 6 3 7 nachylenia wektorów 7 największe koło linie pogrubione c Sławomir Zelek 4
Środowisko picture przykład B mb D RDB A m A RKA S RCB R KB RCA β D γ K RK RD ϕ m C C Rysunek : Definicja współrzędnych walencyjnych ( RCA, RCB, ϕ), Jacobiego ( RCA, RDB, γ) oraz Radau ( RKA, RKB, β) dla trójatomowej cząsteczki ACB c Sławomir Zelek 4
Środowisko picture źródło przykładu \begin{figure}[h] \begin{center}\begin{picture}(,5.8) \put(,4){\circle*{.}}\put(.5,4.){a} \put(5,){\circle*{.}}\put(5.,-.){c} \put(9,6){\circle*{.}}\put(9.,6.){b} \put(5,){\circle*{.}}\put(5.,.8){k} \put(3,){\circle*{.}}\put(.6,.6){d} \put(5,5){\circle*{.}}\put(4.8,5.){$d_$} \put(5,3){\circle*{.}}\put(4.6,.8){s} \put(.5,3.5){$m_a$}\put(4.4,-.3){$m_c$} \put(9.,5.5){$m_b$} \put(5,){\vector(-,){}} \put(3,){\vector(-,){}} \put(5,){\vector(,3){4}} \put(5,){\vector(,){4}} \put(3,){\vector(3,){6}} \put(5,){\vector(,){}} \put(5,){\vector(-,){4}} \put(.5,.4){\ve{r}{ca}} \put(8.,3.6){\ve{r}{cb}} \put(3.5,.5){\ve{r}{d}} \put(4.4,.){\ve{r}{k}} \put(.5,3.5){\ve{r}{ka}} \put(5.,3.){\ve{r}{kb}} \put(5.7,4.5){\ve{r}{db}} \put(4.8,.4){$\varphi$} \bezier{}(4.5,.5)(5,.8)(5.35,.55) \put(4.9,.){$\beta$}\put(3.,.9){$\gamma$} \bezier{}(4.,.4)(4.9,.7)(5.5,.5) \bezier{}(3.5,.5)(3.8,.)(3.5,.3) \end{picture}\end{center} \caption{definicja współrzędnych walencyjnych (\ve{r}{ca}, \ve{r}{cb}, $\varphi$), Jacobiego (\ve{r}{ca}, \ve{r}{db}, $\gamma$) oraz Radau (\ve{r}{ka}, \ve{r}{kb}, $\beta$) dla trójatomowej cząsteczki ACB} \end{figure} c Sławomir Zelek 43
Pakiet pstricks kolory szare kolorowe \black czarny \red czerwony \darkgray ciemnoszary \green zielony \gray szary \blue niebieski \lightgray jasnoszary \cyan błękitny \white biały \magenta fioletowy \yellow żółty \newgray{kolor}{n} definiuje kolor o odpowiednim stopniu jasności n \newrgbcolor{kolor}{n n n 3 } definiuje kolor w konwencji red green blue \newhsbcolor{kolor}{n n n 3 } definiuje kolor w konwencji hue saturation brightness \newcmykcolor{kolor}{n n n 3 n 4 }definiuje kolor w konwencji cyan magenta yellow black n i c Sławomir Zelek 44
Pakiet pstricks parametry graficzne \psset{par =wart,par =wart } ustawianie globalnych wartości poszczególnym parametrom (np. grubość linii, kolor, itp.). Niezależnie od wartości globalnych można chwilowo zmienić wartości parametrów dla poszczególnych poleceń unit=jednostka cm ustawia wielkość jednostki xunit=jednostka cm ustawia wielkość jednostki poziomej yunit=jednostka cm ustawia wielkość jednostki pionowej runit=jednostka cm ustawia wielkość pozostałych jednostek linewidth=grubość.8pt ustawia grubość linii linecolor=kolor black ustawia kolor linii fillstyle=styl none ustawia odpowiedni styl wypełnienia fillcolor=kolor white ustawia kolor wypełnienia arrows=strzałka - ustawia styl strzałki showpoints=wart. logiczna false określa rysowanie punktów na linii linearc=promień pt promień zaokrąglenia wierzchołków framearc=liczba promień zaokrąglenia wierzchołków określony jako liczba*szerokość (wysokość) ramki; liczba jest z przedziału <, > c Sławomir Zelek 45
Pakiet pstricks podstawowe obiekty \psline* [parametry ]{strzałka}(x,y )(x,y )... \psline(,) \psline{->}(5,)(,)(3,) \psline*[linearc=.5cm](6,)(,)(4,) \qline(x,y )(x,y ) \qline(,)(,) \pspolygon* [parametry ](x,y )(x,y )(x,y )... \pspolygon[linearc=.cm](,)(,) \pspolygon*[linearc=.cm](,)(,)(3,)(3,) \pspolygon*(3,)(3.4,)(4,)(5,)(5.5,)(6,) 3 4 5 6 3 4 5 6 obowiązkowe elementy są pogrubione; pozostałe można pominąć wówczas przyjmowane są wartości domyślne strzałka sposób zakończenia linii (grot strzałki); domyślnie brak strzałki (x,y ) punkt początkowy; domyślnie punkt (,) c Sławomir Zelek 46
Pakiet pstricks podstawowe obiekty \psframe* [parametry ](x,y )(x,y ) \psframe[fillstyle=solid,fillcolor=lightgray] (,)(4,) \psframe*[linecolor=white,framearc=.] (,.5)(,.5) \pscircle* [parametry](x,y ){promień} \pscircle{} \pscircle*(.5,.5){.5} 3 4 5 - - \qdisk(x,y ){promień} równoważne poleceniu \pscircle*(x,y){promień} c Sławomir Zelek 47
Pakiet pstricks podstawowe obiekty \pswedge* [parametry ](x,y ){promień}{kąt }{kąt } \pswedge[fillstyle=solid]{}{}{75} \pswedge*(,){}{3}{9} \pswedge(5,){}{8}{} \psellipse* [parametry ](x,y )(x,y ) \psellipse(,)(,) \psellipse*(3,)(,.5) \psellipse[fillstyle=solid](3,)(.5,.5) 3 4 5 6 3 4 \psarc* [parametry ]{strzałka}(x,y ){promień}{kąt }{kąt }łuk rysowany przeciwnie \psarcn* [parametry ]{strzałka}(x,y ){promień}{kąt }{kąt }zgodnie z ruchem wskazówek zegara \psarc[showpoints=true]{->}(.5,.5){.5}{5}{} \psarc*(4,){}{}{35} \psarc[arcsepa=](4,){}{8}{} \psarcn[arcsepb=]{->}(5,){}{-9}{9} arcsepa=odległość arcsepb=odległość arcsep=odległość 3 4 5 6 połowa grubości ramienia A połowa grubości ramienia B połowa grubości obu ramieni c Sławomir Zelek 48
Kurs T: Pakiet pstricks podstawowe obiekty \psbezier* [parametry ]{strzałka}(x,y )(x,y )(x,y )(x 3,y 3 ) \psbezier[showpoints=true]{->}(,)(.5,)(,)(,) \psbezier*(,)(.5,)(3.5,)(4,) \psbezier[showpoints=true](4,)(5.5,)(6,)(5,) \pscurve* [parametry ]{strzałka}(x,y )... \pscurve[showpoints=true]{<->}(,.3)(.7,.8) (3,.3)(3.8,.6)(.4,.4) \pscurve{->}(3,)(4,)(5,)(4,)(3,) \psecurve* [parametry ]{strzałka}(x,y )... \psecurve[showpoints=true]{<->}(,.3)(.7,.8) (3,.3)(3.8,.6)(.4,.4) \psecurve{->}(3,)(4,)(5,)(4,)(3,) \psccurve* [parametry ](x,y )... \psccurve[showpoints=true](,.3)(.7,.8) (3,.3)(3.8,.6)(.4,.4) \psccurve(3,)(4,)(5,)(4,)(3,) 3 4 5 6 3 4 5 6 3 4 5 6 3 4 5 6 c Sławomir Zelek 49
Kurs T: Pakiet pstricks podstawowe obiekty \parabola* [parametry ]{strzałka}(x,y )(x,y ) \parabola{->}(,)(,) \parabola*(,)(,) \parabola(,)(,) dotstyle=styl * 3 4 styl * o przykład + + + + + + styl square square* pentagon pentagon* przykład triangle triangle* dotsize=wymiar n.5pt.5 określa wielkość punktu (n linewidth + wymiar) dotscale=n n skalowanie w poziomie (n ) i pionie (n ) dotangle=kąt obraca znacznik o kąt \psdots* [parametry ](x,y )... rysuje punkty dla każdej pary wsp. c Sławomir Zelek 5
Pakiet pstricks przykład k j K ı N I θ ϕ χ N θ J Rysunek : Definicja kątów Eulera: ( I, J, K) są wersorami układu LFS, natomiast ( ı, j, k ) wersorami układu MFS. Linia NN jest linią węzłów c Sławomir Zelek 5
Pakiet pstricks źródło przykładu \begin{figure}[!b] \begin{center} \begin{picture}(.,8.) \psset{linewidth=pt} \psline{->}(5.,4.)(3.,.7) \put(.8,.){\ve{i}{}} \psline{->}(5.,4.)(9.,4.) \put(9.,3.8){\ve{j}{}} \psline{->}(5.,4.)(5.,8.) \put(5.,7.5){\ve{k}{}} \psset{linestyle=dashed,dash=4pt pt} \psline{->}(5.,4.)(7.4,6.) \put(7.6,5.8){\ve{\imath}{}} \psline{->}(5.,4.)(3.7,6.5) \put(3.4,6.6){\ve{\jmath}{}} \psline{->}(5.,4.)(.5,6.5) \put(.3,6.6){\ve{k}{}} \rput{7}(5.,4.){ \psellipse[linewidth=.5pt](,)(3.5,.5)} \psset{linewidth=.5pt,linestyle=solid} \psellipse(5.,4.)(4.,.5) \psline{-}(.85,5.5)(7.5,.75) \psbezier{->}(4.,3.4)(4.6,3.)(5.6,3.3) (5.9,3.5)\put(5.,3.){$\varphi$} \psbezier{->}(8.,3.)(8.,3.4)(7.9,3.7) (7.5,3.8)\put(8.,3.4){$\theta$} \psbezier{->}(5.,4.7)(4.8,4.8)(4.5,4.7) (4.4,4.6)\put(4.7,4.8){$\theta$} \psbezier{->}(6.,3.4)(6.3,3.7)(6.3,4.4) (5.9,4.8)\put(6.3,4.){$\chi$} \put(7.3,.4){$n$}\put(.4,5.4){$n $} \end{picture} \caption{definicja kątów Eulera: (\ve{i}{}, \ve{j}{}, \ve{k}{}) są wersorami układu LFS, natomiast (\ve{\imath}{}, \ve{\jmath}{}, \ve{k}{})~---~wersorami układu MFS. Linia $NN $ jest linią węzłów} \end{center} \end{figure} c Sławomir Zelek 5
Kurs T: Pakiet pstricks przykład HOMO } } 3πu LUMO 3 6 9 5 αo S O [ ] ɛ [E H ].5 6b 5σu 9a 5b 6σg. a 3b 4b 3πu -.5 πg 8a πu 4σu 7a b Rysunek 3: Diagram Walsha dla obojętnej cząsteczki SO c Sławomir Zelek 53
Pakiet pstricks wyciąg ze źródła przykładu \begin{figure}[!p] \begin{picture}(5,)(,-) \psset{unit=cm,dotscale=.5,linewidth=.pt}... \psecurve{-}(.46,-.86)(.9,.8)(3.38,.7) (3.83,.4)(4.9,.47)(4.75,.73)(5.,.96) (5.67,.97)(6.,.4)(7.5,.5)(8.88,.6) (.5,.)(.6,.8)(3.,.8)(3.,.8) \psdots[dotstyle=o](3.38,.7)(4.75,.73) (5.,.96)(5.67,.97)(6.,.4)(7.5,.5) (8.88,.6)(.5,.)(.6,.8)(3.,.8)... \psecurve{->}(.,6.)(.,6.)... (3.,.77)(4.,.7)(4.5,.67) \psdots[dotstyle=triangle](.,6.)...(3.,.77) \psecurve{-}(.,6.53)(.,6.53)(3.38,6.73) (4.75,7.3)(5.,7.4)(5.67,7.3) \psline[linestyle=dashed,dash=pt 6pt](5.,7.4) (5.67,.73) \psecurve{->}(5.67,.73)(5.67,.73)...(4.5,.44) \psdots[dotstyle=triangle*](.,6.53)(3.38,6.73)...(.6,.38)(3.,.43)... \psline{->}(3.5,4.)(4.,4.) \put(3.,4.){$\left.\begin{picture}(,.) \end{picture}\right\}$}... \psecurve[linewidth=.pt]{-}(.,8.84)(.,8.84) (.5,8.55)...(4.5,6.46) \put(3.7,6.6){homo} \psecurve[linewidth=.pt,linestyle=dashed,dash=5pt 6pt] (.,4.54)(.,4.54)...(4.,.4)(4.5,.4) \put(3.7,.7){lumo} %OSIE \psset{linewidth=.pt}\psline{->}(.,.)(5.,.) \psline{->}(.,.)(.,.) \multiput(.,)(.75,){5}{\line(,-){.}} \put(.75,-.7){3}...\put(.65,-.7){5} \put(3.,.){$\alpha_{o-s-o}\ [^{\circ}]$} \put(.4,9.8){$\epsilon$}\put(-.3,9.){[\eh]} \multiput(.,4.7)(,7.){3}{\line(-,){.}} \put(-.,4.7){\makebox(.8,)[r]{-.5}}... \put(4.,.3){$\pi_u$}\put(4.,4.){$\pi_g$} \put(4.,5.86){$3\pi_{u_\parallel}$} \end{picture} \caption{diagram Walsha dla obojętnej cząsteczki SO$_$} \end{figure} c Sławomir Zelek 54
Pakiet pstricks siatka \psgrid[parametry ](x,y )(x,y )(x,y ) gridwidth=grubość.8pt określa grubość linii siatki gridcolor=kolor black określa kolor linii griddots=n n = linia ciągła; n > linia kropkowana (n kropek na jednostkę) gridlabels=wielkość pt określa wielkość opisu jednostek gridlabelcolor=kolor black określa kolor opisu jednostek subgriddiv=n 5 subgridwidth=grubość.4pt grubość podrzędnych linii siatki subgridcolor=kolor gray określa kolor podrzędnych linii siatki subgriddots=n analogicznie jak griddots c Sławomir Zelek 55
Pakiet pstricks siatki 3 4 5 \psgrid(,)(5,) 3 4 5...[subgriddiv=]... 3 4 5...[griddots=, subgriddiv=]... 3 4 5...[gridwidth=.pt, subgriddiv=5]... 3 4 5...[gridlabels=6pt]... 3 4 5...[gridcolor=red, gridlabelcolor=red]... 3 4 5...[subgriddiv=5, subgriddots=3]... 3 4 5...[gridcolor=blue, subgridcolor=red]... c Sławomir Zelek 56
Pakiet pstricks strzałki strzałka przykład strzałka przykład - (-) <-> o-o >-< *-* <<->> oo-oo >>-<< **-** - c-c *- * cc-cc [-] C-C c Sławomir Zelek 57
Pakiet pstricks inne \newpsobject{nazwa}{obiekt}{par=wart,...} definiuje nowy obiekt nazwa na bazie obiektu z odpowiednimi parametrami \newpsstyle{nazwa}{par=wart,...} definiuje nowy styl nazwa jako zbiór odpowiednich wartości parametrów linestyle=styl solid określa styl linii spośród: none, solid, dashed i dotted dash=dł dł 5pt 3pt określa długość kreski i przerwy dotsep=odstęp 3pt określa odstęp między kropkami doubleline=wart. logiczna false określa rysowanie linią pojedynczą lub podwójną doublesep=odległość.5linewidth określa odstęp między liniami doublecolor=kolor white określa kolor między liniami shadow=wart. log. false określa rysowanie cienia shadowsize=odległość 3pt określa odległość cienia od obiektu shadowangle=kąt -45 określa kąt umieszczenia cienia shadowcolor=kolor darkgray określa kolor cienia c Sławomir Zelek 58
Pakiet pstricks inne \psline[linestyle=dotted](,.)(5,.) \psline[linestyle=dotted,dotsep=pt](,.)(5,.) \psline[linestyle=dashed](,.)(5,.) \psline[linestyle=dashed,dash=pt pt](,.) (5,.) \psline[doubleline=true](,)(,)(3,) \psline[doubleline=true,doublesep=5pt](,)(,)(3,) \psline[doubleline=true,doublesep=5pt, doublecolor=red](,)(,)(3,) \pscircle[shadow=true](,){.5} \psframe[shadow=true,shadowangle=35](,)(4,) \psframe[shadow=true,shadowsize=pt](,)(,) \psframe[shadow=true,shadowsize=7pt, shadowcolor=blue](,)(4,) c Sławomir Zelek 59
Pakiet pstricks wypełnienia fillstyle=styl none określa styl wypełnienia z następujących: none brak wypełnienia solid wypełnienie ciągłe vlines pionowe linie hlines poziome linie crosshatch pionowe i poziome linie vlines* hlines* crosshatch* fillcolor=kolor white określa kolor wypełnienia hatchwidth=grubość.8pt określa grubość linii hatchsep=odstęp 4pt określa odstęp między liniami hatchcolor=kolor black określa kolor linii hatchangle=kąt 45 określa kąt nachylenia linii analogicznie jak styl bez gwiazdki, lecz z możliwością wypełnienia tła c Sławomir Zelek 6
Pakiet pstricks wypełnienia \psframe[fillstyle=solid,fillcolor=green](,)(,) \psframe[fillstyle=vlines,hatchwidth=4pt](,)(,) \psframe[fillstyle=hlines,hatchwidth=4pt](,)(,) \psframe[fillstyle=hlines,hatchsep=pt](,)(,) \psframe[fillstyle=hlines*,fillcolor=lightgray, hatchcolor=red](,)(,) \psframe[fillstyle=hlines,hatchangle=5](,)(,) \psframe[fillstyle=crosshatch,hatchangle=5](,)(,) \psframe[fillstyle=crosshatch,hatchcolor=white, fillcolor=blue](,)(,) c Sławomir Zelek 6
Pakiet graphics \scalebox{liczba}{obiekt} \scalebox{}{duży tekst} \scalebox{}{normalny tekst} \scalebox{.5}{mały tekst} \usepackage{graphics} skaluje obiekt liczba razy duży tekst normalny tekst mały tekst \resizebox{szerokość}{wysokość}{obiekt} \resizebox{cm}{.3cm}{szeroki} \resizebox{cm}{3cm}{wysoki tekst} skaluje obiekt nieproporcjonalnie wysoki tekst szeroki c Sławomir Zelek 6
Pakiet graphics \rotatebox{kąt}{obiekt} \rotatebox{3}{wyraz} \rotatebox{9}{wyraz} \rotatebox{8}{wyraz} \reflectbox{obiekt} wyraz$ $\reflectbox{wyraz} wyraz obraca obiekt o kąt przeciwnie do ruchu wskazówek zegara wyraz wyraz ramki dodane dodatkowo lustrzane odbicie obiektu wyraz wyraz c Sławomir Zelek 63
Pakiet graphics \includegraphics{plik} włącza grafikę we formacie EPS \includegraphics{umklogo.eps} \rotatebox{45}{\includegraphics{umklogo.eps}} c Sławomir Zelek 64
Pakiet epsfig \epsfig{file=plik} włącza grafikę we formacie EPS \epsfig{file=umklogo.eps} \epsfig{file=umklogo.eps,width=3cm} c Sławomir Zelek 65
Pakiet epsfig \epsfig{file=umklogo.eps,angle=9} \epsfig{file=umklogo.eps,width=3cm,height=cm} c Sławomir Zelek 66