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