Pouzivanie PostScript obrazkov v LaTeX-u ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1; DOVODY 2; KUCHARKA (STRUCNY NAVOD) 3; VECI S TYM SUVISIACE 3.a; PostScript: co to je? 3.b; PS - obrazky: software 3.c; dvips 3.d; X-terminal, LaTeX, dvips na UNIXoch (linux) 4; DALSIE POZNAMKY PRE SPRAVNE PISANIE LaTeX DOKUMENTOV ----------------------------------------------------------------------- 1; DOVODY ~~~~~~~~~ A; standardnym sposobom zahrnovania grafiky do TeX/LaTeX dokumentov sa stava vkladanie PS obrazkov. B; takymto sposobom vytvorene dokumenty je velmi jednoducho mozne cele previest do formatu PS a dalej ich distribuovat, tlacit, zobrazovat. C; vzhladom na vystavovanie full-text verzie CAOSP na I/net-e, sme zaviazani dodavat kompletny CAOSP v PS formate na Harvard, aby odpadla nutnost scanovania papierovych vytlackov. D; znacne znizenie nakladov na tlac CAOSP je sposobene moznostou vytlacit CAOSP zrkadlovo na folie UTOPLEX a toto uz priamo tvori podklad pre tlaciaren. E; vylucenim jedneho kopirovania v tlaciarni sa zvysi kvalita vytlackov CASOP. Taktiez full-text PS clanky CAOSP vystavene na sieti (neziskane scanovanim) maju vyssie rozlisenie. ----------------------------------------------------------------------- 2; KUCHARKA (STRUCNY NAVOD) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Hviezdickou na zaciatku riadku su oznacene lisiace sa riadky. A; vytvaranie obrazkov z graphera NOVY SPOSOB | STARY SPOSOB -----------------------------------|---------------------------------- - v grapheri vytvorit obrazok | - v grapheri vytvorit obrazok | - vyexportovat vo formate HPGL | - vyexportovat vo formate HPGL | - ziskali ste subor obr1.pgl | - ziskali ste subor obr1.pgl | * - prekonvertovat do formatu EPS | - prekonvertovat do formatu PCX * pomocou programu hp2xx: | pomocou programu hp2xx: * hp2xx -m eps -f obr1.eps obr1.pgl | hp2xx -m pcx -f obr1.pcx obr1.pgl | B; zahrnutie obrazka do LaTeX zdrojoveho textu NOVY SPOSOB | STARY SPOSOB -----------------------------------|---------------------------------- * - pouzit aj (pod)styl psfig | * \documentstyle[psfig]{caosp} | \documentstyle{caosp} | * - na zahrnutie obrazka pouzit | - na zahrnutie obrazka pouzit * prikaz \psfig | prikaz \insertplot \begin{figure} | \begin{figure} * \psfig{file=obr1.eps,width=5.cm} | \insertplot{obr1.eps}{5.cm}{1.5cm} \caption{Toto je prvy obrazok.} | \caption{Toto je prvy obrazok.} \label{prvy_obrazok} | \label{prvy_obrazok} \end{figure} | \end{figure} | | C; poziadavky na autorov clankov v CAOSP: NOVY SPOSOB | STARY SPOSOB -----------------------------------|---------------------------------- * - dodat LaTeX-ovsky zdrojovy text | - dodat LaTeX-ovsky zdrojovy text * clanku s prikazmi na zahrnutie | clanku s prikazmi na zahrnutie * EPS obrazkov | PCX obrazkov * - vsetky obrazky dodat vo formate | - vsetky obrazky dodat vo formate * EPS, pripadne HPGL | PCX, pripadne HPGL | ZLOZITEJSIE POUZITA PRIKAZU "\psfig" Povedzme, ze mate 4 samostatne obrazky, ktore chcete umiestnit do LaTeX-ovskeho dokumentu nasledovnym sposobom: ---------------- ---------------- | | | | | obr1.eps | | obr2.eps | | | | | ---------------- ---------------- ---------------- ---------------- | | | | | obr3.eps | | obr4.eps | | | | | ---------------- ---------------- Fig. XX: Toto je caption celkoveho obrazku. Ulohu vyriesite zadanim v LaTeX-ovskom zdrojaku: \begin{figure} \centerline{ \hbox{ \psfig{file=obr1.eps,width=5.cm,clip=} \hspace{3.cm} \psfig{file=obr2.eps,width=5.cm,clip=} } } \vspace{.5cm} \centerline{ \hbox{ \psfig{file=obr3.eps,width=5.cm,clip=} \hspace{1.cm} \psfig{file=obr4.eps,width=5.cm,clip=} } } \caption{Toto je caption celkoveho obrazku.} \label{label_obrazku} \end{figure} Vysvetlenie: parameter width urci, aky velky bude dany podobrazok v horizontalnom rozmere, oba podobrazky uzvrieme do "horizontalnej krabice" (\hbox), pricom ich oddelime horizontalnym miestom 3cm (\hspace{3.cm}), \centerline tuto krabicu potom vycentruje v ramci definovanych okrajov dokumentu Druhe 2 podobrazky uzavrieme do dalsej horizontalnej krabice, pricom medzi nimi vynechame horizontalnu medzeru 1cm (\hspace{1.cm}) a opat ju vycentrujeme. Obe krabice oddelime vertikalnym odskokom 0.5cm (\vspace{.5cm}). Niektore dalsie option prikazu "\psfig": width - urcuje aky horizontalne velky bude EPS (pod)obrazok vo vyslednom dokumente height - urcuje aky vertikalne velky bude EPS (pod)obrazok vo vyslednom dokumente POZNAMKA: pokial pouzijeme iba jeden z parametrov width alebo height, zvysny bude urceny tak, aby skalovanie x a y osi obrazka bolo 1:1. Ak pouzijeme oba, rozmery budu skalovane nezavisle a povedie to k deformacii povodneho EPS obrazka. angle - (pod)obrazok je mozne otocit o zadany uhol: vyhodne, ak mate obrazok v landsacpe a chcete, aby sa zobrazil v portrait: pouzijete: "angle=-90". Kladne hodnoty zanmenaju otocenie v kladnom smere (proti smeru hodinovych ruciciek). clip - Pokial BoundingBox neoznacuje cely EPS obrazok, ale iba jeho cast a Vy chcete pouzit iba tuto cast definovanu BoundingBox-om, je potrebne pouzit tento parameter, aby zvysne casti EPS obrazku sa nevykreslovali. Ak aj casti mimo BoundingBox su prazdne (biele), kedze aj biela farba je farba, tato by prekryla okolity dokument. Zadanie "clip=" do prikazu "\psfig" tieto casti vyradi. Pokial BoundingBox zahrna cely EPS obrazok, je mozne spolu s parametrom clip pouzit dalsie parametre (vid manual), ktore Vam umoznia aj tak zobrazit iba cast EPS obrazku. VYHODY: - bezproblematicke umiestnovanie obrazkov - skalovanie - otacanie - vybranie iba casti obrazka NEVYHODY: - nemoznost vidiet obrazky pri zobrazeni dvi suboru: je vsak mozne do LaTeX zdrojoveho textu zadat po "\begin{document}" prikaz "\psdraft", ktory Vam umiestnenie obrazkov vyznaci box-om. Pri finalnej verzii je potrebne tento prikaz okomentovat: "%\psdraft" - nutnost urobit konverziu dvi suboru do formatu PS pomocou programu dvips - PS subor mozno prehliadat (zobrazit) pomocou programu ghostscript (resp. ghostview): su instalovane na nasich UNIXoch (auriga, linuxy), je mozne ich instalovat pod DOS (iba ghostscript "gs" - je na pocitaci TNS, na obrazovke je vsak velmi zle rozlisenie) alebo pod Windows - kedze nemame PostScript-ovsku tlaciaren, vytlacit vysledok je mozne opat iba pouzitim gs na TNS (povelak "tlacibvs"). Toto je vsak hodne pomale. Dokument (manual) podrobne popisujuci podstyl psfig je vytlaceny a ulozeny v pocitacovej miestnosti. ----------------------------------------------------------------------- 3.a; PostScript: co to je? ~~~~~~~~~~~~~~~~~~~~~~~~~~ PostScript je jazyk urceny predovsetkym na popis stranok dokumentu. Je produktom fy. Adobe. Kedze Adobe dala popis jazyka volne k dispozicii, ktokolvek mohol pisat software pouzivajuci PS (interpretre, vytvaranie fontov). Vdaka tomu sa stal PS vseobecne uznavanym standardom a v sucasnosti takmer kazdy graficky software resp. software vytvarajuci dokumenty umoznuje export vysledku do formatu PS. (Niektore softy, napr. CorelDraw vsak este na zaciatok PS suboru napisu nestandardne znaky - tie je potom potrebne "rucne" odmazat.) PS nie je graficky format. Je to jazyk, preto software, ktory zobrazuje PS je vlastne prekladacom (interpreter-om) tohto jazyka. Z toho vyplyva aj nebezpecie, ze v PS subore mozu byt napisane tzv. makroviry. PS subor je jednoduchy ASCII file (pri ftp prenose pouzivajte ASCII mod) obsahujuci prikazy PS jazyka. Je ho teda mozne jednoducho editovat a menit. Podla definicie PS kazdy PS subor musi zacinat riadkom: %!PS-Adobe-2.0 EPSF-1.2 Na zobrazovanie grafiky moze PS pouzivat ako vektorovy pristup (napr. prikaz na posunutie pera z jednej pozicie na inu), ako aj pristup pomocou bitmapy (je zaznaceny kazdy pixel). Kedze bitmapovy pristup je narocnejsi na miesto (vysledne PS subory su velmi velke) je vyhodne exportovat vysledok Vasej prace (obrazok) priamo do PS. Pokial exportujete vysledok do grafickeho formatu pouzivajuceho bitmapovy pristup (napr. PCX, GIF, TIFF, JPEG, MSP) a potom pouzijete koverzny program na vytvorenie PS suboru, aj tento bude pouzivat bitmapovy pristup, a teda bude velky. V PS jazyku je vsak mozne zadefinovat kompresny algoritmus a data v PS subore mozu byt zbalene. Pokial teda musite pouzit bitmapovy pristup (obrazky zo scanera, fotografie), pouzite v konverznom programe option, aby bol vysledny PS subor komprimovany. Upozornime este, ze ak vysledok exportujete do jazyka HPGL (typicky vektorovy format) a pouzijete konverzny program hp2xx vysledny PS subor bude pouzivat taktiez vektorovy pristup. Encapsulated PS (EPS) je male ale dolezite rozsirenie jazyka PS. v PS subore sa nachadza napr. riadok: %%BoundingBox: 0 0 200 300 ktory oznacuje rozmery obrazku. LaTeX v spolupraci s (pod)stylom psfig potrebuje tento prikaz, aby vedel urcit rozmery obrazku. Z tohoto dovodu nie je mozne exportovat obrazok z grapher-a priamo do PS, kedze vysledkom nie je EPS s potrebnym BoundingBox. Je nutne pouzit cestu: Aj jazyk PS sa vyvija. Existuju viacere verzie jazyka, najnovsia je verzia 3. Verzie su spatne kompatibilne. Kedze PS subory maju tendenciu byt velmi velke, fy. Adobe predstavila novy format PDF, ktory je zalozeny na PS, je vsak znacne uspornejsi. Jazyk PDF sa stava znacne oblubenym a rozsirenym. Existuju programy (u nas napr. ghostscript na auriga.ta3.sk) schopne robit obojsmernu konverziu (E)PS<->PDF. ----------------------------------------------------------------------- 3.b; PS - obrazky: software ~~~~~~~~~~~~~~~~~~~~~~~~~~~ (E)PS obrazky mozete vytvarat napriklad pomocou: MIDAS, IRAF, gnuplot. Konvertovat ine graficke formaty do jazyka (E)PS Vam umozni napr.: xv (linux), ImageMagick (auriga), alchemy (DOS), CorelDraw (Windows) Program hp2xx (DOS, UNIXy: auriga, linux) Vam umozni prekonvertovat format HPGL do formatu EPS: hp2xx -m eps -f obr1.eps obr1.pgl Vyhodou je, ze vysledny EPS pouziva vektorovy pristup, a je teda mensi. Toto je aj cesta, ako vyprodukovat EPS obrazky z grapher-a: grapher -> HPGL format (*.pgl) -> hp2xx -> EPS format ----------------------------------------------------------------------- 3.c; dvips ~~~~~~~~~~ dvips je program, ktory prekonvertuje dvi (vysledok LaTeX-ovskej) kompilacie do formatu EPS, ktory obsahuje kompletny dokument. Pozite ho v syntaxi: dvips meno_file.dvi a vznikne Vam subor meno_file.ps. V pracovnom adresari musia byt pritomne aj vsetky obrazky vo formate EPS, ktore LaTeX-ovsky zdrojak (meno_file.tex) referuje. Schema je teda nasledovna: LaTeX-ovsky zdrojovy text + obrazky v EPS formate -> LaTeX-ovska kompilacia: prikaz "latex" -> vznikne *.dvi subor -> konverzia do PS programom dvips -> vysledny dokument v PS formate ----------------------------------------------------------------------- 3.d; X-terminal, LaTeX, dvips na UNIXoch (linux) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Vzhladom na pouzivanie (E)PS obrazkov v LaTeX-u a s tym suvisiace problemy pri zobrazovani (E)PS suborov, ale aj z inych dovodov (vypocetna sila UNIX-ovskych systemov, vyhody operacneho systemu UNIX, existencia viacerych astronomickych programovych balikov pod systemom UNIX, ...) je vhodne blizsie rozobrat zakladne zasady pri pouzivani UNIX-ovskych pocitacov (u nas auriga, linuxy). Zakladnou charakteristikou UNIX-u je ze je to multiuser a multitasking operacny system. To znamena, ze naraz na jednom pocitaci moze pracovat viacero uzivatelov a kazdy moze mat spustenych viacero uloh (procesov) naraz. Aby mohlo pracovat naraz viacero uzivatelov k pocitacu musi byt pripojenych viacero terminalov resp. musi existovat moznost prihlasit sa na pocitac zo vzdialenych pocitacov (telnet), cim sa vzdialeny pocitac stane vlastne terminalom daneho pocitaca. Zakladny terminal (v pripade PC, monitor a klavesnica pripojena priamo do PC) sa nazyva konzola. Osobitnu kategoriu terminalov tvoria tzv. X-terminaly. Su to terminaly, ktore umoznuju pracu v grafickom rezime, teda nie iba riadkove. X-terminal je mozne bud priamo kupit (velmi drahe), alebo pouzit pocitac a na nom spustit program, ktory z neho vlastne X-terminal vyrobi (pod DOSom napr. Xceed, Xappeal, pripadne xterm pod Windows: opat tieto programy je potrebne kupit a nie su najlacnejsie). Najschodnejsou a najlacnejsou cestou je zrejme pouzit linux. Linux je kompletny UNIXovsky operacny system: sucastou moze byt aj TeX/LaTeX, dvips, kompilatory, ... V pripade, ze sa rozhodnete na Vas pocitac nainstalovat kompletnu distribuciu linuxu (zaberie asi 300MB diskoveho priestoru a pocitac by mal mat aspon 12MB operacnej pamate; cygnus ma len 8MB), vsetko mate vlastne na pocitaci. Je vsak mozne nainstalovat na Vas pocitac linux iba v minimalnej konfiguracii (sietove utility, X-windowing system), dokonca v ramci DOSovskeho filesystemu (nie je potrebne vytvorit linuxovsku particiu na disku pocitaca). Predpokladajme, ze pocitac cygnus.ta3.sk je linux iba v zakladnej konfiguracii a na pocitaci auriga.ta3.sk sa nachadzaju programy LaTeX atd. Spustenim linuxovskeho X-servera (spusti sa sam na virtualnej konzole 7, alebo pokial Vas system nie je takto nastaveny, spustite ho pomocou "startx") sa vlastne konzola cygna stane X-terminalom. Pred pripojenim na server (auriga) s LaTeXom a dalsimi programami musite povolit otvaranie X-okien klientov z aurigy na cygne prikazom: xhost +auriga.ta3.sk Potom sa prihlasime na server: telnet auriga.ta3.sk Servru musime dat vediet, ze aplikacie (programy, klienti) s grafickym vystupom maju svoje graficke X-okna otvarat na konzole cygnu. Podla typu Vasho shell-u pouzite: setenv DISPLAY cygnus.ta3.sk:0 alebo DISPLAY=cygnus.ta3.sk:0 Od tohto momentu sice pracujete na pocitaci auriga.ta3.sk, ale vsetky graficke vystupy su zobrazozovane na konzole cygnu (Xserveri). Prikazy suvisiace s TeX/LaTeX na linuxe: latex meno.tex - kompilacia LaTeX-ovskeho zdrojoveho textu tex meno.tex - kompilacia TeX-ovskeho zdrojoveho textu xdvi meno.dvi - zobrazenie dvi (vysledku kompilacie) v X-okne X-terminalu (X-servera) dvips meno.dvi - konverzia dvi formatu do formatu PS ghostview meno - zobrazenie (E)PS suboru v X-okne X-terminalu (X-servera), s roznymi dalsimi moznostami gs meno - (ghostscript) zakladne zobrazenie (E)PS suboru v X-okne X-terminalu (X-servera) Podrobnejsi popis vsetkych programov ziskate precitanim manualu, napr.: man dvips ----------------------------------------------------------------------- 4; DALSIE POZNAMKY PRE SPRAVNE PISANIE LaTeX DOKUMENTOV ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Aby sa clovek vyhol nutnosti prepisovania LaTeX-ovskeho zdrojoveho textu pri nejakej zmene, je potrebne pouzivat relativne referovanie. Jednotlive objekty (sections, figures, tables, equations, ...) je potrebne pomocou prikazu "\label" oznacit logickym menom a potom v dalsom texte na referovanie obejktu, resp. jeho umiestnenia pouzivat toto logicke meno. Potrebne je zdoraznit, ze prikaz "\label" sa v prostrediach figure a table musi nachadzat az za prikazom "\caption". Taktiez taketo zdrojaky je potrebne kompilovat 2krat. Priklad: \begin{figure} \centerline{\psfig{file=histogram.eps,width=5.cm}} \caption{Histogram nameranych hodnot.} \label{obr_histogram_merane} \end{figure} . . . Obrazok~\ref{{obr_histogram_merane} na strane~\pageref{obr_histogram_merane} zobrazuje histogram nameranych hodnot. Pokial pisete dokument pre uverejnenie v Astron. & Astrophys. je potrebne si uvedomit, ze styl l-aa pre toto urceny nepouziva standardne LaTeX fonty Computer Modern (CM) ale PS fonty. Preto je potrebne kompilaciu na linuxoch robit pomocou prikazu aalatex a nie latex. Na DOSe sa mi pouzivanie PS fontov nepodarilo nainstalovat. Vzhladom na odlisne metriky PS a CM fontov je vysledok rozdielny (ine zalamovanie riadkov, stran... Kedze aj LaTeX sa vyvija, sucasnou verziou (distribuciou) je LaTeX2e, starsia verzia je LaTeX 2.09. Zmeny pre uzivatela su vacsinou skryte, ide hlavne o sposob narabania s fontami a vobec cela koncepcia vytvarania fontov. Na DOSoch mame verziu LaTeX 2.09 na linuxoch je LaTeX2e. Z hladiska uzivatela je podstatne, ze novsia verzia je spatne kompatibilna. Takze hoci LaTeX2e pouziva napr. namiesto prikazu \documentstyle prikaz \documentclass, pokial pouzijete syntax starsej verzie novy LaTeX to automaticky rozpozna a naloaduje mod kompatibility s verziou 2.09 a potom sa sprava presne ako starsia verzia. Vzhladom vsak na rozdiely v metrikach fontov jednotlivych verzii, vysledok po kompilacii novou verziou sa moze lisit zalamovanim riadkov a teda aj dlzkou celeho dokumentu od vysledku ziskanom zo starej verzie. -----------------------------------------------------------------------