Diel XI.

V tomto dieli sa budeme zaoberať ďalšími grafickými balíkmi, konkrétne balíkmi graphics a graphicx. Ak by sme možnosti prvého balíku označili ako štandardné, potom môžeme možnosti toho druhého označiť ako rozšírené. Tieto dva balíky sa líšia len vo voliteľných parametroch odpovedajúcich príkazov. Názvy príkazov a povinné parametre sú rovnaké.

Podobne, ako pri balíku color, aj tu budeme predpokladať používanie driveru dvips. Tiež ešte raz upozorňujeme, že pri prezeraní dvi súboru nemusí byť dokument zobrazený správne, ale po skompilovaní programom dvips bude výstupný postscript v poriadku.

Otáčanie

graphics: \rotatebox{uhol}{text}

graphicx: \rotatebox[voľby]{uhol}{text}

Príkaz \rotatebox vloží text do boxu, ktorý potom otočí o uhol uhol v kladnom smere. (Kladný smer otáčania je smer proti otáčaniu hodinových ručičiek.)

Pri balíku graphicx je voliteľným parametrom čiarkami oddelený zoznam tzv. kľúčov s hodnotami. V tomto príkaze existujú kľúče origin, x, y a units.

origin=návestie
x=rozmer
y=rozmer
units=číslo

Pomocou kľúčov x a y môžete určiť súradnice bodu otáčania textu, relatívne ku referenčnému bodu boxu (čo je dolný ľavý roh), do ktorého je otáčaný text umiestnený. Niektoré často používané súradnice bodu otáčania nemusíte určovať kľúčmi x a y, ale môžete použiť kľúč origin. Hodnota tohto kľúču, návestie, je prípustný znak alebo prípustná kombinácia dvoch znakov z množiny l (ľavý okraj), r (pravý okraj), c (stred boxu), t (horný okraj), b (spodný okraj), B (baseline, základňa). Vyskúšajte si nasledujúci príklad:

	\documentclass[12pt]{article}
	\usepackage{a4,slovak}
	\usepackage[dvips]{graphicx}

	\begin{document}
	V tejto vete sú \rotatebox{45}{niektoré} \rotatebox[origin=lb]{-45}{slová}
	\rotatebox[x=5pt,y=10pt]{-23}{pootáčané} \rotatebox[units=100,origin=c]{25}{až moc.}
	\end{document}

V prípade, že neurčíte tento bod, text sa bude otáčať okolo referenčného bodu boxu. Posledným kľúčom, ktorý ostal nevysvetlený, je units. Jeho hodnota udáva, aká hodnota parametru uhol predstavuje plný uhol. V prípade, že je záporná, bude uhol v príkaze \rotatebox predstavovať otáčanie v zápornom smere (v smere pohybu hodinových ručičiek). Napríklad [units=-360] znamená, že budeme uhly otáčania v zápornom smere zadávať v stupňoch, pri [units=6.283128] budeme text otáčať v kladom smere o uhol zadaný v radiánoch.

Zmena mierky (scaling)

Pomocou zmeny mierky môžeme zmenšovať či zväčšovať výšku alebo šírku textu, alebo robiť jeho zrkadlenie.

	\scalebox{h-koef}[v-koef]{text}

Tento príkaz vysádza text v boxe, ktorého šírka bude zväčšená h-koef krát a výška v-koef krát (oproti šírke a výške boxu, do ktorého by sa práve zmestil text). Ak nie je hodnota koeficientu v-koef explicitne zadaná, je rovnaká ako h-koef. Záporné hodnoty spôsobujú zrkadlenie textu. Nasledujúci príklad demonštruje použitie tohto príkazu.

	\documentclass[12pt]{article}
	\usepackage{a4,slovak}
	\usepackage[dvips]{graphicx}

	\begin{document}
	\scalebox{3.2}{1}
	\scalebox{3}[-2]{2} \scalebox{-0.7}{3}
	\scalebox{1.5}{4}
	\scalebox{2.6}[0.7]{5} \scalebox{2}{6}
	\scalebox{1.3}{7}
	\scalebox{1.5}[-1.3]{8} \reflectbox{9}
	0
	\end{document}

Určite ste si všimli, že sme v tomto príklade použili príkaz \reflectbox{text}. Tento príkaz je identický so \scalebox{-1}[1]{text}.

Ďalší príkaz, ktorý môžeme použiť na zmenu mierky textu je

	\resizebox{šírka}{výška}{text}

Parametre šírka a výška určujú šírku a výšku boxu s textom text. V prípade, že jeden z parametrov je !, ten druhý slúži na zistenie mierky, ktorá je potom použitá v obidvoch smeroch. Inými slovami, je zachovaný pomer strán boxu.

	\documentclass[12pt]{article}
	\usepackage{a4,slovak}
	\usepackage[dvips]{graphicx}
	\begin{document}
	\rotatebox{90}{\resizebox{0.5cm}{!}{PC}}\,\resizebox{!}{0.5cm}{Revue}
	\end{document}

Vkladanie encapsulated postcript obrázkov

V jednom z minulých dielov sme sa vkladaniu eps obrázkov do dokumentov už zaoberali. Vtedy sme použili balík epsf. Dnes si ukážeme, ako môžeme vkladať obrázky pomocou balíkov graphics a graphicx.

graphics: \includegraphics[*][llx,lly][urx,ury]{súbor}

graphicx: \includegraphics[*][zoznam]{súbor}

Uvedené príkazy vložia do dokumentu obrázok zo súboru súbor. Ak sú použité príkazy s *, budú vkladané obrázky orezané na zadanú veľkosť. V opačnom prípade, bude vytlačená aj časť presahujúca zadaný bounding box. (Bounding box špecifikuje ohraničujúci rám a je zadaný v eps súbore. Skúste si vyhľadať v nejakom eps súbore riadok začínajúci %%BoundingBox alebo %%HiResBoundingBox (HiRes je skratka z high resolution, vysoké rozlíšenie).)

V balíku graphics, urx,ury sú súradnice pravého horného (ur, upper right) rohu ohraničujúceho rámu. Ak sú tieto súradnice zadané bez jednotiek, použijú sa bp (1 in=72 bp). llx,lly určujú súradnice ľavého dolného (ll, lower left) rohu a v prípade, že je zadaný len jeden voliteľný parameter, sú tieto 0,0. Ak nie je zadaný ani jeden voliteľný parameter, sú použité hodnoty získané z %%BoundingBox (resp. %%HiResBoundingBox).

V balíku graphicx uvedieme kľúče s hodnotami (ak sú požadované) ako čiarkami oddelený zoznam (podobne ako pri \rotatebox). V nasledujúcej tabuľke uvádzame niektoré často používané kľúče. (Pod množinou súradníc sa myslí medzerami oddelený zoznam 4 čísiel, ktoré určujú postupne x-ovú a y-ovú súradnicu ľavého dolného rohu a x-ovú a y-ovú súradnicu pravého horného rohu.)

Kľúč Hodnota
bb Množina súradníc určujúca ohraničujúci rám.
hiresbb Ak je hodnota true, potom TeX hľadá súradnice ohraničujúceho rámu v riadku začínajúceho %%HiResBoundingBox a nie %%BoundingBox. Štandardná hodnota je true. (Pozn.: Opakom true je samozrejme false.)
angle Uhol otočenia obrázku.
origin Význam je rovnaký ako pri kľúči origin v príkaze \rotatebox.
width Požadovaná šírka obrázku.
height Požadovaná výška obrázku.
scale Požadovaná mierka.
clip Ak je hodnota true (alebo ak nie je hodnota špecifikovaná), vkladaný súbor bude orezaný ohraničujúcim rámom.

Kľúče sú čítané zľava doprava. To znamená, že ak použijete voliteľný parameter [angle=90, height=1in] bude obrázok otočený o 90 stupňov a až potom bude jeho výška upravená na 1 palec.

Použitie príkazu \includegraphics si ukážeme na nasledujúcom príklade. Ako vkladaný obrázok sme použili súbor main.ps. Obrázok tvorí obdĺžnik so stranou 0,5 palca, zvnútra ktorého je pri ľavom dolnom rohu nápis LD a pri pravom hornom rohu nápis PH. V súbore main.ps sa nachádza aj riadok %%BoundingBox: 0 0 36 36.

	\documentclass[12pt]{article}
	\usepackage{a4,slovak}
	\usepackage[dvips]{graphicx}

	\begin{document}

	\def \cmd#1{---\fbox{#1}---}
	\cmd{\includegraphics{main.ps}}
	\cmd{\includegraphics[scale=0.5]{main.ps}}
	\cmd{\includegraphics[bb=10 10 20 20]{main.ps}}
	\cmd{\includegraphics[bb=3 0 20 20,clip]{main.ps}}
	\cmd{\includegraphics[angle=45,height=1.5cm]{main.ps}}
	\cmd{\includegraphics[height=1.5cm,angle=45]{main.ps}}

	\end{document}

Autor: Ján Kudlička. Vyšlo v PC Revue 5/00 a v Netáčiku.