# \big delimiters not working with scrartcl?

I noticed that sometimes the \big delimiters stop working. One example is when scrartcl is the document class.

\documentclass{scrartcl}

\begin{document}
$$(\frac{1}{2}) \bigl(\frac{1}{2}\bigr)$$
\end{document}


I obtain the following result (i.e., the \bigl/\bigr macros have no effect):

(The bigger delimiter macros such as \Big and \bigg seem to work though.)

Another example is when loading both breqn and mathtools:

\documentclass{article}

\usepackage{mathtools}
\usepackage{breqn}

\begin{document}
$$(\frac{1}{2}) \bigl(\frac{1}{2}\bigr)$$
\end{document}


Is this a bug? What would be a possible workaround?

• This is due to scrartcl using 11pt by default. Either load \usepackage{exscale} or, better \usepackage{amsmath} Jul 21, 2013 at 11:06
• I don't think so. I just found another example: using the article document class, and loading both mathtools and breqn also disables \big. This is unrelated to scrartcl as I was suspecting. What do you think is the explanation? Jul 21, 2013 at 11:10
• I suspect that breqn is the culprit in the second example. If I remove the call, I get bigger parentheses. The two problems are unrelated. Jul 21, 2013 at 11:16
• Well, breqn does not cause the problem by itself, it's the combination with mathtools. Perhaps both problems are unrelated. But how to explain that \big is broken in both cases, and none of the other delimiter macros are? Could it be a name clash of some sort? Jul 21, 2013 at 11:20
• @egreg I apologize, I hadn't read your first comment completely... Could you explain more? The problem persists with \documentclass[12pt]{scrartcl}, but is indeed fixed upon loading \usepackage{amsmath}. I don't understand any of this... :-( Jul 21, 2013 at 11:24

The way \big is defined in the LaTeX kernel does not make it scale when the main font size is increased: here's the code from fontmath.ltx

524 \def\big#1{{\hbox{$\left#1\vbox to8.5\p@{}\right.\n@space$}}}
525 \def\Big#1{{\hbox{$\left#1\vbox to11.5\p@{}\right.\n@space$}}}
526 \def\bigg#1{{\hbox{$\left#1\vbox to14.5\p@{}\right.\n@space$}}}
527 \def\Bigg#1{{\hbox{$\left#1\vbox to17.5\p@{}\right.\n@space$}}}


Then \bigl( is just \mathopen{\big{(}}. You can see that the size of the delimiters does not depend from the main font size, but it's hardwired. Thus, when 11pt or 12pt size is used, \big ends up not being distinguishable from the normal size of the delimiter.

The amsmath package obviates to this by defining

552 \renewcommand{\big}{\bBigg@\@ne}
553 \renewcommand{\Big}{\bBigg@{1.5}}
554 \renewcommand{\bigg}{\bBigg@\tw@}
555 \renewcommand{\Bigg}{\bBigg@{2.5}}
556 \def\bBigg@#1#2{%
557   {\@mathmeasure\z@{\nulldelimiterspace\z@}%
558      {\left#2\vcenter to#1\big@size{}\right.}%
559    \box\z@}}
561   \global\big@size 1.2\ht\Mathstrutbox@
563 \newdimen\big@size


and defining suitably \Mathstrutbox@. Essentially the same is done by the exscale package. Nothing is done to this by mathtools, so the relevant package is amsmath.

I believe there is a bug in the breqn package, because \big@size is not set to the same value as with amsmath: with this example input

\documentclass{article}

\usepackage{amsmath}
%\usepackage{breqn}

\begin{document}
$$\makeatletter\showthe\big@size\makeatother$$
\end{document}


I get

> 11.99995pt.
l.8 \makeatletter\showthe\big@size
\makeatother


while uncommenting the call to breqn gives

> 7.20004pt.
l.8 \makeatletter\showthe\big@size
\makeatother


and this difference explains why \bigl( is not larger than the simple (.