LaTeX/Кутије
LaTeX прави странице тако што гура кутије около. Прво, свако слово је мала кутија, која се касније залепи за друга слова како би се направила реч. Они су касније залепљени за остале речи, али са специјалним лепком, који је еластичан тако да серије речи могу бити стиснуте или развучене тако да тачно попуне линију.
Додуше, ово је веома једноставан опис онога што се стварно дешава, али ствар је у томе да ТеХ оперише лепком и кутијама. Слова нису једина ствар која може бити у кутијама. Неко може виртуелно ставити шта хоће, укључујући и друге кутије. Сваку кутију ће онда LaTeX преузети као да су једно слово.
Прошла поглавља су веч имали посла са неким кутијама, иако нису била описана као таква. Таблично окружење и \includegraphics
, на пример, обоје праве кутију. Ово значи да један од њих може лако наместити табеле или слике по страни. Морате само да се осигурате њихова комбинована ширина није дужа од \textwidth
.
TeX кутије карактера
[уреди]TeX карактери су чувани у кутијама као сваки иштампани елемент. Кутије имају тродимензионалне карактеристике:
- висина је дужина између главне линије и врха кутије.
- дубина је дужина између главне линије и дна кутије.
- ширина је ширина кутије.
makebox и mbox
[уреди]Док \parbox
пакује цео параграф радећи прекид линије и остало, постоји такође класа команди кутија која оперише само над хоризонтално поређаним материјалом. Већ знамо једног од њих; зове се \mbox
. Једноставно пакује серије кутија у другу, и може се користити да спречи LaTeX да разбије две речи. (ВИдети Хипернација.) Пошто се кутије могу ставити унутар кутија, ови хоризонтални пакери кутија дају ултимативну флексибилност.
\mbox{text}
\makebox[width][pos]{text}
|
ширина дефинише ширину резултујуће кутије како се види споља. Ово значи да може бити мања од материјала унутар кутије. Можете чак поставити ширину на 0пт тако да текст унутра ће бити слагање слога без утицаја кутија које га окружују. Осим дужина експресија, можете такође користити \width
, \height
, \depth
и \totalheight
у ширина параметра. Постављени су од вредности које су постигнуте мерењем слога у тексту.
pos параметар узима вредност једног слова : ц(c)ентар, равнол(l)ево, равнод(r)есно, или ш(s)ирење текста да попуни кутију.
\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
[уреди]Команда \framebox
ради исто као и \makebox
, али извлачи кутију око текста.
\fbox{text}
\framebox[width][pos]{text}
|
Следећи пример показује нам неке ствари које се могу радити са \makebox
and \framebox
командама:
\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?
|
Можете повући сладеће душине оквира.
\fboxsep
: растојање између оквира и садржине.\fboxrule
: дебљина првила.
Ово штампа дебео и далеки оквир:
\setlength{\fboxsep}{10pt}
\setlength{\fboxrule}{5pt}
\fbox{A frame.}
|
Ово приказује оквир кутије за слово.
\setlength{\fboxsep}{0pt}
\fbox{A}
|
уоквирен
[уреди]Алтернатива ових приступа је коришћење уоквиреног окружења (морали бисте да укључите и уоквирен пакет за коришћење). Ово пружа лакши начин да се складишти параграф унутар документа:
\usepackage{framed}
% ...
\begin{framed}
Ово је лак начин да се складишти текст унутар документа!
\end{framed}
|
Можете то уради ручно преко parbox.
raisebox
[уреди]Сада пошто контролишемо хоризонталу, очигледни следећи корак је да се иде за вертикалом. Нема проблема за LaTeX.
\raisebox{lift}[height][depth]{text}
|
команда дозвољава нам да дефинишемо вертиклане карактеристике кутије. Можете користити \width
, \height
, \depth
и \totalheight
у прва три параметра, да би се утицало на величину кутије унутар текст аргумента. Два могућа сета параметра за висину и дубину raisebox-а. На пример можете посматрати разлику када се угради у 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 и parbox
[уреди]Најстандардније LaTeX кутије нису "дугачке" команде, "тј." не прихватају прекиде нити параграфе.
Како год можете паковати параграф по избору у кутија или са \parbox[pos][height][contentpos]{width}{text}
командом или \begin{minipage}[pos][height][contentpos]{width} text \end{minipage}
окружењем.
pos може прихватити једно од слова центар, врх или дно како би се користила вертикална додела кутије, релативно главној линији текста који га окружује.
висина параметар је висина parbox или minipage.
contentpos параметар је позиција садржине и може бити један од центар, врх, дно или развучен.
ширина прима дужину аргумента специфирајући ширину кутије. Главна разлике измеђуminipage-а и \parbox
је та да не можете користити све команде и окружења унутар parbox, док је скоро све могуће у minipage-у.
\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} }
|
Ово би требало да штампа 3 кутије на истој линији. Не стављати још један прекид линије између \fbox
, иначе ставићете следеће \fbox
у други параграф на другој линији.
Параграфи у свим кутијама
[уреди]Можете имати користи од "дугачких" могућности minipage-a i parbox-a да би додали параграфи у кратким кутијама. На пример:
\fbox{
\parbox{\textwidth}{
Неки веома дугачак текст...
}
}
|
Ово спречава грешку препуњености.
Можете такође користити
\pbox{\textwidth}{my text}
|
из pbox пакета који ће створити кутију минималне величине око текста. Имати на уму да\pbox команда узима опционални аргумент који специфира вертикалну позицију текста:
\pbox[b]{\textwidth}{my text}
|
Валидне вредносту су b (дно), t (врх), и c (центар). Ако наведете дужину првог (траженог) аргумента, текст ће бити упакован:
\pbox[b]{5cm}{Ово је дугачак текст који ће бити ушакован оног тренутка када достигне пет центиметара.}
|
savebox
[уреди]\savebox
је референца за кутију попуњену садржајем. Можете га користити као начин да иштампате или манипулишете нечин непрестано.
\newsavebox{\boxname}
\savebox{\boxname}{some content}
\usebox{\boxname}
|
Команда \newsavebox
ствара чувара места за чување текста;
Команда \savebox
чува специфиран текст у овом чувару места, и не приказује ниста у документу; и \usebox
позива садржину чувара места у документ.
rotatebox
[уреди]Видети Ротације.
colorbox и fcolorbox
[уреди]Видети Боје.
\fcolorbox
такође се могу уклопити са \fboxsep
и \fboxrule
.
resizebox и scalebox
[уреди]graphicx пакет садржи додатне кутије
\resizebox{10ex}{2\baselineskip}{Dunhill style}
\scalebox{10}{Giant}
|
fancybox
[уреди]fancybox пакет пружа додатне кутије.
\doublebox
\ovalbox
\shadowbox