%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Contents: Typesetting Part of LaTeX2e Introduction
% $Id: typeset.tex,v 1.4 1998/09/29 08:05:09 oetiker Exp oetiker $
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{\cyr{}Набір тексту}
\begin{intro}
  Після прочитання попереднього розділу ви повинні мати уявлення, з чого
  складається документ \LaTeX{}. У цьому розділі ви отримаєте знання,
  необхідні для створення реальних документів.
\end{intro}

\section{\cyr{}Структура тексту і мови}
\secby{Hanspeter Schmid}{hanspi@schmid-werren.ch}
Основна мета написання тексту (за виключенням деякої сучасної 
  UVA\footnote{Швейцарською німецькою <<не схожий будь-якою ціною>> 
  (Um's Verrecken Anders).} літератури), "--- передати читачу ідеї, 
інформацію, чи знання. Читач краще зрозуміє текст, якщо ці ідеї
структуровано, і набагато краще побачить і відчує цю структуру,
якщо типографська форма відбиває логічну і семантичну структуру
документа. 

\LaTeX{} відрізняється від інших систем комп'ютерного набору тим,
що вам потрібно лише задавати йому логічну і семантичну структуру
тексту. Він потім вибирає типографську форму відповідно до
<<правил>>, заданих у файлі класу документа та в різних стильових
файлах.

Найважливіший елемент тексту в \LaTeX{} (і в типографії взагалі)
"--- абзац.\index{абзац} Він називається <<одиницею тексту>>, тому що абзац є
тією типографською формою, яка повинна відображувати одну зв'язну
думку або ідею. Далі ви довідаєтеся, як можна отримати розрив
рядка, наприклад, за допомогою \texttt{\bs\bs}, або початок
абзаца, наприклад, залишивши порожній рядок. Тому, якщо
починається нова думка, повинен починатися новий абзац, а, якщо
ні, "--- використовуйте розрив рядка. Якщо ви маєте сумнів щодо
поділу на абзаци, подумайте про ваш текст, як про носія ідей і
думок. Якщо ви почали новий абзац, продовжуючи стару думку, "---
заберіть початок нового абзаца. Якщо протягом абзаца починається
зовсім нова думка "--- розбийте його на два.

Більшість людей недооцінюють важливість належної організації
абзаців. Багато хто навіть не розуміє значення абзацних розривів,
і, особливо в \LaTeX{}, починає новий абзац, навіть не
усвідомлюючи цього. Останню помилку особливо легко зробити, коли
в тексті є формули. Подивіться на наступні приклади і спробуйте
зрозуміти, чому іноді в них використовуються порожні рядки
(розриви абзаців), а іноді "--- ні. (Якщо ви ще не знаєте усіх
команд на рівні, достатньому для розуміння прикладів, прочитайте,
будь ласка, цей і наступний розділи, і потім поверніться до
прикладів знову.)

\begin{code}
\begin{verbatim}
% Приклад 1
\ldots коли Ейнштейн вивів свою формулу
\begin{equation} 
  e = m \cdot c^2 \; , 
\end{equation} 
яка є одночасно найширше відомою 
і найменш зрозумілою фізичною формулою.

% Приклад 2
\ldots з чого випливає закон струму Кірхгофа:
\begin{equation} 
  \sum_{k=1}{n} I_k = 0 \; .
\end{equation} 

Закон струму Кірхгофа можна вивести \ldots

% Приклад 3
\ldots який має кілька переваг.

\begin{equation} 
  I_D = I_F - I_R
\end{equation} 
є ядром зовсім іншої моделі транзистора.
\ldots
\end{verbatim}
\end{code} 

Наступна, менша, одиниця тексту "--- речення. 
У англійському тексті після крапки, що завершує речення, ставиться
довший пробіл, ніж після крапки, яка стоїть після скорочення. 
\LaTeX{} намагається визначити, яку з них ви мали на увазі. 
Якщо він помиляється, ви повинні йому підказати. 
Це пояснено далі у цьому розділі.

Належна організація тексту стосується і окремих частини речень. 
Більшість мов використовує дуже складні правила пунктуації, 
але в деяких (включаючи німецьку і англійську) ви
розставите майже усі коми на місця, просто пам'ятаючи, що вони значать: 
коротку зупинку в потоці викладу. Якщо ви не впевнені у своїх
к\'омах, прочитайте речення вголос, роблячи коротку паузу на кожній комі. 
Якщо десь це пролунає дивно, заберіть цю кому, якщо ви відчуєте 
необхідність зупинки в іншому місці, поставте кому там.

Нарешті, абзаци тексту повинні бути також логічно структуровані
на більш високому рівні поєднанням у розділи, підрозділи, і так
далі. Однак, типографський ефект написання, наприклад,
\verb|\section{|\texttt{Структура тексту і мови}\verb|}|,
настільки очевидний, що повинно бути одразу зрозуміло (для тих,
хто знає англійську мову:-), як використовувати ці високорівневі
структури.

\section{\cyr{}Поділ на рядки і сторінки}
 
\subsection{\cyr{}Вирівнювання абзаців}\index{абзац!вирівнювання}

Набір книг часто здійснюється так, щоб усі рядки мали однакову
довжину. \LaTeX{} вставляє необхідні розриви рядків\index{розриви
рядків} і пробіли між словами, оптимізуючи форматування усього
абзацу. При необхідності він також переносить слова, які не можна
розмістити в рядку. Форматування абзаців залежить від класу
документа. Звичайно кожен абзац починається з відступу, а між
двома послідовними абзацами не робиться додаткового інтервалу.
Подробиці дивіться у розділі~\ref{parsp}.

У деяких випадках може бути необхідно вказати \LaTeX{}, що
потрібно розірвати рядок у певному місці:

\begin{lscommand}
\ci{\bs} чи \ci{newline} 
\end{lscommand}
\noindent починають новий рядок, не починаючи нового абзацу.

\begin{lscommand}
\ci{\bs*}
\end{lscommand}
\noindent забороняє, крім того, розрив сторінки після вставленого
розриву рядка.

\begin{lscommand}
\ci{newpage}
\end{lscommand}
\noindent починає нову сторінку.

Команди

\begin{lscommand}
\ci{linebreak}\verb|[|\emph{n}\verb|]|,
\ci{nolinebreak}\verb|[|\emph{n}\verb|]|, 
\ci{pagebreak}\verb|[|\emph{n}\verb|]| і
\ci{nopagebreak}\verb|[|\emph{n}\verb|]|
\end{lscommand}
\noindent призведуть, відповідно, до розриву рядка, заборони
розриву рядка, розриву сторінки і заборони розриву сторінки. 
Необов'язковий аргумент \emph{n} дозволяє автору впливати на їхні
дії. Він може приймати значення від нуля до чотирьох. Значення
\emph{n} менше від~4 залишає \LaTeX{} можливість ігнорувати вашу
команду, якщо результат виглядав би дуже погано. Не плутайте
команди <<розриву>> (break) з командами <<початку>> (new). Навіть
якщо ви задасте команду <<розриву>>, \LaTeX{} спробує вирівняти
правий край сторінки і загальну висоту сторінки, як описано в
наступному підрозділі (секції). Якщо ви дійсно хочете почати
<<новий рядок>> (new line), використовуйте відповідну команду.
Вгадайте, як вона називається!

\LaTeX{} завжди намагається оптимальним чином розбити абзац на рядки.
Якщо він не може знайти спосіб розбити рядки у відповідності зі
своїми стандартами, він дозволяє одному рядку виступати з абзацу
вправо. Тоді \LaTeX{} скаржиться на <<\wi{overfull hbox}>>. 
%під час обробки вхідного файлу. 
Найчастіше це трапляється, коли він не може знайти місця для 
переносу слова\footnote{Хоча \LaTeX{} і дає попередження, 
  такі рядки не завжди легко знайти. Якщо в команді \ci{documentclass} 
  використати опцію \texttt{draft}, такі рядки будуть відзначені 
  жирною чорною рискою на правому полі.}. 
Можна примусити \LaTeX{} трохи послабити свої стандарти, 
давши команду \ci{sloppy}. Це дозволить запобігти появі рядків, 
що виступають, збільшуючи інтервали між словами, навіть якщо 
кінцевий результат буде далеким від оптимального. 
У цьому випадку користувач 
отримає попередження про <<\wi{underfull hbox}>>. В багатьох  
випадках абзац матиме не дуже гарний вигляд. Команда
\ci{fussy} дозволить повернути початкові високі стандарти
поділу рядків.

\subsection{\cyr{}Переноси} \label{hyph}

У разі потреби \LaTeX{} розбиває слова для переносу на наступний рядок. 
Якщо алгоритм переносів не знаходить правильних місць переносу, 
ви можете виправити положення, повідомивши \TeX{} про винятки 
за допомогою наступних команд. 

Якщо задати команду

\begin{lscommand}
\ci{hyphenation}\verb|{|\emph{список слів}\verb|}|
\end{lscommand}
\noindent то слова, перераховані у її аргументі, будуть переноситися
тільки у місцях, позначених <<\verb|-|>>. Ця команда повинна
містити тільки слова, що складаються зі звичайних літер або,
радше, знаків, які \LaTeX{} вважає звичайними літерами. 
Винятки переносів зберігаються для мови, котра є
активною в момент виконання команди \verb|\hyphenation|. Це
значить, що якщо ви використаєте цю команду в преамбулі
документа, вона впливатиме на правила переносу для англійської
мови. Якщо вона буде вжита після \verb|\begin{document}| і ви
використовуєте пакет для підтримки національних мов, наприклад,
\pai{babel}, винятки переносів стосуватимуться
мови, активованої за допомогою \pai{babel}.

Наступний приклад дозволяє переноси в слові <<{\Eng hyphenation}>>, 
так само, як і в слові <<{\Eng Hyphenation}>>, і забороняє переноси 
в словах <<{\Eng FORTRAN}>>, <<{\Eng Fortran}>> і <<{\Eng fortran}>>:
\begin{code}
\verb|\hyphenation{FORTRAN Hy-phen-a-tion}|
\end{code}

Команда \ci{-} вставляє в слово можливі точки переносу.  Ця
команда особливо корисна для слів, що містять спеціальні символи 
(наприклад, символи з діакритичними акцентами), 
тому що \LaTeX{} не переносить
такі слова автоматично.
%\footnote{Unless you are using the new
%\wi{DC fonts}.}.

\begin{example}
I think this is: su\-per\-cal\-%
i\-frag\-i\-lis\-tic\-ex\-pi\-%
al\-і\-do\-cious
\end{example}

Кілька слів можна втримати разом на одному рядку командою

\begin{lscommand}
\ci{mbox}\verb|{|\emph{текст}\verb|}|
\end{lscommand}
\noindent Аргумент команди не буде перенесено за будь-яких обставин.

\begin{example}
Номер мого телефону незабаром 
зміниться на \mbox{0116 291 2319}.

Параметр
\mbox{\emph{назва файлу}} повинен
містити назву файлу.
\end{example}
 
Команда \ci{fbox} аналогічна до \ci{mbox}, але, на додачу, 
навколо вмісту буде зображено прямокутник.

\section{Ready made Strings}

В деяких прикладах на попередніх 
сторінках ви бачили кілька простих команд  
\LaTeX{} для набору спеціальних рядків тексту:

\vspace{2ex}

\noindent
\begin{tabular}{@{}lll@{}}
Команда&Приклад&Опис\\
\hline
\ci{today} & \today   & Поточна дата поточною мовою\\
\ci{TeX} & \TeX       & Ім'я улюбленого набірника\\
\ci{LaTeX} & \LaTeX   & The Тame of the Game\\
\ci{LaTeXe} & \LaTeXe & Сучасна реінкарнація \LaTeX\\
\end{tabular}


\section{\cyr{}Спеціальні літери і символи}
%
% Rewrite Section to be more logical.
%
 
\subsection{\cyr{}Знаки лапок}


Для набору лапок\index{лапки} \emph{ніколи не використовуйте}
знак~\verb|"|\index{""@\texttt{""}}, як на друкарській машинці. 
В типографії існують спеціальні знаки відкриваючої і закриваючої
лапок. У \LaTeX{} використовують два знаки \texttt{`} для відкриваючих 
лапок і два знаки \texttt{'} (апострофи) для закриваючих\footnote{В
  українській мові звичайно замість ``таких'' і `таких' лапок 
  використовують <<такі>> і \glqq такі\grqq. 
  Вони задаються командами \ci{flqq}, \ci{frqq}
  (замість цієї пари часто використовують лігатури \texttt{<}\texttt{<} і
  \texttt{>}\texttt{>}\index{<<}\index{>>}), 
  і \ci{glqq}, \ci{grqq}. Див. також
  розділ~\ref{ukrbabel}.\prymper}.

\begin{example}
``Будь ласка, натисніть 
клавішу `х' ''
\end{example}
 
\subsection{\cyr{}Тире і дефіси}

\LaTeX{} знає про чотири види \wi{тире}. Три з них ви можете
одержати різною кількістю послідовних знаків~\verb|-|. Четверте
насправді зовсім не тире, а математичний знак мінус:
\index{-} \index{--} \index{---@{\Eng ---}} \index{-@$-$}
\index{математичний!мінус}

\begin{example}
X-промені\\
сторінки 13--67\\
{\Eng yes---or no?}\\
$0$, $1$ та $-1$
\end{example}
%так "--- чи ні?\\


Ці тире називаються так: <<->> \wi{дефіс}, <<-->>
\index{тире!коротке}\wi{коротке тире}, <<{\Eng ---}>>
\index{тире!довге!англійське}\wi{довге англійське тире}\footnote{В
українській мові використовується \index{тире!довге!кириличне}\wi{довге
кириличне тире} << "--- >>, яке трошки коротше ніж англійське,
і обмежується пробілами. Дивіться розділ~\ref{ukrbabel}
і таблицю~\ref{ukrainian}.\prymper}
, і <<$-$>>
\wi{знак мінуса}.

\subsection{Тильда ($\sim$)}
\index{www}\index{URL}\index{тильда}

Символ, котрий часто  можна побачити як частину веб-адреси, 
називається тильдою. В \LaTeX{} його можна отримати 
за допомогою \verb|\~|, але результат: \~{} може бути це не 
зовсім тим, чого б ви хотіли. Спробуйте це:

\begin{example}
http://www.rich.edu/\~{}bush \\
http://www.clever.edu/$\sim$demo
\end{example}  
 
\subsection{Символ градуса ($\circ$)}

Як надрукувати \wi{символ градуса} в \LaTeX{}?

\begin{example}
Уже $-30\,^{\circ}\mathrm{C}$,
скоро настане 
надпровідність.
\end{example}


\subsection{Символ Євро \texorpdfstring{(\EUR)}{(\texteuro)}}
%When writing about money these days, you need the euro symbol. Many current
%fonts contain a Euro symbol. After loading the \pai{textcomp} package in 
%the preamble of your document

Пишучи про гроші, у наші дні не обійтися без символа євро. 
Він є у багатьох сучасних шрифтах. Завантаживши 
пакета \pai{textcomp} у преамбулі документа
\begin{lscommand}
\ci{usepackage}\verb|{textcomp}| 
\end{lscommand}
\noindent для отримання символа євро потрібно скористатися командою
\begin{lscommand}
\ci{texteuro}
\end{lscommand}

Якщо у вашому шрифті немає власного символа євро,
або якщо він вам не подобається, у вас є кілька альтернатив.

Можна скористатися пакетом \pai{eurosym}, який надає офіційний символ євро:
\begin{lscommand}
\ci{usepackage}\verb|[|\emph{official}\verb|]{eurosym}| 
\end{lscommand}
%If you prefer a euro symbol that matches your font, use the option
Якщо вам більш подобається символ євро, що відповідає вашому шрифту,
скористайтеся опцією \texttt{gen} замість \texttt{official}.

Якщо на вашій системі встановлені шрифти Adobe Eurofonts 
(вони вільно доступні за адресою  
\url{ftp://ftp.adobe.com/pub/adobe/type/win/all}) 
ви можете скористатися пакетом  \pai{europs} 
і командою \ci{EUR} (для отримання символа євро, що відповідає поточному шрифту),
або пакетом \pai{eurosans} і командою \ci{euro} (для <<офіційного євро>>).

Пакет \pai{marvosym} надає також багато різних символів, 
у тому числі євро (за допомогою команди \ci{EUR}). 
Його недоліком є те, що він не надає нахиленого і грубого 
варіантів символа євро.

\begin{table}[!htbp]
\caption{Повний мішок символів євро} \label{eurosymb}
\begin{lined}{11.5cm}
\begin{tabular}{llccc}
Пакет        & Команда     & Прямий          & Без зарубок   & Машинопис \\
eurosym      &\verb+\euro+ & \huge\officialeuro &\huge\sffamily\officialeuro
                                             & \huge\ttfamily\officialeuro\\
$[$gen$]$eurosym &\verb+\euro+ & \huge\geneuro  &\huge\sffamily\geneuro
                                                & \huge\ttfamily\geneuro \\
% En fait on appelle eurofont pour des conflits de noms...
europs       &\verb+\EUR + & \huge\EURtm     &\huge\EURhv   & \huge\EURcr \\
eurosans     &\verb+\euro+ & \huge\EUROSANS  &\huge\sffamily\EUROSANS
                                                & \huge\ttfamily\EUROSANS \\
marvosym     &\verb+\EUR+  & \huge\mvchr164  &\huge\mvchr164 & \huge\mvchr164
\end{tabular}
\medskip
\end{lined}
\end{table}


\subsection{\cyr{}Трикрапка ( \ldots )}

На друкарській машинці \wi{крапка} чи \wi{кома} займають 
стільки ж місця, як і будь-яка інша літера. Якщо ці символи надруковані 
в книзі, то вони займають дуже мало місця і набираються дуже близько до
попередньої літери. Ви не зможете отримати \index{трикрапки}трикрапку,
просто надрукувавши три крапки, тому що відстані між ними будуть
неправильним. Тому для трикрапки є спеціальна команда,
що називається

\begin{lscommand}
\ci{ldots}
\end{lscommand}
\index{...@\ldots}

\begin{example}
Не так ..., а отак:\\
Нью-Йорк, Токіо, Будапешт, \ldots
\end{example}
 
\subsection{\cyr{}Лігатури}

Деякі комбінації літер виводяться на друк не просто як
послідовності окремих літер, а з використанням спеціальних
символів.
     
\begin{code}
{\large\Eng ff fi fl ffi\ldots}\quad
замість\quad {\large f{}f f{}і f{}l f{}f{}і \ldots}
\end{code}
Ці так звані \index{лігатура}лігатури можуть бути заборонені
вставкою \ci{mbox}\verb|{}| між двома відповідними літерами. Це
може бути необхідно для слів, утворених із двох частин.
\begin{example}
\Large Не ``shelfful'',\\
а ``shelf\mbox{}ful''
\end{example}

\subsection{\cyr{}Акценти і спеціальні символи}
 
\LaTeX{} підтримує використання \index{акценти}акцентів і спеціальних
символів\index{спеціальні символи} багатьох мов.
Таблиця~\ref{accents} показує всілякі акценти у застосуванні до
літери о. Зрозуміло, що на її місці можуть бути й інші літери.

Щоб помістити знак акценту над літерами і чи j, крапки над ними
повинні бути вилучені. Це досягається набором \verb|\i| та \verb|\j|.

\begin{Eng}
\begin{example}
H\^otel, na\"\i ve, \'el\`eve,\\ 
sm\o rrebr\o d, !`Se\~norita!,\\
Sch\"onbrunner Schlo\ss{} 
Stra\ss e
\end{example}
\end{Eng}

\begin{table}[!thbp]
\caption{\cyr{}Акценти і спеціальні символи} \label{accents}\index{акценти}
\begin{lined}{10cm}
\begin{tabular}{*4{cl}}
\A{\`o} & \A{\'o} & \A{\^o} & \A{\~o} \\
\A{\=o} & \A{\.o} & \A{\"o} & \B{\c}{c}\\[6pt]
\B{\u}{o} & \B{\v}{o} & \B{\H}{o} & \B{\c}{o} \\
\B{\d}{o} & \B{\b}{o} & \B{\t}{oo} \\[6pt]
\A{\oe}  &  \A{\OE} & \A{\ae} & \A{\AE} \\
\A{\aa} &  \A{\AA} \\[6pt]
\A{\o}  & \A{\O} & \A{\l} & \A{\L} \\
\A{\i}  & \A{\j} & {\Eng !`} & \verb|!`| & {\Eng ?`} & \verb|?`| 
\end{tabular}
\index{i@\i{} без крапки}
\index{j@\j{} без крапки}
\index{літери!європейські}
\index{ae@\ae}\index{акценти!umlaut}\index{акценти!grave}\index{акценти!acute}
\index{oe@\oe}

\bigskip
\end{lined}
\end{table}

\section{\cyr{}Підтримка багатомовності}\index{багатомовність}
Якщо вам потрібно створювати документи мовами, відмінними від
англійської, \LaTeX{} повинен бути відповідним чином
сконфіґурованим:

\begin{enumerate}
\item Усі ґенеровані автоматично текстові 
  послідовності\footnote{Зміст, Список ілюстрацій, Бібліоґрафія \ldots}
  повинні бути перекладені потрібною мовою. Для багатьох мов ці
  зміни досягаються використанням пакета \pai{babel} (автор
  Johannes Braams).

\item \LaTeX{} повинен знати \wi{правила переносу} для нової
  мови. Підключення правил переносу до \LaTeX{} є більш складним. 
  Воно включає перебудування форматного файлу з шаблонами переносів 
  потрібних мов. Ваш \guide{} повинен містити більше інформації про це.

\item Типографські правила, специфічні для мови. Наприклад, 
  у французькій мові обов'язковим є пробіл перед кожною 
  двокрапкою (:).

\end{enumerate}

Якщо ваша система уже відповідним чином сконфіґурована, ви
можете активізувати пакет \pai{babel} додаванням команди

\begin{lscommand}
\ci{usepackage}\verb|[|\emph{мова}\verb|]{babel}| 
\end{lscommand}
\noindent після команди \verb|\documentclass|. 
Список \emph{мов}, вбудованих у вашу \LaTeX{} систему,
буде відображено кожного разу, коли  компілятор починає роботу.
\texttt{Babel} автоматично активізує відповідні правила переносу
для обраної вами мови. Якщо форматний файл вашого \LaTeX{} не
підтримує переносів для обраної мови, \texttt{babel} буде
працювати, але заборонить переноси, 
що негативно позначиться на зовнішньому вигляді
документа.

Для деяких мов \pai{babel} уводить нові команди, що спрощують
набір спеціальних символів. Наприклад, німецька
мова\index{мова!німецька} містить безліч діакритичних знаків
(\"a\"o\"u). З використанням \pai{babel} можна вводити \"o,
друкуючи \verb|"o| замість~\verb|\"o|.

Якщо ви використовуєте \pai{babel} 
з кількома мовами
\begin{lscommand}
\ci{usepackage}\verb|[|\emph{моваA}\verb|,|\emph{моваB}\verb|]{babel}|
\end{lscommand}
\noindent остання з \emph{мов} стає основною мовою документа, а команду 
\begin{lscommand}                                                                              
\ci{selectlanguage}\verb|{|\emph{моваA}\verb|}|                                             
\end{lscommand}                      
\noindent можна використовувати для встановлення поточної мови всередині 
документа.                                                          

Більшість сучасних комп'ютерних систем дозволяє уводити символи
національних алфавітів прямо з клавіатури. Пакет \pai{inputenc}
призначений для того, щоб \LaTeX{} міг 
обробляти різноманіття кодувань, використовуваних різними мовами
і на різних комп'ютерних платформах:
\begin{lscommand}
\ci{usepackage}\verb|[|\emph{вхідне\_кодування}\verb|]{inputenc}|
\index{вхідне кодування}\index{кодування!вхідне} 
\end{lscommand}

При використанні цього пакета ви повинні розуміти, що інші можуть
неправильно бачити ваші вхідні файли на своєму комп'ютері через
використання іншого кодування. Наприклад, німецька літера \"a на
IBM~PC кодується як 132, на Unix системах, що використовують
ISO-LATIN~1, "--- як 228, а в кодовій таблиці cp1251, використовуваній 
для кирилиці в MS Windows, такої літери взагалі немає. Тому
використовуйте цю можливість з обережністю. В залежності від
системи, на якій ви працюєте, вам може знадобитися одне з
наступних кодувань\footnote{Про підтримувані в \LaTeX{} вхідні
кодування  для латиниці та кирилиці можна дізнатися з
\texttt{inputenc.dtx} та \texttt{cyinpenc.dtx} відповідно. Див.
розділ~\ref{sec:Packages}, щоб дізнатися, як отримати
документацію пакетів.}:

\begin{center}
\begin{tabular}{l | r | r }
Операційна & \multicolumn{2}{c}{кодування}\\
система  & латиниця      & кирилиця\\
\hline
Mac     &  \iei{applemac} & \iei{macukr}  \\
Unix    &  \iei{latin1}   & \iei{koi8-ru}  \\ 
Windows &  \iei{ansinew}  & \iei{cp1251}    \\
DOS, OS/2  &  \iei{cp850} & \iei{cp866nav}
\end{tabular}                
\end{center}                 

Працюючи з багатомовними документами, що потребують 
несумісних вхідних кодувань, ви можливо захочете 
перейти на unicode за допомогою пакета \pai{ucs}. 

\begin{lscommand}
\ci{usepackage}\verb|{ucs}|\\ 
\ci{usepackage}\verb|[|\iei{utf8}\verb|]{inputenc}| 
\end{lscommand}
\noindent дозволить створювати вхідні файли \LaTeX{} 
в \iei{utf8}, кодування, в якому літери закодовані 
за допомогою послідовностей від одного до чотирьох байтів. 

Інша річ "--- кодування шрифту. Воно визначає, у якій позиції в межах
шрифту \TeX{} знаходиться кожна літера.  Різні вхідні кодування можуть
бути відображені в одне  кодування шрифту, зменшуючи таким чином
кількість  необхідних наборів шрифтів. Кодування шрифтів \LaTeX{}
обробляє за допомогою пакета \pai{fontenc}: \label{fontenc}
\begin{lscommand}
\ci{usepackage}\verb|[|\emph{кодування}\verb|]{fontenc}| \index{кодування шрифту}
\end{lscommand}
\noindent де \emph{кодування} "--- кодування шрифту, або вихідне кодування.
Можливо завантажити кілька кодувань одночасно.

Якщо не задати вихідне кодування явно, \LaTeX{} використовує
\label{OT1}\fei{OT1} "--- кодування оригінальниого {\Eng Computer
Modern} шрифту \TeX{}, що містить тільки 128 символів з 7-бітного
набору символів ASCII. Коли потрібні акцентовані літери, \TeX{}
створює їх, комбінуючи звичайну літеру з акцентом. Незважаючи на
те, що результат виглядає прекрасно, цей підхід не дає
автоматичним переносам працювати в словах, що
використовують акцентовані літери. Крім того, деякі латинські
літери не можна створити за допомогою звичайних літер і акцентів,
не кажучи вже про літери не-латинських алфавітів, наприклад
грецького чи кирилиці.

Для виправлення цих недоліків було створено ряд  8-бітних CM"=подібних
наборів шрифтів. EC (\emph{Extended Cork}) шрифти у \fei{T1} кодуванні
містять   літери і розділові знаки більшості європейських мов, що
використовують латиницю.  Набір шрифтів LH містить літери, необхідні для
створення документів мовами,  що використовують кирилицю. Через велику
кількість літер вони згруповані в чотири  кодування "--- \fei{T2A},
\fei{T2B}, та \fei{T2C}, які містять кирилицю і базову латиницю, а також
\fei{X2}, яке містить тільки кирилицю\footnote{Список мов, підтримуваних
кожним з кодувань,  можна знайти в \cite{cyrguide}.}. Набір CB  містить
шрифти у кодуванні \fei{LGR}, необхідні для створення документів
грецькою мовою.

Використання цих шрифтів дозволяє поліпшити переноси в документах
мовами,  що використовують латиницю, та, власне, створення документів
іншими мовами.  Іншою перевагою є те, що вони надають шрифти родини CM в
усіх комбінаціях типу, ваги, форми,  та оптично масштабованих розмірів.

\subsection[Українська мова]{Українська мова\protect\footnotemark}%
\label{ukrbabel}\nopagebreak\footnotetext{Цей 
розділ додано під час перекладу на заміну розділу про підтримку 
німецької мови.}\nopagebreak
Декілька порад для тих, хто створює документи  \LaTeX{} українською
мовою\index{мова!українська}.  Більшість сучасних дистрибутивів
\TeX/\LaTeX{} містять пакет \pai{babel} із стандартною підтримкою
української мови, кириличні LH шрифти, і таблиці українських переносів.

Якщо ви збираєтеся використовувати кирилицю в математичних 
формулах,
спочатку у преамбулі документа необхідно підключити пакет

\begin{lscommand}
\verb|\usepackage{mathtext}|
\end{lscommand}

Далі потрібно задати кодування шрифту\footnote{Український алфавіт 
підтримують кодування T2A, LCY, X2, і, частково, OT2.}
\footnote{Якщо ви використовуєте пакети \AmS-\LaTeX{}, 
завантажуйте їх перед  пакетами \pai{fontenc} і \pai{babel}.}, воно повинно 
збігатися з кодуванням таблиці українських переносів\footnote{Про те, 
як встановити українські переноси, читайте в \CTAN|language/hyphenation/ukrhyph/README|
та \cite{texukr}, де описані також інші аспекти українізації \LaTeX{}.},
з якою зґенеровано файл формату (\verb|latex.fmt|):

\begin{lscommand}
\verb|\usepackage[T2A]{fontenc}|
\end{lscommand}

Потім слід вибрати вхідне кодування. В залежності від
платформи, на якій ви працюєте, це може бути \verb|koi8-u| (UNIX, Linux),
\verb|cp866nav| (DOS), \verb|cp1251| (Windows), або \verb|macukr| (Mac):

\begin{lscommand}
\verb|\usepackage[koi8-u]{inputenc}|
\end{lscommand}

\noindent і, власне, завантажити підтримку української мови:

\begin{lscommand}
\verb|\usepackage[english,ukrainian]{babel}|
\end{lscommand}

Остання команда вмикає українські переноси (якщо ваш \LaTeX{} відповідним
чином налаштований) а також змінює всі автоматичні тексти українською,
наприклад, <<Chapter>> стає <<Розділ>>. Крім того, активізуються 
деякі установки, наприклад, \ci{frenchspacing}, та стають доступними ряд
команд, що допомагають створювати документи українською мовою у
відповідності з типографськими стандартами (див. табл.~\ref{ukrainian}).



\begin{table}[!thbp]
\caption{Деякі з команд, визначених українською опцією пакета 
\pai{babel} } \label{ukrainian}
\begin{center}
% \index{-} \index{--} \index{---@{\Eng ---}} \index{-@$-$}
\index{""-@\texttt{""}\texttt{-}} 
\index{""---@\texttt{""}\texttt{-}\texttt{-}\texttt{-}} 
\index{""=@\texttt{""}\texttt{=}} 
\index{""`@\texttt{""}\texttt{`}} 
\index{""'@\texttt{""}\texttt{'}} 
\index{"">@\texttt{""}\texttt{>}} 
\index{""<@\texttt{""}\texttt{<}} 
\begin{tabularx}{\textwidth}{lX}
\hline
% \verb="|= & забороняє лігатуру в цій позиції.    \\
\verb|"-|
           & вставляє в слово можливу точку переносу, 
             але, на відміну від \verb|\-|, не забороняє 
             переноси в інших точках слова згідно  
             до діючих правил.                         \\
\verb|"-|\verb|-|\verb|-| 
           & довге кириличне тире для тексту. Воно трошки коротше, 
              ніж англійське, обмежується короткими жорсткими пробілами,
	      і не відривається від попереднього слова.\\
% \verb|"--~| & Cyrillic emdash in compound names (surnames).       \\
% \verb|"--*| & Cyrillic emdash for denoting direct speech.         \\
% \verb|""| & like |"-|, but producing no hyphen sign
%             (for compund words with hyphen, e.g.\ |x-""y|
%             or some other signs  as ``disable/enable'').     \\
% \verb|"~| & for a compound word mark without a breakpoint.        \\
\verb|"=|  & дефіс в складних словах, що дозволяє 
             перенос в цьому місці і в решті слова
             (в \LaTeX{} звичайний дефіс не дозволяє розрив 
             складного слова для переносу).             \\
% \verb|",| & thinspace for initials with a breakpoint
%         in following surname.                                \\
\verb|"`| % & <<німецькі>> ліві подвійні лапки ("`).            \\
\verb|"'| & <<німецькі>> ліві і праві подвійні лапки ("` "').       \\
\verb|"<| % & ліві подвійні лапки <<ялинка>> (<<).  \\
\verb|">| & ліві і праві подвійні лапки  <<ялинка>> (<< >>). \\
\ci{dq} & прямі подвійні лапки  (\dq). \\
% \verb|\Asbuk{|\emph{число}\verb|}| & . \\
\hline
\end{tabularx}
\end{center}
\end{table}

Українська опція пакета \pai{babel} визначає команди  \ci{Asbuk} та
\ci{asbuk}, які працюють так же як і \ci{Alph} та \ci{alph},  але
ґенерують, відповідно, великі і малі літери української абетки, що
використовуються для переліків. Наприклад, для того, щоб списки
другого рівня нумерувались маленькими українськими літерами, потрібно 
\begin{lscommand}
\verb+\renewcommand\theenumii{\asbuk{enumii}}+
\end{lscommand}


\section{\cyr{}Пробіли між словами}

Для отримання рівного правого краю \LaTeX{} змінює ширину інтервалів
між словами. Інтервал наприкінці речення він робить 
дещо більшим, роблячи текст більш читабельним\footnote{У
  відповідності з традиціями набору, прийнятими в англійській
  мові.\prymper}. \LaTeX{} вважає, що речення закінчуються крапками, 
знаками питання, чи знаками оклику. Якщо крапка йде після великої
літери, вона не вважається кінцем речення, тому що крапки після
великих літер звичайно використовуються для скорочень.

Будь-які винятки з цих припущень повинні бути явно зазначені
в тексті. Знак~<<\verb|\|>> перед пробілом дає в результаті пробіл,
який не буде збільшений. Знак~<<\verb|~|>> дає пробіл, що не
може збільшитися і який, крім того, забороняє розрив рядка.
Команда \verb|\@| перед крапкою вказує, що ця крапка закінчує
речення, незважаючи на те, що вона йде після великої літери.
\cih{"@} \index{~@ \verb.~.} \index{тильда@тильда (\verb.~.)}
\index{крапка, пробіл після}

\begin{example}
Mr.~Smith was happy to see her\\
cf.~Fig.~5\\
I like BASIC\@. What about you?
\end{example}

Додатковий пробіл після крапок можна заборонити командою 

\begin{lscommand}
\ci{frenchspacing}
\end{lscommand}
\noindent яка вказує \LaTeX{} \emph{не} робити пробіл після 
крапки більшим, ніж після звичайних символів. Це звичайно для мов,
відмінних від англійської, за винятком бібліоґрафій. Якщо ви
використовуєте \ci{frenchspacing}, команда \verb|\@| не 
потрібна\footnote{Якщо ви використовуєте пакет 
\pai{babel},  українська мова автоматично активізує 
\ci{frenchspacing}.\prymper}.
    
\section{\cyr{}Заголовки, частини і розділи}

Щоб допомогти читачу орієнтуватися у вашому документі, його 
потрібно розділяти на частини, розділи, та інші структурні одиниці. 
\LaTeX{} підтримує такий поділ за допомогою спеціальних команд, 
аргументами яких є заголовки відповідних структурних одиниць. 
Ваша справа "--- використовувати їх у належному порядку.

В класі \texttt{article} є такі команди групування: 

\begin{lscommand}
\ci{section}\verb|{...}|\\           
\ci{subsection}\verb|{...}|\\        
\ci{subsubsection}\verb|{...}|\\     
\ci{paragraph}\verb|{...}|\\
\ci{subparagraph}\verb|{...}|
\end{lscommand}

Якщо потрібно 
розділити документ на частини, не впливаючи на нумерацію 
розділів та частин, можна використати команду 
\begin{lscommand}
\ci{part}\verb|{...}|
\end{lscommand}

У класах \texttt{report} і \texttt{book} є команда для розділів вищого рівня
\begin{lscommand}
\ci{chapter}\verb|{...}|
\end{lscommand}

Оскільки в класі \texttt{article}  немає розділів ({\Eng chapters}), 
статті досить легко об'єднати як розділи книги. Інтервали
між розділами, нумерація і розмір шрифту заголовків 
\LaTeX{} встановлює автоматично.

Існує дві особливі команди секціонування:
\begin{itemize}
\item Команда \ci{part} не впливає на послідовність нумерування
  розділів. 
\item Команда \ci{appendix} аргументу не має. Вона просто починає
  нумерувати розділи літерами замість цифр\footnote{У класі
    \texttt{article} міняється нумерація підрозділів (sections).}
  і замінює <<Розділ>> на <<Додаток>>.
\end{itemize}

\LaTeX{} створює зміст, беручи заголовки розділів і номери сторінок
з попереднього проходу по документу. Команда
\begin{lscommand}
\ci{tableofcontents}
\end{lscommand}
\noindent створює зміст у тому місці, де вона викликана. Щоб
отримати правильний \wi{зміст}, новий документ повинен бути
оброблений \LaTeX{} двічі. В особливих випадках може бути необхідний і
третій прохід. \LaTeX{} попередить вас, коли це буде потрібно.

Усі перераховані вище команди групування існують також у
варіантах із зірочкою. Такі варіанти можна отримати 
додаванням \verb|*| до назви команди. Вони генерують 
заголовки розділів, що не нумеруються і не включаються в зміст. 
Наприклад, замість команди \verb|\section{Довідка}| 
слід використати \verb|\section*{Довідка}|.

Як правило, заголовки розділів з'являються в змісті точно 
у тому ж вигляді, в якому вони набрані в тексті. 
Іноді це неможливо через те, що заголовок задовгий 
для змісту. Варіант заголовку розділу для змісту 
в таких випадках можна вказати як необов'язковий 
аргументом перед власне заголовком. 
\begin{code}
\verb|\chapter[Заголовок для змісту]{Довгий|\\
\verb| дуже нудний заголовок, показаний в тексті}|
\end{code} 

Титульний аркуш 
\index{аркуш!титульний}\index{титульний аркуш}
усього документа генерується за допомогою команди

\begin{lscommand}
\ci{maketitle}
\end{lscommand}
\noindent Його вміст визначається командами 

\begin{lscommand}
  \ci{title}\verb|{...}|, \ci{author}\verb|{...}| і,
  при бажанні, \ci{date}\verb|{...}|
\end{lscommand}
\noindent перед тим, як буде дано команду \verb|\maketitle|. 
Аргумент команди
\ci{author} може містити кілька назв, розділених командами
\ci{and}.

Приклад використання деяких із згаданих команд можна знайти на
рис.~\ref{document}.

Крім описаних вище команд групування, \LaTeXe{} уводить три
додаткові команди для використання з класом \texttt{book}.
\begin{lscommand}
\ci{frontmatter}, \ci{mainmatter} і \ci{backmatter}
\end{lscommand}
Вони корисні для поділу вашої публікації. Команди змінюють заголовки
розділів і нумерацію сторінок так, як це очікується від
книги:
\begin{description}
\item[\ci{frontmatter}] Повинна бути першою командою після
  \verb|\begin{document}|. Вона активізує нумерування сторінок римськими
    цифрами. Звичайним є використання команд секціонування 
    з зірочками (наприклад, 
    \verb|\chapter*{Передмова}|) для вступної частини книги,
    оскільки в такому випадку \LaTeX{} не нумеруватиме їх.
\item[\ci{mainmatter}] іде якраз перед першим розділом книги.
    Вона  обнуляє лічильник сторінок і починає нумерувати 
    їх арабськими цифрами.
\item[\ci{appendix}] вказує на початок додатків
   вашої книги. Після цієї команди розділи будуть 
   пронумеровані літерами.
\item[\ci{backmatter}] повинна стояти перед 
  останніми елементами вашої книги, такими, як бібліоґрафія та 
  предметний покажчик. В стандартних класах документів
  це не матиме візуального ефекту.
\end{description}



\section{\cyr{}Перехресні посилання}

У книгах, звітах і статтях часто зустрічаються \wi{перехресні посилання} на
ілюстрації, таблиці й окремі частини тексту. \LaTeX{} надає наступні
команди для таких посилань:

\begin{lscommand}
\ci{label}\verb|{|\emph{мітка}\verb|}|, \ci{ref}\verb|{|\emph{мітка}\verb|}| 
і \ci{pageref}\verb|{|\emph{мітка}\verb|}|
\end{lscommand}

\noindent де \emph{мітка} "--- обраний користувачем ідентифікатор. \LaTeX{}
заміняє \verb|\ref| номером розділу, підрозділу, ілюстрації, таблиці,
чи теореми, де була використана відповідна команда \verb|\label|.
\verb|\pageref| друкує номер сторінки, на якій знаходиться команда
\verb|\label|\footnote{Зверніть увагу, що
  ці команди не знають, на що саме вони посилаються. \ci{label} просто
  зберігає останній автоматично зґенерований номер.}. Так само, як
і у випадку з заголовками розділів, тут використовуються номери з
попереднього проходу.

\begin{example}
Посилання на цей 
розділ~\label{sec:this} 
має такий вигляд: <<див. 
розділ~\ref{sec:this} на 
ст.~\pageref{sec:this}.>>
\end{example}
 
\section{\cyr{}Виноски}

Команда
\begin{lscommand}
\ci{footnote}\verb|{|\emph{текст виноски}\verb|}|
\end{lscommand}
\noindent друкує виноску внизу поточної сторінки. Виноски завжди повинні 
міститися після слова, або речення, якого вони стосуються.
Виноска, що стосується речення або його частини, повинна йти 
після коми чи крапки\footnote{Це в англійській мові, а в 
  українській виноски йдуть безпосередньо після слова, перед розділовими 
  знаками.\prymper}
  \footnote{Зважте, виноски відволікають читача від 
  основної частини документа. В кінці кінців, усі читають 
  виноски, ми допитливі істоти. То, чому не інтегрувати усе, що 
  ви бажаєте сказати, в тіло документа?\footnotemark}.
  \footnotetext{Вказівник не обов'язково йде туди
  куди він вказує :-).}

\begin{example}
  Користувачі \LaTeX{} 
  часто вживають 
  виноски\footnote{%
    Це "--- виноска.}.
\end{example}

\section{\cyr{}Виділення}

У машинописних документах \texttt{важливі слова виділяють
  \underline{підкресленням}}. 
\begin{lscommand}
\ci{underline}\verb|{|\emph{текст}\verb|}|
\end{lscommand}
У друкованих виданнях ці слова
виділяються \emph{\fni{курсив}ом}. В \LaTeX{} для цього слугує команда 
\begin{lscommand}
\ci{emph}\verb|{|\emph{текст}\verb|}|
\end{lscommand}
\noindent Її аргументом є текст для
виділення\index{виділення}. Що насправді робить ця команда,
залежить від контексту:

\begin{example}
Якщо ви використовуєте
\emph{виділення в уже 
виділеному тексті,  
\LaTeX{} використовує 
\emph{прямий} шрифт.}
\end{example}
 
Зважте на відмінність між командами \emph{виділення} і 
\emph{зміни шрифту}: 

\begin{example}
\textit{Ви можете також
  \emph{виділити} текст,
  набравши його курсивом,}
\textsf{шрифтом без 
  \emph{зарубок,}}
\texttt{чи в стилі
  \emph{друкарської машинки}.}
\end{example}

\section{\cyr{}Оточення} \label{env}

Для набору спеціальних видів тексту \LaTeX{} визначає безліч
\index{оточення}оточень для різних типів форматування:
\begin{lscommand}
\ci{begin}\verb|{|\emph{оточення}\verb|}|\quad
   \emph{текст}\quad
\ci{end}\verb|{|\emph{оточення}\verb|}|
\end{lscommand}
\noindent де \emph{оточення} "--- назва оточення. Оточення можна
викликати усередині інших оточень, дотримуючись порядку виклику і
повернення:
\begin{code}
\verb|\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}|
\end{code}

\noindent У наступних розділах розповідається про усі важливі
оточення. 

\subsection{\cyr{}Список, перелік та опис}%
\index{список}\index{перелік}\index{опис}%
\index{оточення!список}\index{оточення!перелік}\index{оточення!опис}%
\index{оточення!список!нумерований}\index{нумерований список}%
\index{список!нумерований}

Оточення \ei{itemize} підходить для простих списків, оточення 
\ei{enumerate} "--- для нумерованих списків, а оточення
\ei{description} "--- для описів.
\cih{item}

\begin{example}
\flushleft
\begin{enumerate}
\item Ви можете на ваш
смак змішувати 
оточення списків: 
\begin{itemize}
\item Але це може виглядати 
нерозумно.
\item[--] З тире.
\end{itemize}
\item Тому пам'ятайте:
\begin{description}
\item[Дурниці] не стануть
розумнішими якщо їх
розмістити списком.
\item[Розумні] речі, однак,
цілком можна представити 
у вигляді списку.
\end{description}
\end{enumerate}
\end{example}
 
\subsection{\cyr{}Вирівнювання ліворуч, праворуч і по центру}

Оточення \ei{flushleft} і \ei{flushright} форматують абзаци,
вирівняними ліворуч чи праворуч.\index{вирівнювання абзаців!праворуч}%
\index{вирівнювання абзаців!ліворуч}%
\index{абзац!вирівнювання!праворуч}%
\index{абзац!вирівнювання!ліворуч}%
\index{абзац!центрування}
Оточення \ei{center} дає відцентрований текст. Якщо ви не
використовуєте \ci{\bs} щоб вказати розриви рядків, \LaTeX{} визначить
їх автоматично.

\begin{example}
\begin{flushleft}
  Цей текст\\ вирівняний ліворуч.
  \LaTeX{} не намагається зробити 
  усі рядки однакової довжини.
\end{flushleft}
\end{example}

\begin{example}
\begin{flushright}
  Цей текст\\ вирівняний праворуч.
  \LaTeX{} не намагається зробити 
  усі рядки однакової довжини.
\end{flushright}
\end{example}

\begin{example}
\begin{center}
  У центрі\\Землі
\end{center}
\end{example}

\subsection{\cyr{}Цитати та вірші}%
\index{оточення!цитата}%
\index{оточення!вірш}%
\index{цитата}%
\index{вірш}

Оточення \ei{quote} корисно для цитат, важливих фраз і прикладів.

\begin{example}
Типографське правило для 
довжини рядка:
\begin{quote}
В середньому, довжина рядка
не повинна бути більшою 
від 66~символів.
\end{quote}
Ось чому \LaTeX{} робить
поля сторінок такими 
широкими, а в газетах 
часто застосовують набір 
у декілька шпальт.
\end{example}

Існують ще два схожих оточення: \ei{quotation} і \ei{verse}. Для цитат, що
охоплюють кілька абзаців, корисне оточення \texttt{quotation}, тому що воно
робить абзацний відступ. Оточення \texttt{verse} використовують для
віршів, де важливі розриви рядків. Рядки розділяються за допомогою \ci{\bs}
наприкінці рядка, і порожнього рядка після кожної строфи.

\begin{example}
Я знаю тільки один англійський 
віршик напам'ять:
\begin{flushleft}
\begin{verse}
Humpty Dumpty sat on a wall:\\
Humpty Dumpty had a great fall.\\ 
All the King's horses and all
the King's men\\
Couldn't put Humpty together
again.
\end{verse}
\end{flushleft}
\end{example}

\subsection{\cyr{}Буквальне відтворення}

Текст, розміщений між \verb|\begin{|\ei{verbatim}\verb|}| і
\verb|\end{verbatim}| буде відтворений так, наче 
він надрукований друкарською машинкою, 
із усіма пробілами і розривами рядків, без
виконання будь-яких команд \LaTeX{}.

Усередині абзацу аналогічну функцію виконує команда
\begin{lscommand}
\ci{verb}\verb|+|\emph{текст}\verb|+|
\end{lscommand}
\noindent Тут <<\verb|+|>> "--- це тільки приклад
символа"=обмежувача. Ви може використовувати будь-який символ, 
крім літер, <<\verb|*|>> чи пробілу. 
Багато прикладів \LaTeX{} у цьому буклеті
набрані з використанням цієї команди.

\begin{example}
Команда \verb|\ldots| \ldots

\begin{verbatim}
10 PRINT "HELLO WORLD ";
20 GOTO 10
\end{verbatim}
\end{example}

\begin{example}
\begin{verbatim*}
варіант   оточення
verbatim         з
зірочкою виділяє
пробіли   в  тексті
\end{verbatim*}
\end{example}

Команду  \ci{verb} теж можна використовувати аналогічним чином 
із зірочкою: 

\begin{example}
\verb*|Ось   так :-) |
\end{example}

Оточення \texttt{verbatim} і команду \verb|\verb| не можна використовувати 
усередині параметрів інших команд.

\subsection{\cyr{}Таблиці}
\newcommand{\mfr}[1]{\framebox{\rule{0pt}{0.7em}\texttt{#1}}}
Оточення \ei{tabular} використовують для набору таблиць
з можливістю формування горизонтальних і вертикальних ліній. 
\LaTeX{} автоматично визначає ширину стовпчиків.

Аргумент \emph{специфікація} команди
\begin{lscommand}
\verb|\begin{tabular}[|\emph{поз}\verb|]{|\emph{специфікація}\verb|}|
\end{lscommand} 
\noindent визначає формат таблиці. Використовуйте \mfr{l} для
стовпчика тексту, вирівняного вліво, \mfr{r} "--- для тексту,
вирівняного вправо і \mfr{c} "--- для центрованого тексту;
\mfr{p\{\emph{ширина}\}} "--- для стовпчика зазначеної ширини, 
що містить вирівняний текст із переносом рядків, і \mfr{|} "---
для вертикальної лінії.

\emph{поз} визначає вертикальну позицію 
усього середовища \ei{tabular}, \texttt{t}, \texttt{b} та \texttt{c} 
вказують, вирівнювати по верхній, нижній межі, чи по центру середовища.%
\index{таблиці!вирівнювання стовпчиків!праворуч}% 
\index{таблиці!вирівнювання стовпчиків!ліворуч}% 
\index{таблиці!вирівнювання стовпчиків!по центру}% 
\index{вирівнювання стовпчиків!праворуч}% 
\index{вирівнювання стовпчиків!ліворуч}% 
\index{вирівнювання стовпчиків!по центру} 

 
Усередині оточення \texttt{tabular} стовпчики розділяються
знаком~<<\verb|&|>>\si{\&}, команда~\ci{\bs} починає новий рядок, а
\ci{hline} вставляє горизонтальну лінію.\index{"|@\verb."|.}
Ви можете вставити часткову горизонтальну 
лінію використовуючи \ci{cline}\texttt{\{}\emph{j}\texttt{-}\emph{i}\texttt{\}},
де j та i "--- номери стовпчиків, на які лінія повинна розповсюджуватися.

\begin{example}
\begin{tabular}{|r|l|}
\hline
54 & шістнадцяткове \\
124 & вісімкове \\
1010100 & двійкове \\
\hline \hline
84 & десяткове \\
\hline
\end{tabular}
\end{example}

\begin{example}
\begin{tabular}{|p{4.7cm}|}
\hline
Ласкаво просимо до абзацу 
у рамочці. Сподіваємося, вам усім
тут сподобається.\\
\hline 
\end{tabular}
\end{example}

Роздільник стовпчиків можна задати конструкцією \mfr{@{...}}\index{"@@\verb."@.}. Ця
команда видаляє пробіл між стовпчиками і заміняє його на те, що
включено у фігурні дужки. Одне з частих використань цієї команди
буде показано далі, коли йтиметься про вирівнювання по десятковій
крапці. Інше можливе використання "--- для заборони ведучого
пробілу в таблиці за допомогою \mfr{@{}}:

\begin{example}
\begin{tabular}{@{} l @{}}
\hline 
немає ведучого пробілу\\
\hline
\end{tabular}
\end{example}

\begin{example}
\begin{tabular}{l}
\hline
ведучий пробіл ліворуч і праворуч\\
\hline
\end{tabular}
\end{example}

%
% This part by Mike Ressler
%

\index{вирівнювання стовпчиків!по десятковій крапці}% 
\index{таблиці!вирівнювання стовпчиків!по десятковій крапці}% 
Оскільки в \LaTeX{} не існує стандартного способу вирівняти 
стовпчики чисел по десятковій крапці\footnote{Якщо на вашій системі 
  встановлений комплект
  'tools', зверніть увагу на пакет \pai{dcolumn}.}, ми можемо
<<обдурити>> \TeX{} і домогтися цього за допомогою двох стовпчиків:
вирівняної вправо цілої частини і вирівняної вліво дробової. Команда
\verb|@{.}| у рядку \verb|\begin{tabular}| замінює нормальний пробіл
  між стовпчиками просто на <<.>>, даючи ефект одного стовпчика,
  вирівняного по десятковій крапці. Не забудьте замінити у ваших
  числах крапку на роздільник стовпчиків (\verb|&|)! Мітку стовпчика можна
  помістити над нашим числовим <<стовпчиком>> командою \ci{multicolumn}:
 
\begin{example}
\begin{tabular}{c r @{.} l}
Вираз із $\pi$       &
\multicolumn{2}{c}{Значення} \\
\hline
$\pi$               & 3&1416  \\
$\pi^{\pi}$         & 36&46   \\
$(\pi^{\pi})^{\pi}$ & 80662&7 \\
\end{tabular}
\end{example}

\begin{example}
\begin{tabular}{|c|c|}
\hline
\multicolumn{2}{|c|}{Ene} \\
\hline
Mene & Muh! \\
\hline
\end{tabular}
\end{example}

Матеріал, набраний за допомогою середовища \pai{tabular},
завжди залишається на одній сторінці. Якщо потрібно набирати 
довші таблиці, зверніть увагу на середовища  \pai{supertabular} 
і \pai{longtabular}.



\section{\cyr{}Плаваючі об'єкти}
Більшість публікацій у наші дні містять безліч ілюстрацій і таблиць. Ці
елементи потребують особливого поводження, оскільки їх не можна
розбити між сторінками. Одним із рішень було б починати нову сторінку
щоразу, коли ілюстрація чи таблиця занадто велика, щоб
поміститися на поточній сторінці. Це залишало б сторінки частково
порожніми, що виглядає не дуже гарно.

Вирішення цієї проблеми є <<перепливання>> будь-якої ілюстрації чи таблиці,
що не вміщується на поточній сторінці, на наступну, і заповнення поточної
текстом. \LaTeX{} пропонує для плаваючих об'єктів\index{плаваючі об'єкти}
два оточення, одне "--- для таблиць, і одне "--- для ілюстрацій. Щоб у
повній мірі використати їхні переваги, важливо хоч приблизно уявляти, як
\LaTeX{} обробляє плаваючі об'єкти. Інакше вони можуть стати джерелом
розчарування, коли \LaTeX{} розміщуватиме їх не там, де ви хочете.

Давайте спочатку розглянемо команди \LaTeX{}, призначені для
плаваючих об'єктів.

Будь-який матеріал, включений в оточення \ei{figure} чи \ei{table},
трактується як плаваючий. Обидва оточення  
\begin{lscommand}
\verb|\begin{figure}[|\emph{специфікація розміщення}\verb|]| чи\\
\verb|\begin{table}[|\emph{специфікація розміщення}\verb|]|
\end{lscommand}
\noindent мають необов'язковий параметр, названий \emph{специфікацією
розміщення}. Цей параметр використовується для вказівки, куди \LaTeX{}
може переміщувати даний плаваючий об'єкт. \emph{Специфікація розміщення}
будується складанням у рядок \emph{ключів розміщення плаваючого об'єкта}.
Див. таблицю~\ref{tab:permiss}.

\begin{table}[!bp]
\caption{\cyr{}Ключі розміщення плаваючого об'єкта}\label{tab:permiss}
\noindent \begin{minipage}{\textwidth}
\medskip
\begin{center}
\begin{tabular}{@{}cp{10cm}@{}}
Ключ&Дозволяє розміщувати об'єкт \ldots\\
\hline
\rule{0pt}{1.05em}\texttt{h} & \emph{тут (here)}, у тому самому місці
тексту, де він з'явився. Звичайно використовується для маленьких об'єктів.\\[0.3ex]
\texttt{t} & \emph{угорі (top)} сторінки\\[0.3ex]
\texttt{b} & \emph{унизу (bottom)} сторінки\\[0.3ex]
\texttt{p} & на \emph{спеціальній сторінці}, що містить тільки
плаваючі об'єкти.\\[0.3ex]
\texttt{!} & не звертати увагу на більшість внутрішніх
параметрів\footnote{Таких, як максимальне число плаваючих об'єктів, 
  дозволених на одній сторінці}, що можуть запобігти
розміщенню цього об'єкта згідно з вашими специфікаціями.
\end{tabular}
\end{center}
Зверніть увагу, \texttt{pt} та \texttt{em} "--- одиниці виміру 
\TeX{} units. Дивіться також таблицю  \ref{units} на сторінці \pageref{units}.
\end{minipage}
\end{table}

Наприклад, таблицю можна почати наступним рядком:
\begin{code}
\verb|\begin{table}[!hbp]|
\end{code}
\noindent Специфікація розміщення \index{специфікація розміщення} 
\verb|[!hbp]| дозволяє
\LaTeX{} розмістити таблицю прямо тут (\texttt{h}), внизу тієї
ж сторінки (\texttt{b}), чи на окремій сторінці (\texttt{p}), і
навіть у тому випадку, якщо усе це не буде виглядати вельми добре
(\texttt{!}). Якщо ніякої специфікації розміщення не задано,
стандартні класи використовують \verb|[tbp]|.

\LaTeX{} розміщує кожен плаваючий об'єкт у відповідності
із заданою автором специфікацією. Якщо об'єкт не можна помістити на
поточній сторінці, він розміщується у чергу ілюстрацій\index{ілюстрації} 
чи в чергу таблиць\index{таблиці}\footnote{Які є чергами типу
  \emph{FIFO}: <<першим увійшов "--- першим вийшов>>.}. Коли починається
нова сторінка, \LaTeX{} спершу перевіряє, чи можна заповнити спеціальну
сторінку плаваючими об'єктами з черг. Якщо ні, то перший об'єкт
з кожної черги вважається таким, що тільки що зустрівся у тексті:
\LaTeX{} знову намагається розмістити їх у відповідності із 
специфікаціями (за винятком 'h', що вже неможливо). Нові
плаваючі об'єкти розміщуються у відповідні
черги. \LaTeX{} зберігає порядок, у якому зустрілися плаваючі
об'єкти відповідного типу. Тому ілюстрація, яку не вдалося
розмістити, відштовхує всі подальші ілюстрації до кінця документа.
Отже:

\begin{quote}
  Якщо \LaTeX{} не розміщує плаваючі об'єкти так, як ви цього очікуєте,
  то часто це тому, що якийсь об'єкт влаштував затримку в одній із двох черг.
\end{quote}                 

Незважаючи на те, що специфікацію розміщення з одним варіантом
задати можливо, робити цього не слід, оскільки це може призвести до
проблем. Якщо плаваючий об'єкт не може бути розміщений в заданій
позиції, він <<застряє>> і блокує наступні плаваючі об'єкти.
Зокрема, ніколи не використовуйте опцію \texttt{[h]}: це
настільки погано, що останні версії \LaTeX{} навіть автоматично
замінюють її на \texttt{[ht]}.

\bigskip

\bigskip
\noindent Після пояснення найскладнішої частини, залишається ще 
кілька зауважень стосовно оточень \ei{table} і \ei{figure}. Командою

\begin{lscommand}
\ci{caption}\verb|{|\emph{текст заголовка}\verb|}|
\end{lscommand}

\noindent ви можете задати заголовок для об'єкта. 
\LaTeX{} додасть рядок <<Таблиця>> чи <<Рис.>> 
і поточний номер.

Дві команди

\begin{lscommand}
\ci{listoffigures} і \ci{listoftables} 
\end{lscommand}

\noindent працюють аналогічно команді \verb|\tableofcontents|, виводячи
список ілюстрацій чи таблиць, відповідно. У цих списках заголовки
повторюються повністю. Якщо ви використовуєте довгі заголовки, то можна
надати їхній короткий варіант для включення у списки, 
розмістивши його в квадратних дужках після команди
\verb|\caption|.
\begin{code}
\verb|\caption[Короткий]{Дддддооооовввввгггггггииииииииййй}| 
\end{code}

Можна робити посилання на плаваючий об'єкт за допомогою
команди \verb|\label| після заголовка і команди \verb|\ref| у тексті.

Наступний приклад зображує квадрат і вставляє його в документ. Подібну
техніку можна використовувати, щоб залишити в документі місце під
зображення, яке ви вставите пізніше.

\begin{code}
\begin{verbatim}
Рис.~\ref{white} "--- приклад Поп-Арту.
\begin{figure}[!hbp]
\makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}}
\caption{П'ять на п'ять сантиметрів} \label{white}
\end{figure}
\end{verbatim}
\end{code}

\noindent У вище наведеному прикладі \LaTeX{} буде \emph{дуже
сильно}~(\texttt{!}) намагатися розмістити ілюстрацію прямо
\emph{тут}~(\texttt{h})\footnote{Припускаючи, що черга ілюстрацій 
   порожня.}.
Якщо це неможливо, він спробує розмістити її \emph{унизу
сторінки}~(\texttt{b}). Якщо йому не вдасться помістити ілюстрацію на
поточній сторінці, він спробує з'ясувати, чи можна створити 
сторінку плаваючих об'єктів, що містить цю ілюстрацію і, можливо, 
деякі таблиці з черги таблиць. Якщо для окремої сторінки матеріалу ще не
нагромадилося, \LaTeX{} починає нову сторінку і знову обробляє
ілюстрацію так, наче вона тільки що з'явилася в тексті.

У певних випадках може бути потрібно використати команду
\begin{lscommand}
\ci{clearpage} чи навіть \ci{cleardoublepage} 
\end{lscommand}

\noindent Це примушує \LaTeX{} негайно вивести усі плаваючі
об'єкти, що залишалися в чергах, і потім почати нову сторінку.
\ci{cleardoublepage}, крім цього, починає нову непарну
сторінку.

Пізніше ви довідаєтеся, як включати у ваші документи \LaTeX{} малюнки в
форматі \PSi{}.

\section{Захист ламких команд}

Текст, заданий як аргумент команд на зразок \ci{caption} чи \ci{section}, 
може з'явитися в документі кілька разів (наприклад, у змісті та в тілі документа). 
Деякі команди не спрацьовують, коли їх використовувати у аргументі 
\ci{section}-подібних команд. Такі команди називаються  
ламкими командами\index{ламкі команди}\index{команди!ламкі} "--- 
наприклад, \ci{footnote} чи \ci{phantom}.
Ці ламкі команди потребують захисту (як і всі ми). Ви можете 
захистити їх, поставивши попереду команду \ci{protect}.   

\ci{protect} розповсюджується тільки на наступну команду, 
навіть не на її аргумент. У більшості випадків додаткові 
\ci{protect} не зашкодять. 

\begin{code}
\verb|\section{Я завбачливий|\\
\verb|      \protect\footnote{і захищаю мої виноски}}|
\end{code}



%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "lshort2e"
%%% En


