М.Гуссенс, Ф.Миттельбах, А.Самарин ПУТЕВОДИТЕЛЬ ПО

advertisement
М.Гуссенс, Ф.Миттельбах, А.Самарин
ПУТЕВОДИТЕЛЬ ПО ПАКЕТУ LATEX И ЕГО РАСШИРЕНИЮ LATEX2E:
Справочное руководство по пакету LATEX2e—современной версии LATEX'a,
— ставшему в настоящее время стандартом de facto. Благодаря гибкости, простоте
использования и профессиональному полиграфическому качеству, LATEX,
разработанный на базе издательской системы TEX Дональда Кнута, широко
применяется при подготовке изданий как по точным, так и по гуманитарным
наукам. Авторам — известным специалистам в этой тематике (Швейцария, ФРГ,
Швейцария) — удалось в полном объеме представить инструментарий LATEX'a:
NFSS2, AMS-LATEX, epic, eepic, MakeIndex и BibTeX, а также богатую
библиотеку пакетов (более 150) по плавающим объектам, графике, таблицам,
языку PostScript и многоязыковой поддержке.
Книга предназначена для тех, кто хочет знать, как расширить возможности
lATEX'a, чтобы уметь красиво оформлять издания: для профессиональных
полиграфистов, авторов, разработчиков и программистов.
Предисловие редактора перевода
5
Предисловие
11
1 Введение
19
1.1 Краткая история TeX’а и LaTeX’а
19
1.1.1 Вначале был TeX
19
1.1.2 Потом Лесли Лэмпорт придумал LaTeX
20
1.1.3 С LaTeX’ом в 2000 год?
21
1.2 LaTeX и его составляющие
21
1.2.1 Как работает LaTeX?
21
1.2.2 Выходные процессоры (драйверы dvi)
24
1.3 Концепция общей разметки
25
1.3.1 Что такое общая разметка?
25
1.3.2 Преимущества общей разметки
26
1.3.3 Разделение содержания и формы
27
1.4 Необходимость локальной разметки
27
1.4.1 Недостатки локальной разметки
27
1.4.2 Когда использовать локальную разметку
28
2 Структура документа, подготовленного в LaTeX’е
29
2.1 Структура исходного файла
29
2.1.1 Обработка опций и пакетов
31
2.1.2 Разделение исходного файла на части
34
2.1.3 Комбинирование нескольких файлов
35
2.2 Логическая структура
35
2.3 Команды секционирования
36
2.3.1 Нумерация заголовков
38
2.3.2 Форматирование заголовков
42
2.3.3 Изменение стандартных заголовков
48
2.4 Структура оглавления
49
2.4.1 Набор оглавления
50
2.4.2 Ввод информации в файлы оглавления
2.4.3 Определение нового файла, аналогичного .toc
2.4.4 Сложные оглавления
2.5 Управление ссылками
2.5.1 varioref — более гибкие ссылки
2.5.2 Ссылки на внешние документы
3 Основные средства форматирования
3.1 Фразы и абзацы
3.1.1 letterspace — изменение межбуквенных интервалов
3.1.2 ulem — выделение посредством подчеркивания
3.1.3 xspace — гибкий пробел после макро
3.1.4 Выравнивание внутри абзаца
3.1.5 doublespace —изменение интерлиньяжа
3.1.6 picinpar — набор абзацев с прямоугольными окнами
3.1.7 shapepar — набор абзацев необычной формы
3.2 Структуры перечня
3.2.1 Модификация стандартных перечней
3.2.2 Создание собственных перечней
3.3 Подражание машинописному шрифту
3.3.1 alltt—окружение типа verbatim
3.3.2 verbatim — стиль для литературного текста
3.3.3 moreverb—дополнительные окружения типа verbatim
3.4 Примечания: подстрочные, на полях, выносные
3.4.1 Создание сносок
3.4.2 Примечания на полях
3.4.3 Выносные примечания
3.5 Использование многоколонного набора
3.5.1 multicol — гибкий способ работы с многоколонным документом
3.5.2 Набор текста в колонках
3.5.3 Создание окружения multicols
3.5.4 Плавающие объекты и сноски в multicol
3.5.5 ftnright — сноски в правой колонке при двухколонном окружении
3.6 Простое управление версиями
4 Макет полосы набора
4.1 Геометрические параметры макета полосы набора
4.2 Изменение макета
4.2.1 Пакеты для создания макета полосы набора
4.2.2 Горизонтальное расположение полос набора при печати
4.3 Стили полосы
4.3.1 Написание новых стилей полосы
4.3.2 Создание стиля полосы при помощи fancyheadings
4.4 Явное форматирование
5 Таблицы
5.1 Сравнение окружений tabbing и tabular
53
54
55
58
60
64
65
66
66
67
68
69
70
71
72
74
74
78
84
84
84
85
88
88
92
93
94
94
95
96
98
98
100
101
102
105
107
109
110
112
114
117
120
121
5.2 Использование окружения tabbing
5.2.1 Окружение program
5.3 array — расширение окружений tabular
5.3.1 Примеры команд преамбулы
5.3.2 Стилевые параметры
5.3.3 Определение новых спецификаторов колонок
5.3.4 Некоторые особенности реализации пакета array
5.3.5 tabularx — автоматическое вычисление ширины колонок
5.3.6 delarray — определение вида ограничителей для окружения array
5.4 Многостраничные таблицы
5.4.1 supertab —верстка многостраничных таблиц
5.4.2 longtable —усложненные многостраничные таблицы
5.4.3 Завершающее сравнение окружений supertabular и longtable
5.5 Дополнительные штрихи
5.5.1 dcolumn — управление выравниванием в колонках таблицы
5.5.2 hhline — комбинирование горизонтальных и вертикальных от
резков
5.6 Приложения
5.6.1 Переносы в узких колонках
5.6.2 Сноски в таблицах
5.6.3 Таблицы с широкими графами
5.6.4 Колонки, занимающие несколько строк таблицы
5.6.5 Таблицы внутри таблиц
5.6.6 Еще два примера
6 Плавающие объекты
6.1 Параметры плавающих объектов
6.2 Улучшенное размещение плавающих объектов
6.3 float — создание новых видов плавающих объектов
6.3.1 Разместить плавающий объект «здесь» !
6.4 Другие виды плавающих окружений
6.4.1 floatfig — узкие плавающие рисунки «в оборку»
6.4.2 wrapfig — неплавающие рисунки «в оборку»
6.4.3 subfigure — рисунки внутри рисунков
6.4.4 endfloat — размещение рисунков и таблиц в конце документа
6.5 Создание своих названий
7 Переключение шрифтов
7.1 Введение в NFSS
7.2 Характеристики шрифтов
7.2.1 Моноширинные и пропорциональные шрифты
7.2.2 Шрифты с засечками и без засечек
7.2.3 Семейства шрифтов и их атрибуты
7.2.4 Схемы кодирования
7.3 Переключение шрифтов в тексте
7.3.1 Стандартные шрифтовые команды NFSS
122
123
124
124
129
131
132
133
137
138
138
142
147
147
147
151
152
152
153
154
155
157
160
162
162
166
169
171
173
173
174
176
176
178
180
180
182
183
184
184
189
190
191
7.3.2 Комбинирование стандартных команд управления шрифтами
7.3.3 Сравнение командного и декларативного способов переключения
шрифтов
7.3.4 Доступ ко всем литерам шрифта
7.3.5 Изменение значений по умолчанию для атрибутов текстовых
шрифтов
7.3.6 Шрифтовые команды LaTeX 2.09
7.4 Переключение шрифтов в формулах
7.4.1 Специальные идентификаторы математических алфавитов
7.4.2 Текстовые шрифтовые команды при наборе математических
формул
7.4.3 Версии математических формул
7.5 Стандартные пакеты
7.5.1 Добавление новых текстовых шрифтов
7.5.2 Подключение новых математических шрифтов
7.5.3 slides — получение демонстрационных слайдов
7.5.4 Обработка ранее созданных документов
7.5.5 Специальные пакеты для NFSS
7.6 Низкоуровневый интерфейс
7.6.1 Установка индивидуальных шрифтовых атрибутов
7.6.2 Установка значений для нескольких шрифтовых атрибутов
7.6.3 Автоматические подстановки шрифтов
7.6.4 Использование низкоуровневых команд в документе
7.7 Подключение новых шрифтов
7.7.1 Общая схема
7.7.2 Объявление новых семейств шрифтов и групп начертаний
шрифтов
7.7.3 Параметры управления загрузкой шрифтов
7.7.4 Ввод определений новых схем кодирования
7.7.5 Внутренняя организация файла
7.7.6 Объявление новых шрифтов для математических формул
7.7.7 Порядок записи деклараций
7.8 Предупреждения и сообщения об ошибках
8 Высшая математика
8.1 Создание AMS-LaTeX’а
8.2 Шрифты и символы в формулах
8.2.1 Команды для математических шрифтов
8.2.2 Математические символы
8.3 Составные символы, ограничители и операторы
8.3.1 Кратные интегралы
8.3.2 Стрелки сверху и снизу
8.3.3 Многоточия
8.3.4 Двойные акценты
8.3.5 Акценты как верхние индексы
196
197
199
200
202
202
203
206
207
208
209
212
214
214
215
217
218
223
224
225
225
225
226
235
235
236
238
243
244
252
252
253
253
254
260
260
260
261
261
262
8.3.6 Акценты в виде точек
8.3.7 Корни
8.3.8 Формулы в рамке
8.3.9 Растяжимые стрелки
8.3.10 Команды \overset, \underset и \sideset
8.3.11 Команда \smash
8.3.12 Команда \text
8.3.13 Названия новых операций
8.3.14 Команда \rnod и ее аналоги
8.3.15 Дроби и родственные конструкции
8.3.16 Непрерывные дроби
8.3.17 Ог-г-г-громные ограничители
8.4 Окружения типа матрицы и коммутативные диаграммы
8.4.1 Окружение cases
8.4.2 Окружения типа matrix
8.4.3 Команда \substack
8.4.4 Коммутативные диаграммы
8.5 Выравнивание многострочных формул
8.5.1 Несколько формул без выравнивания
8.5.2 Несколько формул с выравниванием
8.5.3 Разбитые на части формулы без выравнивания
8.5.4 Разбитые на части формулы с выравниванием
8.5.5 Окружения выравнивания для набора отдельных частей
выключных формул
8.5.6 Вертикальные пробелы и разрывы страниц при наборе формул
8.5.7 Команда \intertext
8.6 Разное
8.6.1 Нумерация формул
8.6.2 Установка счетчика формул
8.6.3 Подчиненная нумерация формул
8.6.4 Тонкая настройка в математическом режиме
8.6.5 На что еще обратить внимание
8.6.6 Опции к пакету amsmath и отдельные его составляющие
8.6.7 Классы документов AMS-LaTeX’а
8.7 Примеры многострочных формул
8.7.1 Окружение split
8.7.2 Окружение multline
8.7.3 Окружение gather
8.7.4 Окружение align
8.7.5 Использование окружений align и split внутри gather
8.7.6 Использование окружений alignat
8.8 Расширения для окружения theorem
8.8.1 Как определять новые окружения типа теоремы
8.8.2 Примеры определений и использования теорем
262
262
262
263
263
264
264
265
266
266
268
268
269
269
269
271
271
272
273
274
275
275
276
277
277
278
278
279
279
280
280
281
283
283
283
286
287
287
288
289
290
291
293
8.8.3 Некоторые специальные вопросы
8.9 Параметры, задающие математические стили
8.9.1 Как управлять размерами символов
8.9.2 Параметры математических стилей в LaTeX’е
9 LaTeX в многоязычной среде
9.1 TEX и языки, отличные от английского
9.1.1 Механизм виртуального шрифта
9.2 Babel — LaTeXвладеет многими языками
9.2.1 Среда пользователя
9.2.2 Опция german
9.2.3 Структура языковых стилевых файлов системы babel
9.3 Следование типографским нормам
9.3.1 Традиционные французские типографские нормы
9.3.2 Команды пакета french
9.3.3 Структура пакета french
10 Графика в LaTeX’е
10.1 Орнаменты
10.1.1 Министраницы в рамке
10.1.2 Рамки с тенью
10.1.3 Декоративные рамки
10.2 Окружение picture
10.2.1 Аппроксимации Безье
10.2.2 Как совмещать несколько рамок
10.2.3 Как рисовать бинарные и тернарные деревья
10.2.4 Как рисовать гистограммы
10.2.5 Примеры окружения barenv
10.2.6 Как рисовать произвольные кривые
10.2.7 Другие пакеты
10.3 epic — усовершенствования к окружению picture
10.3.1 Описание команд
10.4 Расширение пакета epic
10.4.1 Расширения LaTeX’а при помощи eepic
10.4.2 Расширения пакета epic при помощи eepic
10.4.3 Новые команды в пакете eepic
10.4.4 Совместимость
10.4.5 Примеры
10.5 Пакеты, основанные на epic
10.5.1 Как рисовать двудольные графы
10.5.2 Как рисовать деревья
11 Как использовать PostScript
11.1 Язык PostScript
11.1.1 Несколько слов о языке
11.1.2 Что такое инкапсулированный PostScript ?
11.2 dvips—преобразование dvi в PostScript
294
294
294
296
298
298
301
302
302
303
305
312
312
313
314
315
317
317
317
318
320
320
321
322
324
326
327
333
333
335
340
341
341
342
343
344
344
344
348
350
350
350
352
354
11.3 Совмещение текста и графики в формате PostScript
11.3.1 Простые рисунки
11.3.2 Черновые рисунки
11.3.3 Более сложная организация рисунков
11.4 Как повернуть материал
11.4.1 Как повернуть табличный материал
11.4.2 Как повернуть рисунок
11.4.3 Как повернуть только подпись к рисунку
11.5 Отчеркивания на полях
11.5.1 Среда пользователя
11.5.2 Параметры команд пакета changebar
11.5.3 Недостатки и неточности
11.6 Обрамление и затенение
11.7 Цветной вывод
11.8 Наложение текста на выводимую страницу
11.9 Еще одно обращение к NFSS
11.9.1 Как называются эти тысячи шрифтов
11.9.2 Система PSNFSS
11.9.3 Как использовать Pi-шрифты из PostScript'a
11.9.4 Общие команды в пакете pifont
11.9.5 Шрифт Symbol
11.9.6 Как самостоятельно установить новые PostScript-шрифты
11.9.7 Как заменить все ТeХ'овские шрифты PostScript-шрифтами
11.10 DCPS — корковская кодировка с PostScript-шрифтами
12 Создание указателей
12.1 Синтаксис описания элементов указателя
12.1.1 Простые описания элементов указателя
12.1.2 Формирование подчиненных элементов
12.1.3 Диапазоны страниц и перекрестные ссылки
12.1.4 Управление формой представления указателя
12.1.5 Печать специальных символов
12.1.6 Некоторые дополнительные замечания
12.1.7 Согласованность элементов указателя
12.2 Подготовка указателя
12.2.1 Формирование полуфабриката указателя
12.2.2 Получение форматированного указателя
12.3 Запуск программы MakeIndex
12.3.1 Опции программы MakeIndex
12.3.2 Сообщения об ошибках
12.4 Изменение вида указателя
12.4.1 Пример стилевых файлов указателя
12.4.2 Указатель, формируемый отдельно
12.4.3 Изменение специальных символов
12.4.4 Изменение выходного формата указателя
355
358
359
359
361
363
364
365
365
367
369
369
370
371
371
371
371
372
375
376
377
378
379
380
385
387
387
388
389
390
391
391
393
394
394
394
395
395
398
400
400
404
404
405
12.4.5 Обработка нетрадиционных номеров страниц
12.4.6 Глоссарий
12.5 Изменение макета указателя
12.5.1 Формирование нескольких указателей
12.5.2 Модификация команд формирования указателей
13 Создание списка литературы
13.1 Создание библиографических ссылок
13.1.1 Придание ссылкам требуемого вида
13.1.2 Выбор формата меток
13.2 Совместное использование BibTeX'а и LaTeX’а
13.2.1 Список стилевых файлов для BibTeX'а
13.2.2 Примеры BibTeX''овских стилей
13.3 Документы с несколькими списками литературы
13.3.1 Пакет chapterbib
13.3.2 Пакет bibunits
13.4 Средства управления библиографическими базами данных
13.5 Форматbib-файлов
13.5.1 Общая структура записей в BibTeX''овской базе данных
13.5.2 Текстовая часть поля
13.5.3 BibTeX и аббревиатуры
13.5.4 BibTeX'овская преамбула
13.5.5 Перекрестные ссылки
13.5.6 Дополнительные замечания
13.6 Формат записей базы данных (подробное описание)
13.7 Как устроены BibTeX'овские стили
13.7.1 Общее представление о BibTeX'овских стилевых файлах
13.7.2 Команды BibTeX'овского стилевого файла
13.7.3 Встроенные функции
13.7.4 Стилевой файл-документация btxbst.doc
13.8 Модификация стилевых файлов
13.8.1 Добавление нового поля
13.8.2 Поддержка языков, отличных от английского
13.9 Пакет makebst для модификации библиографических стилей
13.9.1 Работа с программой makebst
14 Средства документирования макропакетов
14.1 Макропакеты с документацией
14.2 Пользовательский интерфейс пакета doc
14.2.1 Основные понятия
14.2.2 Описание новых макрокоманд и окружений
14.2.3 Перекрестные ссылки между используемыми макрокомандами
14.2.4 Заключительные процедуры создания указателя
14.2.5 Дополнительные возможности
14.2.6 Управляющий файл
14.2.7 Простой пример файла, документированного при помощи пакета
406
408
409
410
410
416
417
418
420
420
422
424
431
431
434
438
443
443
445
450
451
452
453
453
458
458
459
459
459
463
464
466
469
470
472
472
473
473
474
475
475
475
481
482
doc
14.3 Утилита DOCSTRIP
14.3.1 Команды, используемые в пакетных файлах
14.3.2 Условное включение кода
14.4 Пример инсталляционной процедуры
А LaTeX: основы программирования
А.1 Разметка и форматирование
А.1.1 Определение новых команд
А.1.2 Определение новых окружений
А.1.3 Создание счетчиков и изменение их текущих значений
А.1.4 Управление параметрами расстояния
А.2 Разметка страниц: различные типы боксов
А.2.1 LR-боксы
А.2.2 Боксы-абзацы
А.2.3 Боксы-линейки
А.2.4 Работа с боксами
А.3 Структура пакетов и классов в LaTeX2e
А.3.1 Команды идентификации
А.3.2 Начальный командный код
А.3.3 Декларация опций
А.3.4 Исполнение опций
А.3.5 Загрузка макропакетов
А.3.6 Основной командный код
А.3.7 Команды, специально предназначенные для макропакетов и
классов
А.3.8 Команды, специально предназначенные для классов
А.4 calc — макропакет для арифметических вычислений
А.5 ifthen — усовершенствованный условный переход
В Техническое обеспечение и группы пользователей
8.1 Главные сайты TeX'a в Internet'e
8.2 Mail-серверы
8.3 Группы пользователей TeX'a
Список литературы
Именной указатель
Предметный указатель
Список таблиц
Список иллюстраций
Оригинал-макет The LaTeX Companion
485
485
487
487
492
492
493
496
499
502
507
508
510
514
515
517
519
520
520
522
523
524
524
525
527
529
534
534
538
538
541
555
557
591
594
597
Download