Кто кому подчинен в стандарте
Нам осталось выполнить свое обещание и рассказать, какие счетчики определены в LaTeX'овском стандарте и каковы отношения подчинения между ними.
В классах article и proc счетчик section определен как
\newcounter{section}в то время как в классах report и book, в которых существуют еще и главы, определяется никому не подчиненный счетчик chapter для глав, а счетчик section определяется как подчиненный счетчику chapter:
\newcounter{chapter} \newcounter{section}[chapter]Остальные счетчики номеров разделов определяются во всех четырех стандартных классах одинаково:
\newcounter{part} \newcounter{subsection}[section] \newcounter{subsubsection}[subsection] \newcounter{paragraph}[subsubsection] \newcounter{subparagraph}[paragraph]Соответствующие этим счетчикам the-команды определены в классах article и proc так:
\renewcommand{\thepart}{\Roman{part}} \renewcommand{\thesection}{\arabic{section}} \renewcommand{\thesubsection}{\thesection.\arabic{subsection}} \renewcommand{\thesubsubsection}% {\thesubsection.\arabic{subsubsection}} \renewcommand{\theparagraph}% {\thesubsubsection.\arabic{paragraph}} \renewcommand{\thesubparagraph}% {\theparagraph.\arabic{subparagraph}}(мы пишем \renewcommand, поскольку все эти the-команды уже получили какое-то определение при создании счетчиков).
В классах report и book, кроме того, определена the-команда для счетчика chapter и по-другому определена \thesection:
\renewcommand{\thechapter}{\arabic{chapter}} \renewcommand{\thesection}% {\thechapter.\arabic{section}}За нумерацию сносок отвечает счетчик footnote. В классах article} и proc этот счетчик определяется как никому не подчиненный:
\newcounter{footnote}В классах же report и book этот счетчик подчинен счетчику chapter, так как в них присутствует еще и команда
\@addtoreset{footnote}{chapter}В таком же положении, как счетчик footnote, находится и отвечающий за нумерацию формул счетчик equation: в классах article и proc он определен как никому не подчиненный, а в классах report и book он подчинен счетчику chapter.
Однако же в классах report и book переопределяется \theequation:
\renewcommand{\theequation}{\thechapter.\arabic{equation}} Наконец, счетчики figure и table, отвечающие за нумерацию плавающих иллюстраций и таблиц соответственно, устроены точно так же, как счетчик equation: в классах article и proc они никому не подчинены, а в двух других стандартных классах они подчинены счетчику chapter и соответствующие the-команды определены как
\renewcommand{\thefigure}% {\thechapter.\arabic{figure}} (аналогично для table).
Остались еще счетчики, связанные с нумерованными перечнями. Как объяснялось в лекции 7, эти счетчики, в зависимости от уровня вложенности enumerate, называются enumi, enumii, enumiii и enumiv. Все эти счетчики, естественно, последовательно подчинены друг другу, а их ссылочные префиксы определены так (это — единственный случай, когда в стандарте используются нетривиальные ссылочные префиксы):
\renewcommand{\p@enumii}{\theenumi} \renewcommand{\p@enumiii}{\theenumi(\theenumii)} \renewcommand{\p@enumiv}{\p@enumiii\theenumiii}