Is there a possibility to draw large integral signs?

I have found the package bigints but I have the feeling it is not very professional...

Any better idea?

  • 5
    Could you provide the equation that you would like to typeset? – Christian Lindig Dec 23 '11 at 11:33
  • 7
    Just to make sure you don't confuse inline and display math mode. If you typeset integrals inline they end up smaller than if you typeset them as display math mode, e.g. compare \(\int^b_a\) and \[\int^b_a\]. – N.N. Dec 23 '11 at 11:40
  • 6
    Also, there is to note that \displaystyle can achieve this -> \[ \int \], if you do not want the math to be centered alone on page. Hence using, \( \displaystyle\int \). – night owl Dec 23 '11 at 11:46

I'm aware of three packages that will let you create larger integral signs: bigints, mtpro2, and relsize.

  • The package bigints provides the following commands to scale up the symbol produced by \int: \bigintssss, \bigintsss, \bigintss, \bigints, and \bigint. Using the default math font family (Computer Modern) and the default text font size of 10pt, these commands (including the "ordinary" \int) produce the following symbols, with a dummy integrand thrown in for scale:

enter image description here

  • The mtpro2 package, which uses Times New Roman-style fonts, provides the commands \xl, \XL, and \XXL (as well as the gynormous, 10cm-tall \XXXL, not shown below) as prefixes to \int. This is how these integrals look like when typeset with the mtpro2 package:

enter image description here

By the way, the full mtpro2 package is not free. However, its "lite" subset (which is all that's needed to use the prefix commands \xl, etc.) is free. The package may be downloaded from this site.

  • The command \mathlarger of the relsize package can also produce larger integral symbols. (For multi-step enlargements, the exscale package must be loaded as well.) For a one-step increase in size, you'd type \mathop{\mathlarger{\int}}; for a two-step increase, you'd type \mathop{\mathlarger{\mathlarger{\int}}}, etc.

enter image description here

To my taste, all three sets of results look quite professional. :-)

Three further comments, and a caveat:

  • None of these packages seems to do a great job placing the lower and upper limits of integration. A reasonable positioning of the lower limit of integration, in particular, will require inserting either several "negative thinspace" (\!) directives -- the larger the integral symbol, the more \! instructions will likely be required -- or something like \mkern-18mu. (Use \mkern rather than \kern when in math mode.)

  • The bigints package can produce five large variants for \oint as well, but (again AFAICT) not for double, triple, surface, slashed, etc. integrals. The mtpro2 package, while providing "only" three large variants of \int (I'm disregarding the \XXXL-prefix variant!), can produce large variants of \iint, \iiint, \oiint, \oiiint, \barint, \slashint, and clockwise- and counterclockwise-oriented line integrals. Similarly, the \mathlarger command of the relsize package can be applied to any operator symbol -- including \iint, \iiint, etc.

  • The mtpro2 package can be used in conjunction with both the bigints and the relsize packages. If the mtpro2 package is loaded, the instructions \bigintssss, \bigintsss, ... \mathop{\mathlarger{\int}}, ... will produce integral symbols that are a bit "thicker", in keeping with the style of the \int symbols produced directly by the mtpro2 package.

  • May 2014 update: I have recently discovered that the bigints package doesn't seem to be compatible with the lmodern package, in the sense that the macros of the bigints pacakge do not generate "large" integral symbols if the lmodern package is loaded as well. For a work-around, please see this answer by @egreg. The work-around consists of inserting the instructions

    \DeclareFontShape{OMX}{lmex}{m}{n}{<-> lmex10}{}

    in the preamble, after loading the lmodern package.

Finally, here's the code that produced the three screenshots shown above.

With the bigints package:


With the mtpro2 package:


With the relsize and exscale packages:

  • 2
    It might be worth adding, that if the \limits command is used, it has to put in the correct place. So using \mathop{\mathlarger{\int\limits_t}} looks much better than \mathop{\mathlarger{\int}}\limits_t when using the relsize package, for example. – Patrick Häcker May 30 '13 at 12:55
  • @MMM -- but doesn't the size of the limits also get enlarged with \mathlarger when they're within that scope? if so, is there a way around it? and (i haven't tried this) what about the placement of "sub/sup"-positioned limits on an enlarged integral? – barbara beeton May 30 '13 at 14:36
  • @barbarabeeton - It turns out that none of these packages does a great job placing terms in the lower and upper limits of integration. And, as you point out, one wouldn't want to include the lower and upper limits inside the \mathlarger expression as doing so would increase the size of the limit terms as well -- probably not what the writer has in mind. I've updated my answer to include this – Mico May 30 '13 at 15:24
  • 1
    @AdrianKeister - I'm afraid I don't know why that is. Did you read the final bullet point in my answer, with the link to another answer that provides a work-around? – Mico Mar 9 '18 at 17:31
  • 1
    Oh: just found out that a displayed environment does a much better job of placing both the integral sign and the limits than a non-displayed math environment. Cheers! – Adrian Keister Mar 10 '18 at 16:52

The scalerel package gives you the added capability to constrain the scale. In general, it can either vertically stretch, while keeping a lower limit on aspect ratio, or it can vertically scale, keeping an upper limit on overall width. I demonstrate both cases below, following a normal invocation of \int. Furthermore, the scalability is continuous, rather than just having 4 or 5 discrete sizes.

In reference to barbara beeton's comment on the accepted answer, the limits with this approach will not scale with the integral size. However, some added gyrations are, nonetheless required to include limits. First, because \stretchint and \scaleint take a size argument, they have to be enclosed in braces for the subscript and superscript to understand to what it is actually referring. In addition, negative space has to be added to the subscript to account for the slant of the integral operator. EDITED to set in \displaystyle since that would be the general mode of using large integral signs, as pointed out by barbara beeton. EDITED further, based on Mico's comment. And thanks to egreg for instruction of use of \vcenter.

EDITED to reflect recent scalerel bug fix regarding \stretch... macros, in which limiting aspect ratio of optional argument had been miscalculated by a factor of 2. Thus, in this revision, the limiting aspect ratio for \stretchto is shown properly as 4.4 (i.e., [440]) rather than 2.2.

\verb|\stretchto| with aspect ratio limit of 4.4
\def\bs{\mkern-12mu} % set amount of backspacing for lower limit of integration
\int_a^b\x ~~ \stretchint{7ex}_{\bs a}^b\x ~~ \stretchint{9ex}_{\bs a}^b\x
\verb|\scaleto| with width limit of 3ex
\def\bs{\mkern-15mu} % reset amount of backspacing for lower limit of integration
\int_a^b\x ~~ \scaleint{7ex}_{\bs a}^b\x ~~ \scaleint{9ex}_{\bs a}^b\x 

enter image description here

  • all the limits look to be very close to the same size as the terms in the fraction -- appropriate for setting in text, but not (usually) in display. the example would be better if you used \[...\] rather than \(...\). – barbara beeton May 30 '13 at 16:23
  • An interesting suggestion to use either \stretchto or \scaleto. The integral symbol used by your macros appears to be the small one from inline-math, which is noticeably more upright than the displaystyle-math integral symbol. Since one would expect (or at least hope!!) that large integral symbols will be used only in display math settings, could you revise your code to use the larger symbols? A separate suggestion: Instead of using \raisebox to adjust the position of the integral symbol, could you use \vcenter and let TeX do the job of centering the symbol vertically? – Mico May 31 '13 at 13:07
  • @Mico I did change the answer to reflect the displaystyle integral sign, but I didn't master the use of \vcenter, as shown in the update. – Steven B. Segletes Jun 1 '13 at 13:01
  • @StevenB.Segletes \vcenter builds a \vbox, using the current \hsize if a paragraph is started. Put \scaleint{9ex} inside an \hbox so no paragraph is started. – egreg Jun 1 '13 at 13:02
  • 1
    I've taken the liberty of editing your code some more. Feel free to revert or to change further. :-) – Mico Jan 23 '17 at 15:24

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.