TransWikia.com

Symbols for ascending union/descending intersection

TeX - LaTeX Asked by tomasz on February 26, 2021

When writing on paper or on blackboard, I usually denote an ascending union by bigcup with an upwards arrow at the end of the right prong. Likewise, I denote a descending intersection by bigcap with a downwards arrow at the end of the right prong. Are these symbols included in any standard packages? If not, how can I define them?

MWE:

documentclass{article} 
begin{document}
    [
        (0,1)=bigcup_n left[frac1n, 1-frac1nright]
    ]
    
    [
        {0}=bigcap_n left(-frac1n,frac1nright)
    ]
end{document}

2 Answers

documentclass{article}
usepackage{stackengine,amsmath}
stackMath
DeclareMathOperator*dcap{{stackinset{r}{-1.02ex}{c}{-1.9pt}{downarrow}
  {bigcap}mkern2mu}}
DeclareMathOperator*acup{{stackinset{r}{-1.02ex}{c}{1.9pt}{uparrow}
  {bigcup}mkern2mu}}
begin{document}
    [
        (0,1)=acup_n left[frac1n, 1-frac1nright]
    ]
    
    [
        {0}=dcap_n left(-frac1n,frac1nright)
    ]
end{document}

enter image description here

If you were always to be using it in displaystyle, one could adapt to it:

documentclass{article}
usepackage{stackengine,amsmath}
stackMath
DeclareMathOperator*dcap{{stackinset{r}{-1ex}{c}{-3.1pt}{downarrow}
  {displaystylebigcap}mkern2mu}}
DeclareMathOperator*acup{{stackinset{r}{-1ex}{c}{3.1pt}{uparrow}
  {displaystylebigcup}mkern2mu}}
begin{document}
    [
        (0,1)=acup_n left[frac1n, 1-frac1nright]
    ]
    
    [
        {0}=dcap_n left(-frac1n,frac1nright)
    ]
end{document}

enter image description here

Correct answer by Steven B. Segletes on February 26, 2021

The symbols look much more like U-turns on a road sign, to be honest.

documentclass{article}
usepackage{amsmath}

makeatletter
DeclareRobustCommand{ubigcup}{DOTSBmathop{,ubigcup@,}slimits@}
DeclareRobustCommand{dbigcap}{DOTSBmathop{,dbigcap@,}slimits@}

newcommand{ubigcup@}{mathpaletteubigcup@@relax}
newcommand{ubigcup@@}[2]{%
  begingroup
  sboxz@{$m@th#1bigcup$}%
  sboxtw@{$m@th#1uparrow$}%
  copyz@
  mkern-6.3muifx#1scriptscriptstylemkern0.3mufi
  dimen@=dimexprhtz@-httw@
  ifx#1displaystyleelse
    ifx#1scriptscriptstyleadvancedimen@ 0.5ptelse
      advancedimen@ 1pt
  fifi
  raisebox{dimen@}[0pt][0pt]{rlap{copytw@}}%
  mkern6.3muifx#1scriptscriptstylemkern-0.3mufi
  endgroup
}
newcommand{dbigcap@}{mathpalettedbigcap@@relax}
newcommand{dbigcap@@}[2]{%
  begingroup
  sboxz@{$m@th#1bigcap$}%
  sboxtw@{$m@th#1downarrow$}%
  copyz@
  mkern-6.3muifx#1scriptscriptstylemkern0.3mufi
  dimen@=dimexprdpz@-dptw@
  ifx#1displaystyleelse
    ifx#1scriptscriptstyleadvancedimen@ 0.5ptelse
      advancedimen@ 1pt
  fifi
  raisebox{-dimen@}[0pt][0pt]{rlap{copytw@}}%
  mkern6.3muifx#1scriptscriptstylemkern-0.3mufi
  endgroup
}

makeatother

begin{document}

$displaystyleubigcup_{n=1}^{infty} A_n$
$displaystylebigcup_{n=1}^{infty} A_n$

$displaystylebigcup_{n=1}^{infty} A_n$

bigskip

$textstyleubigcup_{n=1}^{infty} A_n$
$scriptstyleubigcup_{n=1}^{infty} A_n$
$scriptscriptstyleubigcup_{n=1}^{infty} A_n$

bigskip

$displaystyledbigcap_{n=1}^{infty} B_n$
$displaystylebigcap_{n=1}^{infty} B_n$

$displaystylebigcap_{n=1}^{infty} B_n$

bigskip

$textstyledbigcap_{n=1}^{infty} B_n$
$scriptstyledbigcap_{n=1}^{infty} B_n$
$scriptscriptstyledbigcap_{n=1}^{infty} B_n$

end{document}

enter image description here

Answered by egreg on February 26, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP