LaTeX has support for making new commands of many different kinds.
| • \newcommand & \renewcommand: | (Re)define a new command. | |
| • \providecommand: | Define a new command, if name not used. | |
| • \makeatletter & \makeatother: | Change the status of the at-sign character. | |
| • \@ifstar: | Define your own commands with *-variants. | |
| • \newcounter: | Define a new counter. | |
| • \newlength: | Define a new length. | |
| • \newsavebox: | Define a new box. | |
| • \newenvironment & \renewenvironment: | Define a new environment. | |
| • \newtheorem: | Define a new theorem-like environment. | |
| • \newfont: | Define a new font name. | |
| • \protect: | Using tricky commands. | |
| • \ignorespaces & \ignorespacesafterend: | Discard extra spaces. |