## A dynamic bracketing macro in LaTeX

I was cleaning up my LaTeX header and re-coded some macros to suit my needs better. I have always had a macro called \of which takes one parameter. It used to be the very simple macro
\newcommand{\of}[1]{\left(#1\right)}

However, I sometimes want to specify the size of the brackets explicitly, so I wanted to add an optional argument to this macro such that \of[big]{\sum} will expand to \bigl(\sum\bigr). Sometimes I even want it not to do any resizing of the brackets at all. The correct way to do this is is \csname and \endcsname which allows you to delay expansion of a macro. Inside a macro definition, the command
\newcommand{\ar}[1]{\csname#1arrow\endcsname}

will be such that \ar{right} is first made into \rightarrow and then expanded. We will use that to make \bigl and \bigr out of the argument big, for instance. Do you want to know more?