Почему \@title, \@author и \@date очищаются во время \maketitle?

Почему \@title, \@author и \@date очищаются во время \maketitle?

(ЭтонетдубликатКак использовать @author, @date и @title после maketitle?)

Я понимаю, что это \maketitleсбрасывает кучу макросов, включая \@title, \@author, \@date, и \maketitleсебя самого. Я предполагаю, что для этого есть веская причина, и я хотел бы знать, какая она.

Для небольшого контекста, я пишу свой собственный класс, который переопределяет \maketitleпечать титульного листа в формате, требуемом моим университетом для диссертаций. Этот титульный лист включает некоторую информацию, например, ожидаемую степень, которую можно обрабатывать аналогично названию и автору (т. е. предоставлять макрос, \degreeкоторый устанавливает внутренний \@degreeмакрос).

Кажется, у меня есть несколько вариантов для моего переопределения \maketitle:

  1. Я могу быть ленивым и не заморачиваться с перезагрузкой.
  2. Я мог бы имитировать стандартное поведение и сбросить настройки \title, \@title...
  3. Я мог бы пойти дальше и сбросить свои новые (аналоговые) макросы \degree, \@degree, ...

До этого момента я выбирал третий вариант, но не имею ни малейшего понятия, почему. Есть ли веская причина, почему \maketitleмакросы типа \title?

решение1

В документации article.cls(см. classes.pdf) говорится:

Мы сбрасываем счетчик сносок, отключаем \thanks и \maketitle и экономим место на диске, очищая внутренние информационные макросы.

Это является результатом ограничений в более ранних системах tex, где размеры пулов и другие аспекты памяти и т. д. были ограничены. Большая часть оригинального дизайна TeX содержит элементы, выбранные для оптимального использования доступного пространства. В современных настройках это почти никогда не является проблемой. Одно интересное ограничение, которое все еще существует, касается количества математических алфавитов, которые можно загрузить.

Связанный контент