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



         

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


\markboth{u}{v}, \markboth{a}{b} и \markboth{m}{n},

а на страницах 4 и дальнейших никаких новых пометок не появлялось. Тогда значения команд \leftmark и \rightmark в процессе обработки этих страниц были таковы:

Страница\leftmark\rightmark
1
x
t
2
z
t
3
u
n
4 и далее
m
n

Наряду с командой \markboth, которая ставит в тексте новую пару пометок, есть еще и команда \markright с одним аргументом, которая ставит в тексте пару пометок таким образом: левый элемент в этой паре — такой же, как был в предыдущей паре пометок, а правый — тот, что задан в аргументе команды \markright. Например, если сначала идет команда

\markboth{Кот}{Пес}

а затем команда

\markright{Собака}

(и в промежутке между этими командами никаких других пометок в текст не вносится), то это равносильно тому, как если бы вторая из этих команд была

\markboth{Кот}{Собака}

Выше мы уже отмечали, что команды типа \section ставят в тексте пометки автоматически. Понять, как это делается и как можно влиять на этот процесс, проще всего на примере. Сделаем такие предположения о документе: класс — article, разделы и подразделы нумеруются (иными словами, значение счетчика {secnumdepth} больше единицы), действует стилевая опция twoside и в преамбуле была дана команда \pagestyle{headings}.

Во-первых, отметим, что в этом случае пометки в текст вставляют только команды \section и \subsection. При этом команда \section ставит пометки, автоматически выполняя команду \sectionmark, имеющую один обязательный аргумент — заглавие раздела (если команда \section была дана без необязательного аргумента) или вариант заглавия, заданный в необязательном аргументе команды \section (если таковой присутствует). Вот как определена \sectionmark (на место #1 будет подставляться вариант заглавия, идущий в колонтитулы):

\newcommand{\sectionmark}[1]{\markboth{% \MakeUppercase{\thesection\hspace{1em}#1}}% левая пометка {}% правая пометка (она пуста) }% конец макроопределения

Здесь используется LaTeX'овская команда \MakeUppercase, которую мы ранее не рассматривали.


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