2

I have used different left/right brackets (\left(, \left[, \left\{ etc.) in a document numerous time and realised only now (due to changes) that the automatic size adjustment that comes with these brackets/braces does not fit well and that I mostly want the “normal” size for all instead.

Is there a way to turn off this automatic size adjustment, such that for each brace the same (normal) size is used? I know I should, given my change of mind, probably replace each \left( by a plain (, but I am hoping for a quick (though possibly dirty) solution.

  • You can try: \let\saveleft\left \let\saveright\right \def\left#1{#1} \def\right#1{#1}, of course a dirty solution :-). Of course you can use \saveleft and \saveright if you want original \left and \right. – Sunilkumar KS Nov 16 '15 at 11:29
  • 1
    No, sorry. You can't disable \left and \right in general: you won't be able to use \big, \Big and friends, which you probably do want to use. – egreg Nov 16 '15 at 13:34
  • @egreg thanks for pointing that out - indeed an unfortunate side-effect. It seems there is no solution that maintains the sizes of \big and the like? – Bernd Nov 16 '15 at 13:52
  • 1
    @Bernd No, unless you modify the definitions of \big and friends to use the original \left and \right. Search and replace, it's easier. – egreg Nov 16 '15 at 14:17
6

I don't recommend this really!

\left is actually a TeX command and has one argument being the delimiter. In this case, the delimiter should be typeset only,so the effect of \left is to be gobbled. (The same is for \right...)

As campa noted in his comment: \left... and \right... are important commands in amsmath and changing their definitions will not break for example matrix etc. resulting in an compilation error but it will break their visual appareance.

I've stored \left... and \right... for the pmatrix environment for example to show how to preserve the usual behaviour there!

\documentclass{article}

\usepackage{amsmath}
\usepackage{xpatch}

\let\origleft\left
\let\origright\right

% Save it for the pmatrix environment, for example
\xpatchcmd{\pmatrix}{\left(}{\origleft(}{}{}
\xpatchcmd{\endpmatrix}{\right)}{\origright)}{}{}




\begin{document}

Before

$\left(\left(a+b\right)^2\right)$

$\left[\left(a+b\right)^2\right]$

$\left\{\left(a+b\right)^2\right\}$

$\begin{pmatrix}
  a & b \\
  c & d \\
\end{pmatrix}$


Now redefining them:

\renewcommand{\left}[1]{%
#1
}
\renewcommand{\right}[1]{%
#1%
}

After:

$\left(\left(a+b\right)^2\right)$

$\left[\left(a+b\right)^2\right]$

$\left\{\left(a+b\right)^2\right\}$

$\begin{pmatrix}
  a & b \\
  c & d \\
\end{pmatrix}$



\end{document}

enter image description here

  • @campa: Yes, thanks, I was about to provide some examples to show why it's not good actually! – user31729 Nov 16 '15 at 11:36
  • 1
    @ChristianHupfer What about \big, etc.? \big: macro:#1->{\hbox {$\left #1\vbox to8.5\p@ {}\right .\n@space $}}. – Henri Menke Nov 16 '15 at 12:48
  • @HenriMenke: Right, but the question was about \left,.. etc. – user31729 Nov 16 '15 at 12:59
  • 2
    @ChristianHupfer But if you let \left to \relax then not only all automatic size adjustments by explicit \left are disabled, but also all manual size adjustments by implicit \left, cf. the definition of \big. – Henri Menke Nov 16 '15 at 13:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.