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



         

Колонтитулы - часть 8


\renewcommand{\subsectionmark}[1]{}

Бывает и так, что вас устраивает стандартный стиль оформления колонтитулов, но при этом не устраивает, что именно в эти колонтитулы автоматически записывается. Например, у ваших разделов длинные заглавия, и вы при этом хотите, чтобы они в несокращенном виде попали в оглавление, а сокращенные варианты заглавий пошли только в колонтитулы. Команда \section с необязательным аргументом тут не спасет, так как этот необязательный аргумент запишется и в оглавление тоже. Вот бы задать информацию для колонтитулов вручную, без того, чтобы это автоматически делали команды типа \section! Можно, конечно, переопределить на "ничего не делать" все команды типа \sectionmark, как в приведенном выше примере, но LaTeX предоставляет вам более простой способ. Если написать в стилевом файле (до того, как вы переопределяете команды наподобие \@oddhead)

\pagestyle{myheadings}

то все LaTeX'овские команды для создания разделов не будут вносить пометок в текст, а оформление колонтитулов будет стандартным. После этого можно самостоятельно переопределить \@oddhead и пр., если вам это нужно: пометки в текст командами рубрикации вноситься все равно не будут.

Теперь вы сможете, например, писать

\section {О некоторых специальных свойствах подмножеств пустых множеств, не рассматривавшихся в предыдущих разделах статьи}% \markboth{\thesection\hspace{1em}Подмножества}{}

и в оглавлении будет заголовок целиком, а в колонтитуле — лишь слово "Подмножества" (мы подразумеваем, что стиль все тот же, только аргументом команды \pagestyle был myheadings вместо headings). Команда \markboth помещена после команды \section, чтобы номер раздела, генерируемый командой \thesection, был правильным. Кроме того, мы убрали с помощью знака процента пробел (конец строки) между командами \section и \markboth, чтобы пометки с гарантией попали на ту же страницу, что и заголовок раздела.

Другие команды, отвечающие за автоматическую расстановку пометок в тексте, устроены аналогичным образом: команда \chapter ставит пометки с помощью команды \chaptermark, команда \section — с помощью команды \sectionmark и т.


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