Does the @ mean anything specific? For example, is it substituted? Does it split the command into parts, like \s@foo could internally mean "foo of type s"? Is the purpose of the @ only to make internal commands break when used outside a class definition or a package? If so, how is that a Good Thing?
|
|
||||
|
|
|
Others have mentioned the protection against user definition / redefinition. Another aspect is that command names like |
|||
|
|
|
Some TeX internal commands have Some of the original authors used |
|||||||||||
|
|
When Knuth originally published the language he used the @ to mark commands that a user should not
normally use. This was in order to avoid overriding kernel commands by redefining them. Remember that a macro defined using For me it served also another purpose as a marker to split long commands, for example it is more readable to read make@page@wider than |
||||
|
|
|
No, it does not mean anything specific; it is simply used to "namespace" code that shouldn't appear in a regular document. You can use almost any analphabetic symbol you like; ConTeXt also allows While there are few conventions on how to use
and
for functions (macros that take arguments) and variables, respectively. For variables, the prefixes are |
|||
|
|
