Символы для восходящего соединения / нисходящего пересечения
Aug 19 2020
Когда я пишу на бумаге или на доске, я обычно обозначаю восходящий союз \bigcup
стрелкой вверх на конце правого выступа. Точно так же я обозначаю нисходящее пересечение \bigcap
стрелкой вниз на конце правого выступа. Включены ли эти символы в какие-либо стандартные пакеты? Если нет, как я могу их определить?
MWE:
\documentclass{article}
\begin{document}
\[
(0,1)=\bigcup_n \left[\frac1n, 1-\frac1n\right]
\]
\[
\{0\}=\bigcap_n \left(-\frac1n,\frac1n\right)
\]
\end{document}
Ответы
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}

Если бы вы всегда использовали его \displaystyle
, можно было бы адаптироваться к нему:
\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
Если честно, символы больше похожи на развороты на дорожном знаке.
\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}
