LaTeX/Kutije
LaTeX pravi stranice tako što gura kutije okolo. Prvo, svako slovo je mala kutija, koja se kasnije zalepi za druga slova kako bi se napravila reč. Oni su kasnije zalepljeni za ostale reči, ali sa specijalnim lepkom, koji je elastičan tako da serije reči mogu biti stisnute ili razvučene tako da tačno popune liniju.
Doduše, ovo je veoma jednostavan opis onoga što se stvarno dešava, ali stvar je u tome da TeH operiše lepkom i kutijama. Slova nisu jedina stvar koja može biti u kutijama. Neko može virtuelno staviti šta hoće, uključujući i druge kutije. Svaku kutiju će onda LaTeX preuzeti kao da su jedno slovo.
Prošla poglavlja su več imali posla sa nekim kutijama, iako nisu bila opisana kao takva. Tablično okruženje i \includegraphics
, na primer, oboje prave kutiju. Ovo znači da jedan od njih može lako namestiti tabele ili slike po strani. Morate samo da se osigurate njihova kombinovana širina nije duža od \textwidth
.
TeX kutije karaktera
[uredi]TeX karakteri su čuvani u kutijama kao svaki ištampani element. Kutije imaju trodimenzionalne karakteristike:
- visina je dužina između glavne linije i vrha kutije.
- dubina je dužina između glavne linije i dna kutije.
- širina je širina kutije.
makebox i mbox
[uredi]Dok \parbox
pakuje ceo paragraf radeći prekid linije i ostalo, postoji takođe klasa komandi kutija koja operiše samo nad horizontalno poređanim materijalom. Već znamo jednog od njih; zove se \mbox
. Jednostavno pakuje serije kutija u drugu, i može se koristiti da spreči LaTeX da razbije dve reči. (VIdeti Hipernacija.) Pošto se kutije mogu staviti unutar kutija, ovi horizontalni pakeri kutija daju ultimativnu fleksibilnost.
\mbox{text}
\makebox[width][pos]{text}
|
širina definiše širinu rezultujuće kutije kako se vidi spolja. Ovo znači da može biti manja od materijala unutar kutije. Možete čak postaviti širinu na 0pt tako da tekst unutra će biti slaganje sloga bez uticaja kutija koje ga okružuju. Osim dužina ekspresija, možete takođe koristiti \width
, \height
, \depth
i \totalheight
u širina parametra. Postavljeni su od vrednosti koje su postignute merenjem sloga u tekstu.
pos parametar uzima vrednost jednog slova : c(c)entar, ravnol(l)evo, ravnod(r)esno, ili š(s)irenje teksta da popuni kutiju.
\makebox[0pt]{Some text} over this text
\makebox[15ex][s]{Censored text}\hspace{-15ex}\makebox[15ex][s]{X X X X X}
Text \makebox[2\width][r]{running away}
|
framebox
[uredi]Komanda \framebox
radi isto kao i \makebox
, ali izvlači kutiju oko teksta.
\fbox{text}
\framebox[width][pos]{text}
|
Sledeći primer pokazuje nam neke stvari koje se mogu raditi sa \makebox
and \framebox
komandama:
\makebox[\textwidth]{c e n t r a l} \par
\makebox[\textwidth][s]{s p r e a d} \par
\framebox[1.1\width]{Guess I’m framed now!} \par
\framebox[0.8\width][r]{Bummer, I am too wide} \par
\framebox[1cm][l]{never mind, so am I}
Can you read this?
|
Možete povući sladeće dušine okvira.
\fboxsep
: rastojanje između okvira i sadržine.\fboxrule
: debljina prvila.
Ovo štampa debeo i daleki okvir:
\setlength{\fboxsep}{10pt}
\setlength{\fboxrule}{5pt}
\fbox{A frame.}
|
Ovo prikazuje okvir kutije za slovo.
\setlength{\fboxsep}{0pt}
\fbox{A}
|
uokviren
[uredi]Alternativa ovih pristupa je korišćenje uokvirenog okruženja (morali biste da uključite i uokviren paket za korišćenje). Ovo pruža lakši način da se skladišti paragraf unutar dokumenta:
\usepackage{framed}
% ...
\begin{framed}
Ово је лак начин да се складишти текст унутар документа!
\end{framed}
|
Možete to uradi ručno preko parbox.
raisebox
[uredi]Sada pošto kontrolišemo horizontalu, očigledni sledeći korak je da se ide za vertikalom. Nema problema za LaTeX.
\raisebox{lift}[height][depth]{text}
|
komanda dozvoljava nam da definišemo vertiklane karakteristike kutije. Možete koristiti \width
, \height
, \depth
i \totalheight
u prva tri parametra, da bi se uticalo na veličinu kutije unutar tekst argumenta. Dva moguća seta parametra za visinu i dubinu raisebox-a. Na primer možete posmatrati razliku kada se ugradi u framebox.
\raisebox{0pt}[0pt][0pt]{\Large%
\textbf{Aaaa\raisebox{-0.3ex}{a}%
\raisebox{-0.7ex}{aa}%
\raisebox{-1.2ex}{r}%
\raisebox{-2.2ex}{g}%
\raisebox{-4.5ex}{h}
}
}
викнуо је али чак ни следећи
у линији није приметио да се нешто
лоше десило њему.
|
minipage i parbox
[uredi]Najstandardnije LaTeX kutije nisu "dugačke" komande, "tj." ne prihvataju prekide niti paragrafe.
Kako god možete pakovati paragraf po izboru u kutija ili sa \parbox[pos][height][contentpos]{width}{text}
komandom ili \begin{minipage}[pos][height][contentpos]{width} text \end{minipage}
okruženjem.
pos može prihvatiti jedno od slova centar, vrh ili dno kako bi se koristila vertikalna dodela kutije, relativno glavnoj liniji teksta koji ga okružuje.
visina parametar je visina parbox ili minipage.
contentpos parametar je pozicija sadržine i može biti jedan od centar, vrh, dno ili razvučen.
širina prima dužinu argumenta specifirajući širinu kutije. Glavna razlike izmeđuminipage-a i \parbox
je ta da ne možete koristiti sve komande i okruženja unutar parbox, dok je skoro sve moguće u minipage-u.
\noindent
\fbox{\parbox[b][4em][t]{0.33\textwidth}{Some \\ text} }
\fbox{\parbox[c][4em][s]{0.33\textwidth}{Some \vfill text} }
\fbox{\parbox[t][4em][c]{0.33\textwidth}{Some \\ text} }
|
Ovo bi trebalo da štampa 3 kutije na istoj liniji. Ne stavljati još jedan prekid linije između \fbox
, inače stavićete sledeće \fbox
u drugi paragraf na drugoj liniji.
Paragrafi u svim kutijama
[uredi]Možete imati koristi od "dugačkih" mogućnosti minipage-a i parbox-a da bi dodali paragrafi u kratkim kutijama. Na primer:
\fbox{
\parbox{\textwidth}{
Неки веома дугачак текст...
}
}
|
Ovo sprečava grešku prepunjenosti.
Možete takođe koristiti
\pbox{\textwidth}{my text}
|
iz pbox paketa koji će stvoriti kutiju minimalne veličine oko teksta. Imati na umu da\pbox komanda uzima opcionalni argument koji specifira vertikalnu poziciju teksta:
\pbox[b]{\textwidth}{my text}
|
Validne vrednostu su b (dno), t (vrh), i c (centar). Ako navedete dužinu prvog (traženog) argumenta, tekst će biti upakovan:
\pbox[b]{5cm}{Ово је дугачак текст који ће бити ушакован оног тренутка када достигне пет центиметара.}
|
savebox
[uredi]\savebox
je referenca za kutiju popunjenu sadržajem. Možete ga koristiti kao način da ištampate ili manipulišete nečin neprestano.
\newsavebox{\boxname}
\savebox{\boxname}{some content}
\usebox{\boxname}
|
Komanda \newsavebox
stvara čuvara mesta za čuvanje teksta;
Komanda \savebox
čuva specifiran tekst u ovom čuvaru mesta, i ne prikazuje nista u dokumentu; i \usebox
poziva sadržinu čuvara mesta u dokument.
rotatebox
[uredi]Videti Rotacije.
colorbox i fcolorbox
[uredi]Videti Boje.
\fcolorbox
takođe se mogu uklopiti sa \fboxsep
i \fboxrule
.
resizebox i scalebox
[uredi]graphicx paket sadrži dodatne kutije
\resizebox{10ex}{2\baselineskip}{Dunhill style}
\scalebox{10}{Giant}
|
fancybox
[uredi]fancybox paket pruža dodatne kutije.
\doublebox
\ovalbox
\shadowbox