## New commands

To add your own commands, use the\newcommand{name}[num]{definition}

\newcommand{\wbal}{The Wikibook about \LaTeX}

This is ‘‘\wbal'' \ldots{} ‘‘\wbal''

`=> This is “The Wikibook about LaTeX” … “The Wikibook about LaTeX”`

The next example illustrates how to define a new command that takes one argument. The

`#1`tag gets replaced by the argument you specify. If you wanted to use more than one argument, use`#2`and so on, these arguments are added in an extra set of brackets.
- This is the Wikibook about LaTeX supported by Wikimedia
- This is the Wikibook about LaTeX supported by lots of users!
- This is the Wikibook about LaTeX supported by John Doe
But there a lot of caveats :- - LaTeX ignores the blank following a command - So the space has to be specifically inserted with the
`\`space.
This would allow one to write, e.g.,*\newcommand{\water}{H$_2$O}*
or*The formula for water is \water.*
Note, in the second case, the trailing*\water\ is the formula for water.*`\`followed by a blank is required to ensure a blank space after the H_{2}O;
- Math mode doesn't work inside math environment -
`\newcommand{\hypotenuse}{$a^{2}+b^{2}$}` Note that this will produce the desired formula in text (paragraph) mode because of the`$...$`in the definition. In math mode, however, the first`$`in the definition will cause LaTeX to leave math mode, causing problems. In**LaTeX 2.09**a standard trick for getting around this is to put the math-mode expression in an`\mbox`, viz.,
In`\newcommand{\hypotenuse}{\mbox{$a^{2}+b^{2}$}}`**LaTeX2e**the`\ensuremath`command has been provided to alleviate this problem. The argument of the`\ensuremath`command is always processed in math mode, regardless of the current mode. Using this mechanism the above could be written as
`\newcommand{\hypotenuse}{\ensuremath{a^{2}+y^{2}}}`
http://www.uz.ac.zw/science/maths/latex/ltx-18.html |

## Comments