<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki2.linuxformat.ru/skins/common/feed.css?97"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki2.linuxformat.ru/index.php?action=history&amp;feed=atom&amp;title=LXF89%3ALaTeX</id>
		<title>LXF89:LaTeX - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki2.linuxformat.ru/index.php?action=history&amp;feed=atom&amp;title=LXF89%3ALaTeX"/>
		<link rel="alternate" type="text/html" href="http://wiki2.linuxformat.ru/index.php?title=LXF89:LaTeX&amp;action=history"/>
		<updated>2026-05-13T22:23:56Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.11.1</generator>

	<entry>
		<id>http://wiki2.linuxformat.ru/index.php?title=LXF89:LaTeX&amp;diff=2574&amp;oldid=prev</id>
		<title>Interlace в 20:23, 17 марта 2008</title>
		<link rel="alternate" type="text/html" href="http://wiki2.linuxformat.ru/index.php?title=LXF89:LaTeX&amp;diff=2574&amp;oldid=prev"/>
				<updated>2008-03-17T20:23:39Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 20:23, 17 марта 2008&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Цикл/LaTeX}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Компьютерные TeXнологии''' Учимся использовать культовую систему вёрстки&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Компьютерные TeXнологии''' Учимся использовать культовую систему вёрстки&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Interlace</name></author>	</entry>

	<entry>
		<id>http://wiki2.linuxformat.ru/index.php?title=LXF89:LaTeX&amp;diff=2496&amp;oldid=prev</id>
		<title>Interlace: Новая: '''Компьютерные TeXнологии''' Учимся использовать культовую систему вёрстки  == Вёрстка I == '''''ЧАСТЬ 6''' Мы ...</title>
		<link rel="alternate" type="text/html" href="http://wiki2.linuxformat.ru/index.php?title=LXF89:LaTeX&amp;diff=2496&amp;oldid=prev"/>
				<updated>2008-03-17T16:13:51Z</updated>
		
		<summary type="html">&lt;p&gt;Новая: '''Компьютерные TeXнологии''' Учимся использовать культовую систему вёрстки  == Вёрстка I == '''''ЧАСТЬ 6''' Мы ...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая статья&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Компьютерные TeXнологии''' Учимся использовать культовую систему вёрстки&lt;br /&gt;
&lt;br /&gt;
== Вёрстка I ==&lt;br /&gt;
'''''ЧАСТЬ 6''' Мы учимся использовать культовую систему верстки уже полгода, но до сих пор не сказали об этой самой верстке ни слова. '''Евгений Балдин''' спешит исправить сложившуюся ситуацию.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;''Хороший набор – это плотный набор, «дырявый» же набор&amp;lt;br&amp;gt;плохо читается, так как дыры нарушают связанность строки и&amp;lt;br&amp;gt;тем самым затрудняют восприятие мысли.''&amp;lt;br&amp;gt;'''Ян Чихольд.'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Волшебных текстовых процессоров не существует. Телепатией программы пока не обладают. Они, естественно, делают то, что им сказано, но вкус и чувство прекрасного у них полностью отсутствует. В конце занимательного приключения по созданию текстов частенько приходится брать управление в свои руки, дабы навести лоск на почти готовое произведение.&lt;br /&gt;
&lt;br /&gt;
Вёрстка – это процесс составления страниц определённого размера (полос) газеты, журнала, книги из набранных строк, заголовков, иллюстраций и т.п. в соответствии с разметкой или макетом. В этой главе разберёмся с тем как задавать размеры, что такое макет полосы набора и как «удерживать» текст в рамках дозволенного.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Определённые «размеры» и переменные «длины» ===&lt;br /&gt;
Для определения расстояния ''LaTeX'' поддерживает переменные типа «длина». Например, ранее уже упоминалась команда '''\TeXtwidth''' – это переменная, хранящее значение длины, равное ширине текста.&lt;br /&gt;
&lt;br /&gt;
Для создания переменной типа «длина» следует воспользоваться командой '''\newlength'''. В качестве обязательного параметра ей передаётся имя переменной. При создании переменной присваивается нулевая длина, так что следующим шагом необходимо приравнять её чему-то:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;100%&amp;quot;|&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\newlength{\MyLen}&lt;br /&gt;
\setlength{\MyLen}{1cm plus 2.5fill minus 5mm}&lt;br /&gt;
\addtolength{\MyLen}{5em}&lt;br /&gt;
Длина \lstinline!\MyLen! равна \the\MyLen.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Изображение:Img_89_92_1.png|center]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Длина в ''LaTeX'' – это не просто какой-то определённый размер. Это более сложная структура с указанием границ возможного сжатия и растяжения. Границы растяжения определяются с помощью инструкции '''plus''', а сжатия – '''minus'''. При формировании абзацев ''TeX'' использует эту информацию для максимально «красивого» заполнения.&lt;br /&gt;
&lt;br /&gt;
Команда '''\setlength''' эквивалентна оператору присваивания. В свою очередь команда '''\addtolength''' позволяет увеличить переменную на указанную величину, которая может быть отрицательной. Макрос '''\the''' позволяет «развернуть» переменную длины для вывода на печать.&lt;br /&gt;
&lt;br /&gt;
''LaTeX'' «говорит» в терминах англо-американской системы мер. Эта система отживает своё, но её наследие будет ещё долго проявляться и портить жизнь современному «метрическому» миру. Для определённости следует знать, что один дюйм ('''in''') равен 2.54 сантиметра, и в нём умещается 72.27 пунктов (1 pt &amp;amp;asymp; 0.35 mm). Метрические величины представлены привычными сантиметрами ('''cm''') и миллиметрами ('''mm'''). Кроме упомянутых величин, ''LaTeX'' умеет оперировать размерами в больших пунктах ('''bp'''), пунктах Дидо ('''dd'''), пиках ('''pc''') и цицеро ('''cc''') – традиционных единицах измерения, используемых в типографиях. Минимальной ненулевой единицей длины в ''LaTeX'' является приведённый пункт ('''sp'''), который составляет 1/65536 от одного пункта.&lt;br /&gt;
&lt;br /&gt;
Кроме определённых единиц измерения, длину можно задавать также и в относительных: '''1ex''' соответствует высоте строчной латинской буквы x, а '''1em''' – ширине прописной латинской буквы M. Эти величины меняются вместе со сменой шрифта, что позволяет задавать автоматически масштабирующиеся горизонтальные промежутки, не привязанные к конкретному размеру и типу шрифта. Например, широкий пробел, задаваемый с помощью команды '''\quad''', определяется как '''\hspace{1em}'''.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;100%&amp;quot;|&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\setlength{\MyLen}{1ex}&lt;br /&gt;
Высота x равна \the\MyLen\par&lt;br /&gt;
\Large \setlength{\MyLen}{1ex}&lt;br /&gt;
Высота x равна \the\MyLen&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Изображение:Img_89_92_2.png|center]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Интересной инструкцией является длина '''fill''' – это бесконечность. ''TeX'' поддерживает операции с бесконечностями, причём оперирует тремя их видами: '''fil''', '''fill''' и '''filll''', где '''fil'''&amp;lt;&amp;lt;'''fill'''&amp;lt;&amp;lt;'''filll'''. С помощью этих сущностей производится центрирование боксов и более сложные выравнивания.&lt;br /&gt;
&lt;br /&gt;
Если хочется узнать ширину текста, то можно воспользоваться командой '''\settowidth''':&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;100%&amp;quot;|&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\settowidth{\MyLen}{очень длинная фраза}&lt;br /&gt;
\addtolength{\MyLen}{1em}&lt;br /&gt;
\centering&lt;br /&gt;
\framebox[1.2\MyLen]{очень длинная фраза}\par&lt;br /&gt;
\framebox[1.2\MyLen]{короткая фраза}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Изображение:Img_89_93_1.png|center]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Аналогично, команда '''\settoheight''' позволяет выяснить высоту текста над базовой линией, а '''\settodepth''' – глубину под базовой линией. При использовании длины можно добавить перед ней множитель.&lt;br /&gt;
&lt;br /&gt;
А теперь немного «магии» из английского FAQ по ''LaTeX'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\makeatletter&lt;br /&gt;
\newcommand{\maxwidth}{%&lt;br /&gt;
    \ifdim\Gin@nat@width&amp;gt;\linewidth&lt;br /&gt;
        \linewidth&lt;br /&gt;
    \else&lt;br /&gt;
        \Gin@nat@width&lt;br /&gt;
    \fi&lt;br /&gt;
}&lt;br /&gt;
\makeatother&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта конструкция определяет переменную длины '''\maxwidth''' таким образом, что при вставке картинки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\includegraphics[width=\maxwidth]{«картинка»}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ширина картинки становится равной минимальному из двух возможных значений: «естественной» ширины картинки (размер в '''BoundingBox''') или ширины строки. Это позволяет вывести картинку в натуральную величину при условии, что она не выходит за рамки дозволенного и загнать её в эти рамки, коли она за них вылезает.&lt;br /&gt;
&lt;br /&gt;
===== calc =====&lt;br /&gt;
В дополнение к стандартным возможностям, пакет ''calc'' расширяет базовые операции с длинами. Фактически ''calc'' вводит арифметические операции в привычной со школы инфиксной записи.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;100%&amp;quot;|&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\setlength{\MyLen}{&lt;br /&gt;
    (1em+\widthof{очень длинная фраза})*\real{1.2}}&lt;br /&gt;
\centering&lt;br /&gt;
\framebox[\MyLen]{очень длинная фраза}\par&lt;br /&gt;
\framebox[\MyLen]{короткая фраза}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Изображение:Img_89_93_2.png|center]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
При загрузке ''calc'' '''\setlength''' и '''\addtolength''' переопределяются так, что в качестве аргумента после этого можно передавать арифметические выражения. Кроме арифметики, в ''calc'' определяются макросы '''\widthof{текст}''', '''\heightof{текст}''' и '''\depthof{текст}''' – ширина, высота и глубина текста.&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Img_89_93_3.png|frame|center|Определение ширины ('''width'''), высоты ('''height''') и глубины ('''depth''').]]&lt;br /&gt;
&lt;br /&gt;
При умножении длины на число длина должна стоять до числа ('''4mm*2''' – верно, а '''2*4mm'''– нет). Делить и умножать можно только на целые числа. Действительные числа вводятся с помощью уже использованного в примере макроса '''\real''' и отношения длин, вычисляемого с помощью команды:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\ratio{«длина»}{«длина»}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подробное описание пакета можно найти в документации '''calc.pdf''' из коллекции ''tools''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Скелет страницы ====&lt;br /&gt;
На рисунке ниже приведён результат выполнения команды '''\layout''' из одноимённого пакета. Основное место на странице занимает текст – верстальщики зовут его «основной текст» или «тело текста» (bodytext). Справа и слева от текста расположены поля. Поля обычно остаются пустыми, но иногда они используются для заметок («маргиналий» или «фонариков»). В верхней и нижней части страницы расположены, соответственно, верхний и нижний колонтитулы. Колонтитул представляет из себя справочную строку, помогающую ориентироваться в структуре текста.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;100%&amp;quot;|&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
1 один дюйм + \hoffset&lt;br /&gt;
2 один дюйм + \voffset&lt;br /&gt;
3 \oddsidemargin = 2pt&lt;br /&gt;
4 \topmargin = -41pt&lt;br /&gt;
5 \headheight = 18pt&lt;br /&gt;
6 \headsep = 21pt&lt;br /&gt;
7 \textheight = 635pt&lt;br /&gt;
8 \textwidth = 448pt&lt;br /&gt;
9 \marginparsep = 12pt&lt;br /&gt;
10 \marginparwidth = 49pt&lt;br /&gt;
   \marginparpush = 6pt (not shown)&lt;br /&gt;
   \voffset = 0pt&lt;br /&gt;
   \paperheight = 845pt&lt;br /&gt;
11 \footskip = 50pt&lt;br /&gt;
   \hoffset = 0pt&lt;br /&gt;
   \paperwidth = 597pt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Изображение:Img_89_93_4.png|thumb|right|300px|Макет полосы набора класса ''scrartcl'' (опция '''a4paper'''). Результат выполнения команды '''\layout'''.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Совокупность размеров и расположений указанных полей, а также вид и содержание колонтитулов называется макетом полосы набора. На рисунке пунктирной линией изображены поля драйвера ('''1''' и '''2''') относительно которых выстраиваются все остальные поля. По договорённости отступы до полей драйвера равны одному дюйму. Переопределив '''\hoffset''' и '''\voffset''' (по умолчанию они равны нулю), можно легко сдвинуть полосу набора целиком по горизонтали и вертикали, соответственно.&lt;br /&gt;
&lt;br /&gt;
Ниже перечислены параметры, которые управляют макетом полосы набора:&lt;br /&gt;
* Тело текста характеризуется высотой '''\TeXthight''' ('''7''') и шириной '''\TeXtwidth''' ('''8''') При многоколоночной вёрстке ширина колонки равна '''\columnwidth'''. Переменная '''\linewidth''' принимает значение, равное длине строки текущего текста.&lt;br /&gt;
* '''\oddsidemargin''' ('''3''') добавляется слева в случае односторонней печати. При двусторонней печати полосы набора для чётных и нечётных страниц различаются. В этом случае для нечётных слева опять же добавляется '''\oddsidemargin''', а для чётных '''\evensidemargin'''.&lt;br /&gt;
* Верхний колонтитул располагается на расстоянии '''\topmargin''' ('''4''') от поля драйвера, имеет высоту '''\headheight''' ('''5'''), а тело текста отступает от колонтитула на расстояние '''\headsep''' ('''6''').&lt;br /&gt;
* '''\footskip''' позиционирует базовую линию нижнего колонтитула относительно последней строки текста.&lt;br /&gt;
* Поля для заметок имеют ширину '''\marginparwidth''' ('''10''') и отступают от тела текста на расстояние '''\marginparsep''' ('''9'''). Ещё одна опция управляет минимальным расстоянием между заметками: '''\marginparpush'''.&lt;br /&gt;
&lt;br /&gt;
===== Выбор размера бумаги =====&lt;br /&gt;
Физический размер бумаги описывается параметрами '''\paperwidth''' и '''\paperheight'''. Стандартные базовые классы ''LaTeX'' ('''article''', '''book''', '''report''' и '''letter''') по умолчанию предполагают, что для печати используется бумага формата letter. Очевидно, это умолчание не годится для России, где стандартом является формат A4 (210x297 мм). Обычно установить правильный формат можно с помощью передачи параметра '''a4paper''' при выборе класса документа:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\documentclass[a4paper,12pt,oneside]{scrbook}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для создания небольших брошюрок со страницей размера A5 (половина размера A4) используется опция '''a5paper'''.&lt;br /&gt;
&lt;br /&gt;
===== Ориентация =====&lt;br /&gt;
Для портретной и альбомной ориентации вообще-то требуются разные макеты полосы набора. Альбомная ориентация может использоваться по умолчанию в некоторых специализированных классах (например, '''slides''').&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[Изображение:Img_89_94_1.png|thumb|right|150px|''lscape'' в действии.]]&lt;br /&gt;
Если повернуть требуется только текст без изменения полей колонтитулов, то проще всего воспользоваться окружением '''landscape''' из пакета ''lscape''. Всё, что находится внутри этого окружения поворачивается на 90 градусов против часовой стрелки. При использовании ''pdflatex'' для изменения ориентации не только текста, но и страницы (дабы не наклонять при чтении текста голову набок) при загрузке пакета следует передать ему опцию '''pdftex''' или воспользоваться пакетомнадстройкой ''pdflscape''.&lt;br /&gt;
&lt;br /&gt;
Лучше не менять параметры макета во время набора, но если очень хочется это сделать, то можно воспользоваться стандартным пакетом ''portland''. Он позволяет менять портретную ориентацию на альбомную и обратно на лету, переопределяя соответствующие управляющие макетом переменные. Команды '''\portrait''' и '''\landscape''' работают как переключатели между этими режимами. В пакете определены и одноимённые с переключателями окружения. Это довольно низкоуровневый пакет, и пользоваться им надо аккуратно.&lt;br /&gt;
|-&lt;br /&gt;
|[[Изображение:Img_89_94_2.png|thumb|right|200px|''rotpages'' в действии.]]&lt;br /&gt;
Если по какой-то причине требуется развернуть текст на 180 градусов, можно воспользоваться пакетом ''rotpages''. В пакете определены два переключателя режима '''\rotboxpages''' и '''\endrotboxpages''', которые указывают границы повёрнутого теста. Пакет умеет разворачивать не только страницы, но и колонки. Подробности можно найти в документации: '''rotpages-doc.pdf'''.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Меняем макет ===&lt;br /&gt;
Причина, по которой неискушённый ТеХник начинает менять макет полосы набора, обычно заключается в том, что он использует стандартные классы ''LaTeX'' – один из четвёрки '''article''', '''book''', '''report''' или '''letter'''. Это очень древние классы, и на них много чего «завязано», поэтому они прибывают в абсолютно замороженном состоянии. Поэтому лучше для начала найти себе класс по душе. Например, '''scrartcl''', '''scrbook''', '''scrreprt''' и '''scrlettr''' – классы из коллекции ''KOMA-Script'', которые дублируют функциональность стандартной четвёрки, но ориентируются на европейских пользователей и размер листа A4. А.И. Роженко в рамках коллекции ''ncclatex'' (NCC) предоставляет класс '''ncc''', ориентированный на русских TeXников.&lt;br /&gt;
&lt;br /&gt;
==== Двигаем размеры ====&lt;br /&gt;
Выбор, естественно, не ограничивается упомянутыми выше классами – он огромен. Поэтому, прежде чем что-то изменять, следует внимательно изучить уже имеющиеся решения. И даже если вы знаете, что делаете, лучше не переопределять переменные, управляющие размерами макета полосы набора, вручную. Правильным решением будет воспользоваться одним из уже имеющих специализированных пакетов, например: '''geometry''' или '''vmargin'''.&lt;br /&gt;
&lt;br /&gt;
===== geometry =====&lt;br /&gt;
Пакет '''geometry''' меняет размеры прямо в процессе загрузки стилевого файла, например, так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\usepackage[height=25cm,a4paper,hmargin={3cm,2cm}]{geometry}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разбор параметров выполняется с помощью пакета ''keyval'', который уже упоминался в статье «Графика» (см. LXF86). В качестве параметров можно передавать выражения, если загружен пакет ''calc''.&lt;br /&gt;
&lt;br /&gt;
Список воспринимаемых пакетом опций очень обширен. В документации ('''geometry.pdf''') подробное описание всех имеющихся опций занимает свыше пяти страниц текста. Использование этого пакета для изменения размеров полей является более предпочтительным, чем изменение размеров напрямую. Обилие принимаемых параметров позволит задать любой формат полосы набора в наиболее естественной форме, не ошибившись при расчётах. Подробное описание пакета, к сожалению, выходит за все разумные ограничения на объём статьи. К счастью, документация очень хорошая и чрезвычайно подробная.&lt;br /&gt;
&lt;br /&gt;
===== vmargin =====&lt;br /&gt;
Пакет ''vmargin'' управляет размерами макета через выставку полей. Перед этим следует задать формат листа:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\setpapersize[«ориентация»]{«формат листа»}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В качестве обязательного параметра команды можно указать один из следующих форматов: '''A0''', '''A1''', …, '''A9''', '''B0''', '''B1''', …, '''B9''', '''C0''',…, '''C9''', '''USletter''', '''USlegal''' и '''USexecutive'''. Необязательный параметр может принимать значения '''landscape''' (альбомная ориентация) или '''portrait''' (портретная ориентация, по умолчанию). Для нестандартных форматов листа можно задать размеры с помощью ключевого слова '''custom''' команды:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\setpapersize{custom}{«ширина»}{«высота»}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После того, как вы определитесь с размером страницы, можно задавать размеры для полосы набора с помощью одной из следующих команд:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
%Полоса набора с колонтитулами&lt;br /&gt;
\setmargins{«ширина поля слева»}{«высота поля сверху»}%&lt;br /&gt;
    {«ширина текста»}{«высота текста»}%&lt;br /&gt;
    {«высота»}{«отступ»}%верхний колонтитул&lt;br /&gt;
    {«высота»}{«отступ»}%нижний колонтитул&lt;br /&gt;
%Полоса набора без колонтитулов&lt;br /&gt;
\setmargnohf{«ширина поля слева»}{«высота поля сверху»}%&lt;br /&gt;
    {«ширина текста»}{«высота текста»}%&lt;br /&gt;
%Установка рамеров без изменения колонтитулов&lt;br /&gt;
\setmarg{«ширина поля слева»}{«высота поля сверху»}%&lt;br /&gt;
    {«ширина текста»}{«высота текста»}%&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Кроме перечисленных команд, определены их аналоги: '''\setmarginsrb''', '''\setmargnohfrb''', '''\setmargrb'''. Отличие состоит в том, что вместо ширины и высоты тела текста в качестве параметров им передаются ширина правого поля и высота нижнего поля. Подробно пакет описан в документации '''vmargin.pdf'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Стили страницы ====&lt;br /&gt;
Полоса набора – это не только размеры: это ещё и наполнение колонтитулов. Обычно оно определяется в классе документа. Здесь без необходимости лучше тоже ничего не менять.&lt;br /&gt;
&lt;br /&gt;
Простейший способ изменить стиль страницы – это воспользоваться командой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\pagestyle{«стиль страницы»}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если стиль надо переопределить только для текущей страницы, то следует воспользоваться командой '''\thispagestyle{стиль страницы}'''.&lt;br /&gt;
&lt;br /&gt;
Есть три стандартно определённых стиля:&lt;br /&gt;
* empty Страница выводится без каких-либо колонтитулов – только текст.&lt;br /&gt;
* plain Выводится только номер страницы в нижнем колонтитуле.&lt;br /&gt;
* headings В верхнем колонтитуле выводится номер страницы и информация, определяемая классом документа.&lt;br /&gt;
&lt;br /&gt;
Если и это наполнение не устраивает, то можно определить свой собственный стиль. Пакет ''fancyhdr'' специализируется как раз на этом.&lt;br /&gt;
&lt;br /&gt;
===== fancyhdr =====&lt;br /&gt;
[[Изображение:Img_89_95_1.png|thumb|right|300px|Заполняем колонтитулы с помощью ''fancyhdr''.]]&lt;br /&gt;
Чтобы воспользоваться возможностями пакета, необходимо загрузить стилевой файл и выбрать стиль с помощью '''\pagestyle'''&lt;br /&gt;
&lt;br /&gt;
Пакет fancyhdr позволяет управлять содержимым колонтитула. Возможности: верхний и нижний колонтитул разбивается на три независимых части, многострочные колонтитулы, колонтитулы, вылезающие по ширине за '''\textwidth''', декоративные линейки, разные колонтитулы для чётных и нечётных страниц, отдельные колонтитулы для специальных полос (начала глав, страницы, отведённые под плавающие объекты). Вот простейший пример для определения колонтитулов с помощью ''fancyhdr'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\usepackage{fancyhdr}&lt;br /&gt;
…&lt;br /&gt;
\begin{document}&lt;br /&gt;
\pagestyle{empty} %очищаем стиль страницы&lt;br /&gt;
\pagestyle{fancy} %включаем пользовательский стиль&lt;br /&gt;
\lhead{А.В.Тор} %верхний колонтитул слева&lt;br /&gt;
\chead{---~\arabic{page}~---} % там же по центру&lt;br /&gt;
\rhead{Статья} %верхний колонтитул справа&lt;br /&gt;
% аналогично для оформления нижнего колонтитула&lt;br /&gt;
\cfoot{---~\roman{page}~---}&lt;br /&gt;
\lfoot{\hspace{0.7cm}Это просто демонстрация}&lt;br /&gt;
\rfoot{возможностей \textbf{fancyheadings}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Переменная '''page''' содержит номер страницы. Подробности о том что можно сотворить с колонтитулами, следует искать в документации к пакету '''fancyhdr.pdf'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Причёсываем текст ===&lt;br /&gt;
[[Изображение:Img_89_95_2.png|thumb|right|200px|Дефект набора (коридор).]]&lt;br /&gt;
Теперь, когда границы определены, разберемся, что можно сделать для красивого размещения текста на странице. Часть забот по следованию правилам вёрстки ''LaTeX'' берёт на себя. Вам, например, не требуется следить за единообразием оформления полос. Но есть дефекты, которые компьютеру заметить не под силу, например, так называемые коридоры.&lt;br /&gt;
&lt;br /&gt;
===== Строка =====&lt;br /&gt;
[[Изображение:Img_89_95_3.png|thumb|right|200px|Переполненная строка. Включена опция ''draft''.]]&lt;br /&gt;
Когда строка с точки зрения TeX становится слишком разряженной ('''Underfull''') или слишком сжатой ('''Overfull'''), в log-файле появляются предупреждения, начинающиеся словами вида:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Overfull \hbox (26.1765pt too wide) in paragraph at lines 347--356&lt;br /&gt;
[][]\T2A/cmr/m/n/12 Список вос-при-ни-ма-е-мых па-ке-том оп-ций&lt;br /&gt;
очень об-ши-рен. В до-ку-мен-та-ции geometry.pdf&lt;br /&gt;
Если при выборе класса документа передать ему опцию draft:&lt;br /&gt;
\documentclass[draft,a4paper,12pt,oneside]{scrbook}&lt;br /&gt;
то такие проблемные места будут отмечаться прямо в тексте.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обычно подобные переполнения связаны с тем, что ''LaTeX'' не знает, как перенести какое-либо слово. В этом случае следует сообщить ему, что и где можно переносить, как это было показано во второй части цикла «Базовые элементы» (см. LXF84). В крайнем случае можно насильно разорвать строку с помощью команды '''\linebreak''' или '''\\'''. В отличии от '''\linebreak''', команда '''\\''' не выравнивает остаток строки по правому полю.&lt;br /&gt;
&lt;br /&gt;
Если можно редактировать текст, то для исправления дефектов набора лучше переделать предложение так, чтобы в новой инкарнации тест не создавал проблем для чтения.&lt;br /&gt;
&lt;br /&gt;
===== Горизонтальные пробелы =====&lt;br /&gt;
Расстояние между словами можно изменить с помощью горизонтальных промежутков. Они создаются с помощью команды '''\hspace'''. В качестве параметра команде передаётся длина. Вариант команды '''\hspace*''' отличается от основной тем, что создание пробела не игнорируется даже тогда, когда пробел приходится на начало или конец строки.&lt;br /&gt;
&lt;br /&gt;
Существует несколько определённых по умолчанию горизонтальных пробелов:&lt;br /&gt;
* '''\quad''' – горизонтальный промежуток шириной '''1em'''. Также есть '''\qquad''' – удвоенный '''\quad''', и '''\endspace''' – половина от '''\quad'''.&lt;br /&gt;
* '''\hfill''' – бесконечный горизонтальный промежуток. Два '''\hfill''' подряд в два раза больше, чем один. Также есть «уменьшенная» бесконечность – '''\hfil'''.&lt;br /&gt;
* '''\hrulefill''' – то же, что и '''\hfill''', но заполненный промежуток подчеркивается. Аналогично, есть команда, заполняющая всё точками – '''\dotfill'''.&lt;br /&gt;
&lt;br /&gt;
===== Страница =====&lt;br /&gt;
Проблемы могут возникнуть и при формировании страниц. В крайнем случае, можно воспользоваться командами принудительного завершения страницы '''\pagebreak''' или '''\newpage'''. Отличие первой команды от второй в том, что после формирования страницы полоса выравнивается по нижней кромке – это может привести к неоправданному растяжению страницы. Если проблему можно решить путём увеличения/уменьшения страницы на одну-две строки, то лучше воспользоваться следующими макросами:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\newcommand{\longpage}{\enlargethispage{\baselineskip}}&lt;br /&gt;
\newcommand{\shortpage}{\enlargethispage{-\baselineskip}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда '''\longpage''' увеличивает тело текста текущей страницы на одну строку, а '''\shortpage''', соответственно, уменьшает. Длина '''\baselineskip''' служит для определения интерлиньяжа – междустрочного пробела.&lt;br /&gt;
&lt;br /&gt;
===== Висячая строка =====&lt;br /&gt;
Одним из самых неприятных дефектов набора является «висячая строка». Висячая строка – это концевая строка абзаца, стоящая первой на странице, или начальная срока абзаца, стоящая на странице последней. Этих артефактов следует всячески избегать. Для подавления этого эффекта в заголовке документа следует определить две переменные:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
%подавление висячих строк.&lt;br /&gt;
\clubpenalty=10000&lt;br /&gt;
\widowpenalty=10000&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Вертикальные просветы =====&lt;br /&gt;
По аналогии с командой '''\hspace{длина}''', вертикальные промежутки организуются с помощью команды '''\vspace{длина}'''. Модификация команды '''\vspace*{длина}''' создаёт вертикальный просвет, которые не игнорируется, даже если просвет попадает на начало или конец страницы.&lt;br /&gt;
&lt;br /&gt;
Вертикальные просветы также имеют свои умолчания:&lt;br /&gt;
* '''\bigskip''' – вертикальный промежуток, равный примерно '''\baselineskip'''. Также имеются '''\medskip''' – половина от '''\bigskip''', и '''\smallskip''' – четверть от '''\bigskip'''.&lt;br /&gt;
* '''\vfill''' – бесконечный вертикальный промежуток. Два '''\vfill''' подряд в два раза больше, чем один. Также есть «уменьшенная» бесконечность – '''\vfil'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Печать через две строки ====&lt;br /&gt;
До сих пор временами встречаются требования вида: «Предоставить диплом, набранный в два интервала» – пережиток эпохи печатных машинок [при наборе «в два интервала» интерлиньяж равен удвоенному значению кегля, «в один интервал» – самому значению кегля, – прим. ред.]. Для решение этой проблемы лучше всего воспользоваться пакетом ''spacing''. В пакете определена команда '''\doublespacing''', которая выполняет искомое действие. Так же в spacing определены макросы '''\onehalfspacing''' и '''\singlespacing''' – печать в полтора и один интервал, соответственно. Для вертикальной разрядки небольшого фрагмента текста лучше воспользоваться одноимёнными окружениями или окружением '''spacing''':&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;100%&amp;quot;|&amp;lt;source lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\begin{spacing}{2.5}&lt;br /&gt;
    &amp;lt;&amp;lt;Этот текст, напечатан с&lt;br /&gt;
    интервалом в две с&lt;br /&gt;
    половиной строки&amp;gt;&amp;gt;.&lt;br /&gt;
\end{spacing}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Изображение:Img_89_96_1.png|center]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
В качестве основного параметра окружению '''spacing''' передаётся интервал, с которым следует печатать текст.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Послесловие ===&lt;br /&gt;
В этом тексте присутствует далеко не вся информация, необходимая для вёрстки текста. Несмотря на то, что ''LaTeX'' позволяет верстать книги любителям без помощи профессионалов, лучше при любой возможности спрашивать у этих профессионалов совета. Понимание того, что, где и зачем надо исправлять, в случае ''LaTeX'' чрезвычайно важно, потому что, как правило, и так очевидно.&lt;/div&gt;</summary>
		<author><name>Interlace</name></author>	</entry>

	</feed>