When displaying the intersection symbol in equations, e.g.,

$$Hom(A,B) \cap Hom(B,C)$$

I find that the "cap" is too small; its height is, in fact, subordinate to the surrounding content. On the other hand, \bigcap is entirely too big, dwarfing the surrounding content. This is especially unnecessary if the intersection is not indexed, for example. What is needed is a "medium" cap whose size is somewhere between the big cap and the regular cap. Does such a symbol/construct exist?

Note that similar comments apply to \bigcup and \cup.

  • 4
    You should use \[ ... \] for display math instead of SS ... SS as per Why is [ … ] preferable to $$? Commented Dec 18, 2011 at 19:08
  • 1
    I've found that the size of \bigcap changes depending on whether you are inside $'s or $$'s. It is smaller when you force it to be in-line with $'s. Commented Dec 18, 2011 at 19:22
  • 2
    Also, if you're writing text within math, use \text{<text>} from the amsmath package. If Hom is an operator (like \sin), use \DeclareMathOperator{\Hom}{Hom} and use \Hom(A,B), or on-the-fly \operatorname{Hom}(A,B), say. Both of the last commands are supplied by amsopn (which is included when you load amsmath).
    – Werner
    Commented Dec 18, 2011 at 19:28
  • 1
    @jamaicanworm: This depends on the math mode you're in, apparently. \bigcap (and others) fall under the scope of "Variable-sized Math Operators" (see Table 57 on p 25 of The Comprehensive LaTeX Symbol List).
    – Werner
    Commented Dec 18, 2011 at 19:47

3 Answers 3


You can use scalebox from the graphicx package to create one:

enter image description here


\[ Hom(A,B) \cap    Hom(B,C)\]
\[ Hom(A,B) \medcap Hom(B,C)\]
\[ Hom(A,B) \bigcap Hom(B,C)\]

I don't find it to be too small. You can use the same symbol as \bigcap, but not in the "bigger" version, so there's some work to do:


This is the result of


and of


You need \usepackage{amsmath} to use \operatorname and you might want to say


in the preamble, in order to be able to use \Hom as an abbreviation.

enter image description here

  • I tried this, but found that the bottom of (in my case, the) medcup was too low. However, when I redefined to shrink from the bigcup at 85%, it looked just like I wanted.
    – Bryan H-M
    Commented Jun 2, 2018 at 0:59

You can use scalerel from the scalerel package to create one:


\[ Hom(A,B) \cap Hom(B,C) \]
\[ Hom(A,B) \scalerel{\cap}{Hom(B,C)} \]
\[ Hom(A,B) \mathbin{\scaleobj{1.75}{\cap}} Hom(B,C) \]
\[ Hom(A,B) \mathbin{\scaleobj{0.9}{\bigcap}} Hom(B,C) \]
\[ Hom(A,B) \bigcap Hom(B,C) \]
  • Probably \mathbin{\scalerel{\cap}}, if you want correct spacing.
    – egreg
    Commented Jan 11, 2016 at 16:43
  • 1
    I am afraid not because \scalerel is a two arguments command. Said that, it is true that the spacing is not correct. Commented Jan 11, 2016 at 18:03
  • Instead we can use \scaleobj. I added the corresponding material. Commented Jan 12, 2016 at 5:01
  • I hadn't thought of scaling down from the larger version. This worked well.
    – Bryan H-M
    Commented Jun 2, 2018 at 0:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .