Работа в системе LaTeX



         

Модификация команд, задающих разделы - часть 5


Далее печатается слово "Глава", ее номер и заголовок главы; поскольку заголовок может не поместиться в строку, надо предусмотреть, какие будут при этом параметры верстки абзаца. Как видите, устанавливается нулевое значение абзацного отступа и отсутствие выравнивания по правому краю; чтобы такой режим не распространился на дальнейший текст, соответствующие команды даны внутри группы. Внутри этой же группы определен шрифт, которым будет печататься заголовок.

Команда \@chapapp печатает слово " Chapter", "Глава",... — одним словом, то, как в вашем документе называются главы. Точнее говоря, по умолчанию эта команда работает так же, как \chaptername, а после команды \appendix (если таковая есть в вашем файле) начинает работать как \appendixname . Если в вашем тексте все главы называются одинаково, то при переопределении \@makechapterhead можно не мудрить, а прямо заменить \@chapapp на "Глава". Не забудьте только оставить пробел между этим словом и номером главы (выше это было сделано с помощью обычного трюка с парой фигурных скобок).

Остальное в приведенном выше определении разъяснений, надо думать, не требует. Скорее всего, вы захотите в этой команде изменить шрифт, которым печатается заголовок главы, или же интервалы, отделяющие заголовок от остального текста. Чтобы изменить вид, в котором представляется на печати номер главы, надо, как водится, переопределить команду \thechapter. Можно при желании задать и какое-нибудь более сложное оформление заголовка с помощью блоков и линеек — все зависит от вашей фантазии и вкуса!

Надо еще сказать, что мы немного обманули читателя: на самом деле в стандартных классах команда \@makechapterhead определена таким образом, что если значение счетчика secnumdepth отрицательно, то команды, записанные в строках с пятой по седьмую, не исполняются (и номер главы не печатается). В нашем определении эти команды будут исполняться всегда, вне зависимости от значения secnumdepth; если вы переопределяете \@makechapterhead и не хотите, чтобы главы нумеровались, просто удалите соответствующие строки из определения.




Содержание  Назад  Вперед