Question: Is it possible to automatically "add" `\left` and `\right` commands in front of all brackets? The source code should be left intact, but LaTeX should interpret every pair of brackets as if they were preceded by such commands. This is because adding `\left` and `\right` commands is time consuming and makes source code longer and less readable. I considered defining new commands such as `\lb` and `\rb` for `\left(` and `\right)`, but it doesn't seem very elegant to me: what if I also want to add square brackets for example?

Any ideas? Thanks.

Answer: 
Adding `\left` and `\right` to all delimiters is difficult and likely not to yield the desired result in many places. 

The [`nath`](http://www.ctan.org/pkg/nath) package aims at making `\left` and `\right` obsolete. From the readme:

> 
> delimiters adapt their size to the material enclosed, rendering `\left` and `\right` almost obsolete.
> 
> 
>
It seems to me that it's easy to do *exactly* what you say, but you might not really want that; see the caveat below.

```
\let\lparen=(\let\rparen=)
\catcode`(=\active\catcode`)=\active
\def({\left\lparen}\def){\right\rparen}

```

The catch: There are some obvious disadvantages to this, such as that parentheses now only work in math mode; any text-mode or un-stretchy parentheses have to be entered as `\lparen\rparen`. You may be willing to do this in your own code, but you'll have to be quite careful about any external packages you include. (If you were *really* dedicated, you could have something like a `\stretchparens` / `\plainparens` pair to turn this behaviour on and off.)

I wonder if those wiser than I could comment on subtler disadvantages?