24

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.

yo'
  • 51,322
3Sphere
  • 3,651

3 Answers3

23

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

enter image description here

\documentclass{article}
\usepackage{graphicx}

\newcommand*{\medcap}{\mathbin{\scalebox{1.5}{\ensuremath{\cap}}}}%
\begin{document}
\[ Hom(A,B) \cap    Hom(B,C)\]
\[ Hom(A,B) \medcap Hom(B,C)\]
\[ Hom(A,B) \bigcap Hom(B,C)\]
\end{document}
Peter Grill
  • 223,288
11

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:

\newcommand*\mcap{\mathbin{\mathpalette\mcapinn\relax}}
\newcommand*\mcapinn[2]{\vcenter{\hbox{$\mathsurround=0pt
  \ifx\displaystyle#1\textstyle\else#1\fi\bigcap$}}}

This is the result of

\[\operatorname{Hom}(A,B)\cap\operatorname{Hom}(B,C)\]

and of

\[\operatorname{Hom}(A,B)\mcap\operatorname{Hom}(B,C)\]

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

\DeclareMathOperator{\Hom}{Hom}

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

enter image description here

egreg
  • 1,121,712
  • 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 Jun 02 '18 at 00:59
5

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

\documentclass{article}
\usepackage{scalerel}

\begin{document}
\[ 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) \]
\end{document}