(This is not a duplicate of How can I use @author, @date, and @title after maketitle?)
I understand that \maketitle
resets a bunch of macros, including \@title
, \@author
, \@date
, and \maketitle
itself. I assume there's a good reason for this, and I'd like to know what it is.
For a bit of context, I'm writing my own class which redefines \maketitle
to print a title page in the format required by my university for theses and dissertations. This title page includes some information, like the expected degree, which one might handle similarly to the title and author (i.e. provide a \degree
macro which sets an internal\@degree
macro).
It seems that I have a few options for my redefinition of \maketitle
:
- I could be lazy and not bother resetting anything.
- I could mimic the standard behaviour and reset
\title
,\@title
, … - I could go beyond that and reset my new (analogous) macros
\degree
,\@degree
, …
Up to this point I've chosen the third option, but I haven't the faintest clue why. Is there a good reason why \maketitle
should reset document information macros like \title
?
Best Answer
The documentation of
article.cls
(seeclasses.pdf
) saysThis is a result of constraints in earlier tex systems where pools sizes and other aspects of memory etc. were limited. Much of the original design of TeX contains elements chosen to make optimal use of the space available. In modern set-ups this is almost never a problem. One interesting constraint that is still around is on the number of math alphabets that can be loaded.