Por que \@title, \@author e \@date são apagados durante \maketitle?

Por que \@title, \@author e \@date são apagados durante \maketitle?

(Isso énãouma duplicata deComo posso usar @author, @date e @title após maketitle?)

Eu entendo que isso \maketitleredefine várias macros, incluindo \@title, \@author, \@datee \maketitleele mesmo. Presumo que haja uma boa razão para isso e gostaria de saber qual é.

Para contextualizar, estou escrevendo minha própria aula que redefine \maketitlea impressão de uma página de título no formato exigido pela minha universidade para teses e dissertações. Esta página de título inclui algumas informações, como o grau esperado, que podem ser tratadas de forma semelhante ao título e ao autor (ou seja, fornecer uma \degreemacro que define uma macro interna \@degree).

Parece que tenho algumas opções para minha redefinição de \maketitle:

  1. Eu poderia ser preguiçoso e não me preocupar em redefinir nada.
  2. Eu poderia imitar o comportamento padrão e redefinir \title, \@title, ...
  3. Eu poderia ir além disso e redefinir minhas novas macros (análogas) \degree, \@degree, ...

Até agora escolhi a terceira opção, mas não tenho a menor ideia do porquê. Existe uma boa razão para \maketitleredefinir macros de informações de documentos como \title?

Responder1

A documentação de article.cls(ver classes.pdf) diz

Redefinimos o contador de notas de rodapé, desabilitamos \thanks e \maketitle e economizamos algum espaço de armazenamento esvaziando as macros de informações internas.

Isto é resultado de restrições em sistemas tex anteriores, onde os tamanhos dos pools e outros aspectos de memória, etc., eram limitados. Grande parte do design original do TeX contém elementos escolhidos para otimizar o uso do espaço disponível. Nas configurações modernas, isso quase nunca é um problema. Uma restrição interessante que ainda existe é o número de alfabetos matemáticos que podem ser carregados.

informação relacionada