19

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 $$? – Peter Grill Dec 18 '11 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. – jamaicanworm Dec 18 '11 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 Dec 18 '11 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 Dec 18 '11 at 19:47
17

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}
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

  • 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 M-H Jun 2 '18 at 0: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}
  • Probably \mathbin{\scalerel{\cap}}, if you want correct spacing. – egreg Jan 11 '16 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. – Spherical Triangle Jan 11 '16 at 18:03
  • Instead we can use \scaleobj. I added the corresponding material. – Spherical Triangle Jan 12 '16 at 5:01
  • I hadn't thought of scaling down from the larger version. This worked well. – Bryan M-H Jun 2 '18 at 0:59

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.