30

TeX's primitives can be renamed by macro formats/packages: this allows new/altered features or behaviours. Usually this is done such that the originals are still available ('renamed'): certainly ConTeXt does this (for example \normalend). Which primitives does the LaTeX2e kernel move/rename?

Joseph Wright
  • 259,911
  • 34
  • 706
  • 1,036

1 Answers1

26

The LaTeX kernel (latex.ltx) saves a few primitives with new names: these are all from TeX90 as the kernel itself does not absolutely require primitives from e-TeX or later. Two of these are token registers, saved as \frozen@...:

  • \everydisplay saved as \frozen@everydisplay
  • \everymath saved as \frozen@everymath

The other 'renamed' primitives are all saved as \@@...:

  • \- saved as \@@hyph
  • \/ saved as \@@italiccorr
  • \end saved as \@@end
  • \input saved as \@@input
  • \par saved as \@@par (note that \par is still the primitive in the preamble)
  • \underline saved as \@@underline
  • \shipout saved as \@@shipout (but used by the kernel as simply \shipout: the saved primitive is to allow for packages that need to get to the raw behaviour irrespective of other loaded material)
Joseph Wright
  • 259,911
  • 34
  • 706
  • 1,036