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

Теоремы, выключные формулы


Чтобы изменить оформление "теорем" (окружений, определяемых с помощью \newtheorem), надо переопределить команды \@begintheorem и \@opargbegintheorem (первая из них отвечает за оформление "теорем" без необязательного аргумента, вторая — за оформление "теорем" с необязательным аргументом). Первая из них определена так:

\newcommand{\@begintheorem}[2]{\begin{trivlist} \item[\hspace{\labelsep}\bfseries#1\ #2] \itshape}

Здесь аргумент #1 означает название "теоремы" (например, " Теорема", "Предложение", "Лемма",...- в команде \newtheorem это слово являлось вторым обязательным аргументом), а аргумент "#2" означает номер "теоремы". Если мы, например, хотим, чтобы после номера "теорем" стояла точка, нам достаточно переопределить эту команду, добавив точку после #2. Что делать для того, чтобы сменить шрифт, которым печатаются номер или текст "теорем", также достаточно ясно.

Команда \@opargbegintheorem определяется так:

\newcommand{\@opargbegintheorem}[3]{\begin{trivlist} \item[\hspace{\labelsep}{\bfseries #1\ #2\ (#3)}] \itshape}

Здесь #1 и #2 по-прежнему означают название и номер " теоремы", а #3 — необязательный аргумент "теоремы" (обычно в качестве такового задается имя ученого, которому приписывается данная теорема).

Если оформление, задаваемое окружением trivlist, вас не устраивает, то можно переопределить две вышеуказанные команды более радикально. Общий принцип таков. Перед текстом "теоремы", не имеющей необязательного аргумента, исполняется команда \@begintheorem; у этой команды должно быть два аргумента, причем первый из них — название "теоремы", а второй — ее номер. Если "теорема" имеет необязательный аргумент, то вместо \@begintheorem перед ее текстом исполняется команда \@opargbegintheorem, имеющая три аргумента: первые два — такие же, как у \@begintheorem, и третий — необязательный аргумент "теоремы" (имя первооткрывателя).
Наконец, после текста "теоремы" исполняется команда \@endtheorem, которая изначально определена очень просто:

\newcommand{\@endtheorem}{\end{trivlist}} В принципе можно переопределить все три эти команды, чтобы получить свое оформление "теорем" (например, в духе наших макросов для автоматической нумерации задач из лекции 7). Только следите, чтобы переопределения всех трех команд были согласованы друг с другом: если, например, вы изгоните \begin{trivlist} из определения \@begintheorem, но при этом оставите команду \@endtheorem в неприкосновенности, то на каждой " теореме" LaTeX будет сообщать вам об ошибке (отсутствие баланса команд \begin и \end).

При пользовании AMS'овскими классами документов "теоремы" определяются иначе. Вряд ли, впрочем, вы сочтете нужным переделывать стандарт Американского математического общества.

Теперь скажем кое-что про стиль оформления номеров выключных формул, заданных в виде окружения {equation}. Как вам уже известно, можно переопределить команду \theequation или (с помощью команды \@addtoreset) изменить подчиненность счетчика {equation}; при этом изменится оформление самих номеров формул. Кроме этого, можно изменить то, что печатается возле этих номеров. Для этого следует переопределить команду \@eqnnum. Изначально она определена так:

\newcommand{\@eqnnum}{(\theequation)} При желании можно заменить тут круглые скобки на что-нибудь другое. Имейте в виду, что номер выключной формулы обрабатывается TeX'ом " в математическом режиме", как формула (латинские буквы по умолчанию набираются "математическим курсивом" и т.п.).


Содержание раздела