Símbolos para unión ascendente/intersección descendente

Aug 19 2020

Cuando escribo en papel o pizarra, generalmente denoto una unión ascendente \bigcupcon una flecha hacia arriba al final de la punta derecha. Del mismo modo, denoto una intersección descendente \bigcapcon una flecha hacia abajo al final de la punta derecha. ¿Están incluidos estos símbolos en algún paquete estándar? Si no, ¿cómo puedo definirlos?

MWE:

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

Respuestas

6 StevenB.Segletes Aug 19 2020 at 19:12
\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-\frac1n\right]
    \]
    
    \[
        \{0\}=\dcap_n \left(-\frac1n,\frac1n\right)
    \]
\end{document}

Si siempre lo usara en \displaystyle, uno podría adaptarse a él:

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

3 egreg Aug 19 2020 at 22:58

Los símbolos se parecen mucho más a los giros en U en una señal de tráfico, para ser honesto.

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\DeclareRobustCommand{\ubigcup}{\DOTSB\mathop{\,\ubigcup@\,}\slimits@}
\DeclareRobustCommand{\dbigcap}{\DOTSB\mathop{\,\dbigcap@\,}\slimits@}

\newcommand{\ubigcup@}{\mathpalette\ubigcup@@\relax}
\newcommand{\ubigcup@@}[2]{%
  \begingroup
  \sbox\z@{$\m@th#1\bigcup$}%
  \sbox\tw@{$\m@th#1\uparrow$}%
  \copy\z@
  \mkern-6.3mu\ifx#1\scriptscriptstyle\mkern0.3mu\fi
  \dimen@=\dimexpr\ht\z@-\ht\tw@
  \ifx#1\displaystyle\else
    \ifx#1\scriptscriptstyle\advance\dimen@ 0.5pt\else
      \advance\dimen@ 1pt
  \fi\fi
  \raisebox{\dimen@}[0pt][0pt]{\rlap{\copy\tw@}}%
  \mkern6.3mu\ifx#1\scriptscriptstyle\mkern-0.3mu\fi
  \endgroup
}
\newcommand{\dbigcap@}{\mathpalette\dbigcap@@\relax}
\newcommand{\dbigcap@@}[2]{%
  \begingroup
  \sbox\z@{$\m@th#1\bigcap$}%
  \sbox\tw@{$\m@th#1\downarrow$}%
  \copy\z@
  \mkern-6.3mu\ifx#1\scriptscriptstyle\mkern0.3mu\fi
  \dimen@=\dimexpr\dp\z@-\dp\tw@
  \ifx#1\displaystyle\else
    \ifx#1\scriptscriptstyle\advance\dimen@ 0.5pt\else
      \advance\dimen@ 1pt
  \fi\fi
  \raisebox{-\dimen@}[0pt][0pt]{\rlap{\copy\tw@}}%
  \mkern6.3mu\ifx#1\scriptscriptstyle\mkern-0.3mu\fi
  \endgroup
}

\makeatother

\begin{document}

$\displaystyle\ubigcup_{n=1}^{\infty} A_n$
$\displaystyle\bigcup_{n=1}^{\infty} A_n$

$\displaystyle\bigcup_{n=1}^{\infty} A_n$

\bigskip

$\textstyle\ubigcup_{n=1}^{\infty} A_n$
$\scriptstyle\ubigcup_{n=1}^{\infty} A_n$
$\scriptscriptstyle\ubigcup_{n=1}^{\infty} A_n$

\bigskip

$\displaystyle\dbigcap_{n=1}^{\infty} B_n$
$\displaystyle\bigcap_{n=1}^{\infty} B_n$

$\displaystyle\bigcap_{n=1}^{\infty} B_n$

\bigskip

$\textstyle\dbigcap_{n=1}^{\infty} B_n$
$\scriptstyle\dbigcap_{n=1}^{\infty} B_n$
$\scriptscriptstyle\dbigcap_{n=1}^{\infty} B_n$

\end{document}