summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/lshort-russian/src/custom.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/lshort-russian/src/custom.tex')
-rw-r--r--Master/texmf-dist/doc/latex/lshort-russian/src/custom.tex862
1 files changed, 862 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/custom.tex b/Master/texmf-dist/doc/latex/lshort-russian/src/custom.tex
new file mode 100644
index 00000000000..0dda290f8a0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/lshort-russian/src/custom.tex
@@ -0,0 +1,862 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Contents: Customising LaTeX output
+% $Id: custom.tex,v 1.1.1.1 2002/02/26 10:04:20 oetiker Exp $
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\chapter{Настройка \LaTeX}
+
+\begin{intro}
+ Произведенные с использованием изученных до сих пор команд документы
+ будут выглядеть вполне приемлемо для широкой аудитории. Они не
+ выглядят очень модно, подчиняясь зато всем правилам хорошего тона в
+ наборе, поэтому их легко читать и на них приятно смотреть.
+
+ Но бывают ситуации, в которых \LaTeX{} не предоставляет команду или
+ окружение, удовлетворяющие вашим ожиданиям, или производимый
+ некоторой существующей командой вывод не отвечает вашим требованиям.
+
+ В этой главе даются некоторые советы по обучению \LaTeX{} новым
+ вещам, и тому, как сделать его вывод отличающимся от того, что
+ производится по умолчанию.
+\end{intro}
+
+
+\section{Новые команды, окружения и пакеты}
+
+Как вы заметили, все вводимые в этой книге команды верстаются в рамке
+и включаются в указатель в конце книги. Вместо того, чтобы напрямую
+использовать необходимые для этого команды \LaTeX{}, автор создал
+\wi{пакет}, в котором определил новые команды и окружения для этой
+цели. Теперь можно просто писать:
+
+\begin{example}
+\begin{lscommand}
+\ci{dum}
+\end{lscommand}
+\end{example}
+
+В этом примере используются как новое окружение, называющееся
+\ei{lscommand} и отвечающее за рисование рамки вокруг команды, так и
+новая команда, называющаяся \ci{ci} и верстающая название команды и
+заносящая соответствующий элемент в указатель. Вы можете в этом
+убедиться, поискав команду \ci{dum} в указателе в конце книги, где вы
+найдете запись для \ci{dum}, указывающую на эту страницу.
+
+Если автор когда-нибудь решит, что ему не нравятся больше команды,
+сверстанные в рамке, он просто изменит определение окружения
+\texttt{lscommand}. Это намного проще, чем пройти по всему документу,
+выискивая все места, где использованы общие команды \LaTeX{} для
+рисования рамки вокруг слов.
+
+
+\subsection{Новые команды}
+
+Чтобы добавить ваши собственные команды, пользуйтесь командой
+
+\begin{lscommand}
+\ci{newcommand}\verb|{|%
+ \emph{название}\verb|}[|\emph{число}\verb|]{|\emph{определение}\verb|}|
+\end{lscommand}
+
+Обычно эта команда требует двух аргументов. \emph{Название} команды,
+которую вы создаете, и \emph{определение} команды. Аргумент
+\emph{число} в квадратных скобках не обязателен. Он применяется для
+создания новых команды, которые, в свою очередь, принимают до 9
+аргументов.
+
+Следующие два примера должны вам помочь получить представление о
+команде. Первый пример определяет новую команду, называющуюся
+\ci{tnss}, что является сокращением от ``The Not So Short Introduction
+to \LaTeXe''. Такая команда пригодится, если вам много раз приходится
+писать название этой книги.
+
+\begin{example}
+\newcommand{\tnss}{The not
+ so Short Introduction to
+ \LaTeXe}
+% в теле документа:
+``\tnss'' \ldots{} ``\tnss''
+\end{example}
+
+Следующий пример показывает, как определить новую команду, принимающую
+один аргумент. Метка \verb|#1| заменяется на заданный аргумент. Если вы
+хотите использовать более одного аргумента, пользуйтесь \verb|#2|, и
+так далее.
+
+\begin{example}
+\newcommand{\txsit}[1]
+ {\emph{#1} краткое
+ введение в \LaTeXe}
+% в теле документа
+\begin{itemize}
+\item \txsit{Не очень}
+\item \txsit{Очень}
+\end{itemize}
+\end{example}
+
+\LaTeX{} не позволит вам создать новую команду, которая бы изменяла
+уже существующую. Но для случая, когда вы явно хотите изменить
+существующую команду, есть специальная команда: \ci{renewcommand}. Она
+имеет тот же синтаксис, что и команда \verb|\newcommand|.
+
+В некоторых случаях может пригодиться команда \ci{providecommand}. Она
+работает так же, как \ci{newcommand}, но, если команда уже определена,
+то \LaTeXe{} ее молча проигнорирует.
+
+Существуют определенные особенности, связанные с пробелами после
+команд \LaTeX{}. Подробности смотрите на
+странице~\pageref{whitespace}.
+
+
+\subsection{Новые окружения}
+
+Аналогичная команде \verb|\newcommand|, существует команда для создания
+вашего собственного окружения, \ci{newenvironment}, имеющая следующий
+синтаксис:
+
+\begin{lscommand}
+\ci{newenvironment}\verb|{|%
+ \emph{название}\verb|}[|\emph{номер}\verb|]{|%
+ \emph{начало}\verb|}{|\emph{конец}\verb|}|
+\end{lscommand}
+
+Подобно команде \verb|\newcommand|, \ci{newenvironment} можно
+использовать с необязательным аргументом, или без него. Материал,
+заключенный в аргумент \emph{начало}, обрабатывается до обработки
+текста внутри окружения. Материал, заключенный в аргумент
+\emph{конец}, обрабатывается, когда встречается команда
+\verb|\end{|\emph{название}\verb|}|. Следующий пример иллюстрирует
+использование команды \ci{newenvironment}.
+
+\begin{example}
+\newenvironment{king}
+ {\rule{1ex}{1ex}%
+ \hspace{\stretch{1}}}
+ {\hspace{\stretch{1}}%
+ \rule{1ex}{1ex}}
+
+\begin{king}
+Мои смиренные подданные\ldots
+\end{king}
+\end{example}
+
+Аргумент \emph{номер} используют так же, как и для команды
+\verb|\newcommand|. \LaTeX{} контролирует, чтобы вы не определяли уже
+существующее окружение. Если вы заходите все же это сделать,
+пользуйтесь командой \ci{renewenvironment}. Она имеет тот же
+синтаксис, что ли \ci{newenvironment}.\sloppypar
+
+Команды, использованные в этом примере, будут разъяснены позже:
+описание команды \ci{rule} см. на стр.~\pageref{sec:rule}, команда
+\ci{stretch} описана на стр.~\pageref{cmd:stretch}, а описание команды
+\ci{hspace} находится на стр.~\pageref{sec:hspace}.
+
+\subsection{Ваш собственный пакет}
+
+Когда вы определяете множество новых окружений и команд, преамбулы
+ваших документов становятся очень большими. В этой ситуации
+представляется разумным создать пакет \LaTeX{}, содержащий определения
+всех ваших команд и окружений. Потом можно командой \ci{usepackage}
+использовать пакет в ваших документах.\sloppypar
+
+\begin{figure}[!htbp]
+\begin{lined}{\textwidth}
+\begin{verbatim}
+% Пакет для демонстрации. Tobias Oetiker.
+\ProvidesPackage{demopack}
+\newcommand{\tnss}{Не очень краткое введение в \LaTeXe}
+\newcommand{\txsit}[1]{\emph{#1} краткое
+ введение в \LaTeXe}
+\newenvironment{king}{\begin{quote}}{\end{quote}}
+\end{verbatim}
+\end{lined}
+\caption{Пример пакета} \label{package}
+\end{figure}
+
+Создание пакета в основном состоит из переноса содержимого вашей
+преамбулы в отдельный файл с именем, заканчивающимся на
+\texttt{.sty}. Есть только одна специальная команда, которую вы должны
+использовать
+\begin{lscommand}
+\ci{ProvidesPackage}\verb|{|\emph{название пакета}\verb|}|
+\end{lscommand}
+\noindent в самом начале файла с вашим
+пакетом. \verb|\ProvidesPackage| указывает \LaTeX{} название пакета,
+что позволяет ему выдавать осмысленное сообщение об ошибке, когда вы
+пытаетесь включать пакет дважды. Иллюстрация~\ref{package} показывает
+маленький пример пакета, содержащего определенные в вышеприведенных
+примерах команды.
+
+
+\section{Шрифты и их размеры}
+
+
+\subsection{Команды смены шрифта}
+
+\index{шрифт}\index{шрифт!размер} \LaTeX{} выбирает подходящее
+начертание и размер шрифта, основываясь на логической структуре
+документа (разделы, сноски,~\ldots). Иногда может быть желательно
+сменить шрифт вручную. Для этого вы можете пользоваться командами,
+перечисленными в таблицах~\ref{fonts} и~\ref{sizes}. Действительный
+размер каждого шрифта определяется дизайном и зависит от класса и
+опций документа. Таблица~\ref{tab:pointsizes} показывает абсолютные
+размеры, соответствующие этим командам в стандартных классах
+документов.
+
+% Эх, не перевести игру слов :(
+%\begin{example}
+%{\small The small and
+%\textbf{bold} Romans ruled}
+%{\Large all of great big
+%\textit{Italy}.}
+%\end{example}
+
+\begin{example}
+ {\small Маленький,
+ \textbf{полужирный},
+ \Large большой,
+ \textit{курсив}.}
+\end{example}
+
+Важная особенность \LaTeXe{} заключается в том, что атрибуты шрифта
+независимы. Это значит, что вы можете давать команды смены размера или
+даже семейства шрифта, сохраняя при этом установки атрибутов наклона
+или насыщенности.
+
+В \emph{математическом режиме} вы можете использовать \emph{команды}
+смены шрифта, чтобы временно выйти из \emph{математического режима} и
+ввести нормальный текст. Если вы хотите переключиться на другой шрифт
+для верстки математики, то для этого существует отдельный набор
+команд. Смотрите таблицу~\ref{mathfonts}.
+
+\begin{table}[!bp]
+\caption{Шрифты} \label{fonts}
+\begin{lined}{12cm}
+%
+% Alan suggested not to tell about the other form of the command
+% eg \verb|\sffamily| or \verb|\bfseries|. This seems a good thing to me.
+%
+\begin{tabular}{@{}rl@{\qquad}rl@{}}
+\fni{textrm}\verb|{...}| & \textrm{\wi{прямой шрифт}}&
+\fni{textsf}\verb|{...}| & \textsf{\wi{без засечек}}\\
+\fni{texttt}\verb|{...}| & \texttt{пишущая машинка}\\[6pt]
+\fni{textmd}\verb|{...}| & \textmd{нормальный}&
+\fni{textbf}\verb|{...}| & \textbf{\wi{полужирный}}\\[6pt]
+\fni{textup}\verb|{...}| & \textup{\wi{прямой шрифт}}&
+\fni{textit}\verb|{...}| & \textit{\wi{курсив}}\\
+\fni{textsl}\verb|{...}| & \textsl{\wi{наклонный шрифт}}&
+\fni{textsc}\verb|{...}| & \textsc{\wi{капитель}}\\[6pt]
+\ci{emph}\verb|{...}| & \emph{выделенный шрифт} &
+\fni{textnormal}\verb|{...}| & \textnormal{обычный}
+\end{tabular}
+
+\bigskip
+\end{lined}
+\end{table}
+
+
+\begin{table}[!bp]
+\index{шрифт!размер}
+\caption{Размеры шрифта} \label{sizes}
+\begin{lined}{12cm}
+\begin{tabular}{@{}ll}
+\fni{tiny} & \tiny крошечный \\
+\fni{scriptsize} & \scriptsize очень маленький\\
+\fni{footnotesize} & \footnotesize довольно маленький \\
+\fni{small} & \small маленький \\
+\fni{normalsize} & \normalsize нормальный \\
+\fni{large} & \large большой
+\end{tabular}%
+\qquad\begin{tabular}{ll@{}}
+\fni{Large} & \Large еще больше \\[5pt]
+\fni{LARGE} & \LARGE очень большой \\[5pt]
+\fni{huge} & \huge огромный \\[5pt]
+\fni{Huge} & \Huge громадный
+\end{tabular}
+
+\bigskip
+\end{lined}
+\end{table}
+
+\begin{table}[!tbp]
+\caption{Абсолютные размеры шрифтов в стандартных классах}
+\label{tab:pointsizes}
+\label{tab:sizes}
+\begin{lined}{12cm}
+\begin{tabular}{lrrr}
+\multicolumn{1}{c}{\textit{Размер}} &
+\multicolumn{1}{c}{\textit{10pt (по умолчанию)}} &
+ \multicolumn{1}{c}{\textit{опция 11pt}} &
+ \multicolumn{1}{c}{\textit{опция 12pt}}\\[6pt]
+\verb|\tiny| & 5pt & 6pt & 6pt\\
+\verb|\scriptsize| & 7pt & 8pt & 8pt\\
+\verb|\footnotesize| & 8pt & 9pt & 10pt \\
+\verb|\small| & 9pt & 10pt & 11pt \\
+\verb|\normalsize| & 10pt & 11pt & 12pt \\
+\verb|\large| & 12pt & 12pt & 14pt \\
+\verb|\Large| & 14pt & 14pt & 17pt \\
+\verb|\LARGE| & 17pt & 17pt & 20pt\\
+\verb|\huge| & 20pt & 20pt & 25pt\\
+\verb|\Huge| & 25pt & 25pt & 25pt\\
+\end{tabular}
+
+\bigskip
+\end{lined}
+\end{table}
+
+\begin{table}[!bp]
+\caption{Математические шрифты} \label{mathfonts}
+\begin{lined}{\textwidth}
+\begin{tabular}{@{}lll@{}}
+\textit{Команда}&\textit{Пример}& \textit{Вывод}\\[6pt]
+\fni{mathcal}\verb|{...}|& \verb|$\mathcal{B}=c$|& $\mathcal{B}=c$\\
+\fni{mathrm}\verb|{...}|& \verb|$\mathrm{K}_2$|& $\mathrm{K}_2$\\
+\fni{mathbf}\verb|{...}|& \verb|$\sum x=\mathbf{v}$|& $\sum x=\mathbf{v}$\\
+\fni{mathsf}\verb|{...}|& \verb|$\mathsf{G\times R}$|& $\mathsf{G\times R}$\\
+\fni{mathtt}\verb|{...}|& \verb|$\mathtt{L}(b,c)$|& $\mathtt{L}(b,c)$\\
+\fni{mathnormal}\verb|{...}|& \verb|$\mathnormal{R_{19}}\neq R_{19}$|&
+$\mathnormal{R_{19}}\neq R_{19}$\\
+\fni{mathit}\verb|{...}|& \verb|$\mathit{ffi}\neq ffi$|& $\mathit{ffi}\neq ffi$
+\end{tabular}
+
+\bigskip
+\end{lined}
+\end{table}
+
+В связи с командами смены размера шрифта заметную роль играют
+\wi{фигурные скобки}. Они используются для построения
+\emph{групп}. Группы ограничивают область действия большинства команд
+\LaTeX{}.\index{группирование}
+
+\begin{example}
+ Ему нравятся {\LARGE
+ большие и {\small
+ маленькие} буквы}.
+\end{example}
+
+Команды, влияющие на размер шрифта, влияют также на расстояние между
+строками, но только если соответствующий абзац заканчивается внутри
+области действия команды. Поэтому закрывающая фигурная скобка \verb|}|
+не должна стоять слишком рано. Заметьте положение команды \verb|\par|
+в следующих двух примерах\footnote{\texttt{\bs{}par} эквивалентен
+ пустой строке.}:
+\begin{example}
+{\Large Не читайте это! Это
+неправда. Верьте мне!\par}
+\end{example}
+
+\begin{example}
+{\Large Это тоже неправда.
+Но помните, что я вру.}\par
+\end{example}
+
+Если вы хотите применить команду изменения размера к целому абзацу
+текста или больше того, то для этого лучше использовать синтаксис
+окружения.
+
+\begin{example}
+ \begin{Large}
+ Это неправда. Но
+ что в наши дни\ldots
+ \end{Large}
+\end{example}
+
+\noindent Это избавит вас от подсчета множества фигурных скобок.
+
+
+\subsection{Опасность!}
+
+Как отмечено в начале этой главы, опасно усеивать ваши документы
+явными командами, вроде только что описанных, потому что это
+противоречит основной идее \LaTeX{}: разделению логической и
+визуальной разметки вашего документа. Это значит, что, если вы
+пользуетесь одними и теми же командами смены шрифта в разных местах
+для верстки специального вида информации, вы должны использовать
+\verb|\newcommand| и определить команду, <<оборачивающую>> в себя
+команду смены шрифта.
+
+\begin{example}
+% в преамбуле или пакете
+\newcommand{\danger}[1]{\textbf{#1}}
+% в документе
+Не \danger{входите} в эту комнату.
+Она занята \danger{машиной}
+неизвестного назначения.
+\end{example}
+
+Этот подход имеет то преимущество, что вы позже можете решить, что
+хотите использовать другое визуальное представление
+опасности,\trfootnote{danger} нежели
+\verb|\textbf|, без необходимости пробираться через весь документ,
+отыскивая все вхождения \verb|\textbf| и определяя, отмечает ли каждое
+из них опасность или что-нибудь другое.
+
+
+\subsection{Совет}
+
+Для завершения нашего путешествия в мир шрифтов и их размеров,
+позвольте дать вам один совет:
+
+\begin{quote}
+ \underline{\textbf{Помните\Huge!}} \textit{Чем}
+ \textsf{Б\textbf{\LARGE О}\texttt{ЛЬ}\textsl{ШЕ}} шрифтов \Huge вы
+ \tiny используете \footnotesize \textbf{в} вашем \small
+ \texttt{документе}, \large \textit{тем} \normalsize легче
+ \textsc{его читать} и тем \textsl{\textsf{красивее}} он
+ б\large{}у\Large{}д\LARGE{}е\huge{}т\normalsize.
+\end{quote}
+
+
+\section{Интервалы}
+
+
+\subsection{Интервалы между строками}
+
+\index{интервал!междустрочный} Если вам нужны б\'ольшие интервалы между
+строками, то их значение можно изменить помещением в преамбулу команды
+\begin{lscommand}
+\ci{linespread}\verb|{|\emph{коэффициент}\verb|}|
+\end{lscommand}
+\noindent Для печати <<через полтора интервала>> пользуйтесь
+\verb|\linespread{1.3}|, для печати <<через два интервала>>~---
+\verb|\linespread{1.6}|. По умолчанию этот коэффициент
+равен~1.\index{интервал!двойной}
+
+Заметим, что эффект от команды \ci{linespread} довольно радикален, и
+поэтому она не подходит для публикуемых работ. Поэтому, если у вас есть
+весомые соображения для изменения межстрочного интервала, лучше пользуйтесь
+следующей командой:
+
+\begin{lscommand}
+\verb|\setlength{\baselineskip}{1.5\baselineskip}|
+\end{lscommand}
+
+\begin{example}
+{\setlength{\baselineskip}%
+ {1.5\baselineskip}
+Этот абзац набран с интервалом в
+1.5 раза больше предыдущего. Заметьте
+команду \par{} в конце абзаца.\par}
+
+Ясно, зачем набрат этот абзац: он
+показывает, что за закрывающейся
+фигурной скобкой все вернулось к
+нормальным установкам.
+\end{example}
+
+
+\subsection{Форматирование абзацев}
+\label{parsp}
+
+Два параметра в \LaTeX{} влияют на верстку абзацев. Поместив в
+преамбулу определения вида
+\begin{code}
+\ci{setlength}\verb|{|\ci{parindent}\verb|}{0pt}| \\
+\verb|\setlength{|\ci{parskip}\verb|}{1ex plus 0.5ex minus 0.2ex}|
+\end{code}
+вы измените внешний вид абзацев. Эти две строчки увеличивают
+расстояние между абзацами и устанавливают абзацный отступ равным
+нулю.
+
+Части \texttt{plus} и \texttt{minus} говорят \TeX{}, что он может
+увеличивать и уменьшать интервал между абзацами на указанные величины,
+если это необходимо для правильного размещения абзацев на странице.
+
+В Европе абзацы часто отделяют пробелами и не делают в них
+отступа. Однако, имейте в виду, что это влияет также и на оглавление:
+его строки тоже становятся теперь более разреженными. Чтобы этого
+избежать, эти команды можно перенести из преамбулы документа
+куда-нибудь после \verb|\tableofcontents|, или не использовать их
+совсем, потому что в профессиональной книжной верстке используется
+выделение абзацев красной строкой, а не пробелами.
+
+Если вы хотите сделать абзацный отступ в не имеющем его абзаце, то
+вставьте в начало абзаца команду\footnote{Для добавления отступа к
+ первому абзацу после каждого заголовка раздела пользуйтесь пакетом
+ \pai{indentfirst} из комплекта `tools'.}
+\begin{lscommand}
+\ci{indent}
+\end{lscommand}
+\noindent Понятно, что эффект от нее будет только если
+\verb|\parindent| не установлен равным нулю.
+
+Для создания абзаца без отступа первой командой абзаца можно сделать
+\begin{lscommand}
+\ci{noindent}
+\end{lscommand}
+\noindent Это может быть удобно, когда вы начинаете документ с текста,
+а не с команды секционирования.
+
+
+\subsection{Горизонтальные интервалы}
+
+\label{sec:hspace}
+\LaTeX{} автоматически определяет пробелы между словами и
+предложениями. Чтобы добавить горизонтальный
+пробел\index{пробел!горизонтальный}, пользуйтесь
+\begin{lscommand}
+\ci{hspace}\verb|{|\emph{длина}\verb|}|
+\end{lscommand}
+Если такой интервал должен быть выдержан, даже если он приходится на
+начало или конец строки, используйте \verb|\hspace*|, а не
+\verb|\hspace|. В простейшем случае \emph{длина}~--- это просто число
+и единица измерения. Наиболее важные единицы перечислены в
+таблице~\ref{units}. \index{единицы}\index{длина}
+
+\begin{example}
+Тут\hspace{1.5cm}пробел
+в 1,5см.
+\end{example}
+
+%\suppressfloats
+\begin{table}[tbp]
+\caption{Единицы размерности в \TeX{}} \label{units}\index{единицы}
+\begin{lined}{9.5cm}
+\begin{tabular}{@{}ll@{}}
+\texttt{mm} & миллиметр $\approx 1/25$~дюйма \quad \demowidth{1mm} \\
+\texttt{cm} & сантиметр $=$ 10~mm \quad \demowidth{1cm} \\
+\texttt{in} & inch $=$ 25.4~mm \quad \demowidth{1in} \\
+\texttt{pt} & пункт $\approx 1/72$~дюйма $\approx \frac{1}{3}$~mm \quad\demowidth{1pt}\\
+\texttt{em} & примерная ширина буквы `M' текущего шрифта \quad \demowidth{1em}\\
+\texttt{ex} & примерная высота буквы `x' текущего шрифта \quad \demowidth{1ex}
+\end{tabular}
+
+\bigskip
+\end{lined}
+\end{table}
+
+\label{cmd:stretch}
+Команда
+\begin{lscommand}
+\ci{stretch}\verb|{|\emph{n}\verb|}|
+\end{lscommand}
+\noindent генерирует специальный <<резиновый>> пробел. Он
+растягивается, заполняя все оставшееся места на строке. Если на одной
+строке встречаются две команды
+\verb|\hspace{\stretch{|\emph{n}\verb|}}|, то они растягиваются
+пропорционально своим коэффициентам.\sloppypar
+
+\begin{example}
+x\hspace{\stretch{1}}
+x\hspace{\stretch{3}}x
+\end{example}
+
+Пpи использовании гоpизонтальных интеpвалов вместе с текстом может
+иметь смысл генеpиpовать интеpвал, pазмеp котоpого соотносится с
+pазмеpом текущего шpифта. Этого можно добиться пpи помощи
+относительных единиц pазмеpности \texttt{em} и \texttt{en}:
+
+\begin{example}
+{\Large{}big\hspace{1em}y}\\
+{\tiny{}tin\hspace{1em}y}
+\end{example}
+
+
+\subsection{Вертикальные интервалы}
+
+Интервалы между абзацами, разделами, подразделами,~\ldots\
+определяются \LaTeX{} автоматически. При необходимости дополнительный
+пробел \emph{между двумя абзацами} можно добавить командой
+\begin{lscommand}
+\ci{vspace}\verb|{|\emph{длина}\verb|}|
+\end{lscommand}
+
+Обычно эта команда вставляется между двумя пустыми строчками. Если это
+пространство должно сохраняться вверху или внизу страницы, используйте
+вариант команды со звездочкой: \verb|\vspace*|.\index{пробел!вертикальный}
+
+Команду \verb|\stretch| вместе с \verb|\pagebreak| можно применять для
+верстки текста на последней строке страницы или для вертикального
+центрирования текста на странице.
+\begin{code}
+\begin{verbatim}
+Некий текст\ldots
+
+\vspace{\stretch{1}}
+А это окажется на последней строке страницы.\pagebreak
+\end{verbatim}
+\end{code}
+
+Дополнительный пробел между двумя строками \emph{одного} абзаца или
+внутри таблицы указывается командой
+\begin{lscommand}
+\ci{\bs}\verb|[|\emph{длина}\verb|]|
+\end{lscommand}
+
+При помощи \ci{bigskip} и \ci{smallskip} вы можете пропустить заранее
+определенные вертикальные интервалы, не задумываясь о конкретных
+числах.
+
+\section{Компоновка страницы}
+
+\begin{figure}[!hp]
+\begin{center}
+\makeatletter\@layout\makeatother
+\end{center}
+\vspace*{1.8cm}
+\caption{Параметры компоновки страницы}
+\label{fig:layout}
+\end{figure}
+
+\index{компоновка страницы}
+\LaTeXe{} позволяет указать \wi{размер бумаги} в команде
+\verb|\documentclass|. Затем он автоматически выбирает правое
+\wi{поле}. Но иногда предопределенные значения могут вас не
+устроить. Безусловно, вы их можете изменить.
+%no idea why this is needed here ...
+\thispagestyle{fancyplain} Иллюстрация~\ref{fig:layout} показывает все
+параметры, которые можно изменить. Она была сгенерирована пакетом
+\pai{layout} из комплекта
+`tools'.\footnote{\texttt{\CTAN|macros/latex/required/tools|}}
+
+\textbf{ПОДОЖДИТЕ!} \ldots прежде, чем немедленно броситься делать эту
+слишком узкую страницу слегка пошире, потратьте несколько секунд на
+размышления. Подобно другим вещам, выбор компоновки страницы в
+\LaTeX{} весьма продуман.
+
+Безусловно, если сравнить со страницей, выданной свежеустановленным MS
+Word, то страницы \LaTeX{} выглядят ужасно узкими. Однако, взгляните
+на вашу любимую книгу\footnote{Имея в виду настоящую печатную книгу,
+ выпущенную уважаемым издательством.} и посчитайте количество букв на
+одной строчке. Вы обнаружите, что на каждой строчке не больше 66
+букв. Теперь повторите это со страницей \LaTeX{}. Вы увидите, что и
+здесь тоже около 66 букв в строке. Опыт показывает, что при большем
+количестве букв чтение затрудняется, потому, что глазам становится
+труднее переходить от конца одной строки к началу следующей. Именно
+поэтому газеты часто верстаются в несколько колонок.
+
+Так что, увеличивая ширину вашего текста, имейте в виду, что вы
+затрудняете жизнь его читателям. Однако, достаточно предупреждений,
+вам был обещан рассказ о том, как же это сделать\ldots
+
+\LaTeX{} предоставляет две команды для изменения этих параметров. Их
+обычно используют в преамбуле документа.
+
+Первая команда присваивает фиксированное значение любому параметру:
+\begin{lscommand}
+\ci{setlength}\verb|{|\emph{параметр}\verb|}{|\emph{длина}\verb|}|
+\end{lscommand}
+
+Вторая команда прибавляет длину к любому параметру:
+\begin{lscommand}
+\ci{addtolength}\verb|{|\emph{параметр}\verb|}{|\emph{длина}\verb|}|
+\end{lscommand}
+
+Она даже более полезна, чем \ci{setlength}, потому что позволяет вам
+делать настройку относительно существующих установок. Чтобы добавить
+сантиметр к общей ширине текста, например, в преамбулу нужно поместить
+следующее:
+\begin{code}
+\verb|\addtolength{\hoffset}{-0.5cm}|\\
+\verb|\addtolength{\textwidth}{1cm}|
+\end{code}
+
+Здесь вам может быть интересен пакет \pai{calc}, который позволяет
+использовать арифметические операции в аргументе \verb|\setlength| и в
+других местах, где аргументами являются численные значения.
+
+
+\section{Еще о длинах}
+
+Всегда, когда это возможно, избегайте использовать в документах
+абсолютных величин. Лучше основывайтесь на ширине или высоте других
+элементов страницы. Для ширины иллюстрации этим может служить
+\verb|\textwidth|, чтобы она заполняла страницу целиком.
+
+Следующие три команды позволяют определить ширину, высоту и глубину
+текстовой строки.
+
+\begin{lscommand}
+\ci{settoheight}\verb|{|\emph{пеpеменная}\verb|}{|\emph{текст}\verb|}|\\
+\ci{settodepth}\verb|{|\emph{пеpеменная}\verb|}{|\emph{текст}\verb|}|\\
+\ci{settowidth}\verb|{|\emph{пеpеменная}\verb|}{|\emph{текст}\verb|}|
+\end{lscommand}
+
+\noindent Нижеследующий пример показывает возможное применение этих
+команд.
+
+\begin{example}
+\flushleft
+\newenvironment{vardesc}[1]{%
+ \settowidth{\parindent}{#1:\ }
+ \makebox[0pt][r]{#1:\ }}{}
+
+\begin{displaymath}
+a^2+b^2=c^2
+\end{displaymath}
+
+\begin{vardesc}{Где}$a$,
+$b$ -- прилегают к прямому углу
+прямоугольного треугольника.
+
+$c$ -- одинокая гипотенуза
+этого треугольника.
+
+$d$ -- вообще тут не участвует.
+Вот загадка\ldots
+\end{vardesc}
+\end{example}
+
+
+\section{Блоки}
+
+\LaTeX{} выстраивает страницы, передвигая блоки. Сначала каждая буква
+является маленьким блоком, который приклеивается к другим буквам,
+формируя слово. Слова склеиваются с другими словами, но специальным
+эластичным клеем, который может растягиваться или сжиматься, так,
+чтобы в точности заполнить строку.
+
+Надо признать, что это довольно упрощенная версия того, что происходит
+на самом деле, но идея в том, что \TeX{} всегда работает с блоками и
+клеем. Не только буква может быть блоком. Вы можете поместить в блок
+практически все, что угодно, не исключая и другие блоки. Каждый блок
+затем обрабатывается \LaTeX{}, как если бы это была отдельная буква.
+
+В предыдущих главах вы уже встречали некоторые блоки, хотя об этом и
+не говорилось. Примерами могут быть окружение \ei{tabular} или
+\ci{includegraphics}, оба производящие блок. Это значит, что вы легко
+можете сверстать рядом две таблицы или иллюстрации. Только убедитесь,
+что их общая ширина не превышает \verb|\textwidth|.
+
+Вы также можете упаковать любой абзац в блок или командой
+
+\begin{lscommand}
+\ci{parbox}\verb|[|\emph{поз}\verb|]{|\emph{ширина}\verb|}{|\emph{текст}\verb|}|
+\end{lscommand}
+
+\noindent или окружением
+
+\begin{lscommand}
+\verb|\begin{|\ei{minipage}\verb|}[|\emph{поз}\verb|]{|\emph{ширина}\verb|}| текст
+\verb|\end{|\ei{minipage}\verb|}|
+\end{lscommand}
+
+Параметр \emph{поз} может принимать одну из букв \texttt{c, t} или
+\texttt{b}, контролируя вертикальное выравнивание блока по отношению к
+базовой линии окружающего текста. \emph{Ширина} принимает аргументом
+длину, определяющую ширину блока. Основное отличие между \ci{minipage}
+и \ci{parbox}~--- в том, что внутри \ci{parbox} можно использовать не
+все команды и окружения, тогда как внутри \ci{minipage} можно
+практически все.
+
+В то время, как \ci{parbox} упаковывает целый абзац, разбивая строчки
+и прочее, существует класс блоковых команд, работающих только на
+горизонтально расположенном материале. Одну из них мы уже знаем. Она
+называется \ci{mbox} и просто упаковывает последовательность блоков,
+что можно использовать для предотвращения переноса \LaTeX{} двух
+слов. Так как вы можете помещать одни блоки в другие, эти упаковщики
+горизонтальных блоков чрезвычайно гибки.
+
+\begin{lscommand}
+\ci{makebox}\verb|[|\emph{ширина}\verb|][|\emph{поз}\verb|]{|\emph{текст}\verb|}|
+\end{lscommand}
+
+\noindent \emph{Ширина} определяет ширину результирующего блока так,
+как его видно снаружи.\footnote{Это означает, что она может быть
+ меньше, чем материал внутри блока. В предельном случае вы можете
+ даже установить ее в 0pt, так что текст внутри блока верстается,
+ вообще не оказывая влияния на окружающие блоки.} Кроме выражений
+длины, вы тут можете использовать \ci{width}, \ci{height}, \ci{depth}
+и \ci{totalheight}. Они устанавливаются равными значениям, полученным
+измерением параметров \emph{текста}.\trfootnote{Ширина, высота, глубина
+ и общая высота (высота плюс глубина) текста,
+ соответственно.} Параметр \emph{поз}
+принимает однобуквенное значение: \textbf{c}: центрировать,
+\textbf{l}: отжать влево, \textbf{r}: отжать вправо или \textbf{s}:
+равномерно заполнить блок текстом.
+
+Команда \ci{framebox} работает в точности так же, как \ci{makebox}, но
+рисует рамку вокруг текста.
+
+Следующий пример показывает некоторые возможности использования команд
+\ci{makebox} и \ci{framebox}.
+
+\begin{example}
+\makebox[\textwidth]{%
+ ц е н т р}\par
+\makebox[\textwidth][s]{%
+ р а с т я н у т ы й}\par
+\framebox[1.1\width]{Я теперь
+ в рамке!} \par
+\framebox[0.8\width][r]{Ой,
+ я слишком толстый} \par
+\framebox[1cm][l]{ничего,
+ я тоже}
+Можете это прочитать?
+\end{example}
+
+Теперь, когда мы управляем горизонталью, очевидный следующий шаг~---
+вертикаль. Никаких проблем. Команда
+
+\begin{lscommand}
+\ci{raisebox}\verb|{|\emph{сдвиг}\verb|}[|\emph{глубина}\verb|][|\emph{высота}\verb|]{|\emph{текст}\verb|}|
+\end{lscommand}
+
+\noindent позволяет вам определить вертикальные характеристики
+блока. В первых трех параметров можно использовать \ci{width},
+\ci{height}, \ci{depth} и \ci{totalwidth}, чтобы получить размеры
+аргумента \emph{текст}.
+
+\begin{example}
+\raisebox{0pt}[0pt][0pt]{\Large%
+\textbf{Aaaa\raisebox{-0.3ex}{a}%
+\raisebox{-0.7ex}{aa}%
+\raisebox{-1.2ex}{a}%
+\raisebox{-2.2ex}{a}%
+\raisebox{-4.5ex}{a}}}
+кричал он, но даже стоящий рядом
+не заметил, что с ним случилось
+что-то ужасное.
+\end{example}
+
+
+\section{Линейки и распорки}
+\label{sec:rule}
+
+Несколько страниц назад вы могли отметить команду
+
+\begin{lscommand}
+\ci{rule}\verb|[|\emph{сдвиг}\verb|]{|\emph{ширина}\verb|}{|\emph{высота}\verb|}|
+\end{lscommand}
+
+\noindent При обычном использовании она генерирует простой черный
+блок.
+
+\newpage
+\begin{example}
+\rule{3mm}{.1pt}%
+\rule[-1mm]{5mm}{1cm}%
+\rule{3mm}{.1pt}%
+\rule[1mm]{1cm}{5mm}%
+\rule{3mm}{.1pt}
+\end{example}
+
+\noindent Это можно использовать для рисования вертикальных и
+горизонтальных линий. Например, линия на титульном листе нарисована
+командой \ci{rule}.
+
+Специальным случаем является линейка, у которой нет ширины, но есть
+определенная высота. В профессиональной верстке ее называют
+\emph{распоркой}\index{распорка}. Ее используют, чтобы обеспечить
+определенную минимальную высоту элемента страницы. Вы можете
+использовать ее, чтобы сделать строку окружения \texttt{tabular}
+имеющей определенную минимальную высоту.
+
+\begin{example}
+\begin{tabular}{|c|}
+\hline
+\rule{0pt}{4ex}Pitprop \ldots\\
+\hline
+\rule{0pt}{4ex}Strut\\
+\hline
+\end{tabular}
+\end{example}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "lshort2e"
+%%% End:
+
+\bigskip
+{\flushright Конец.\par}
+
+%