如何获得正确尺寸的 bigsqcap

如何获得正确尺寸的 bigsqcap

我想使用上下颠倒的 来\bigsqcup表示其对偶运算。该stmaryrd包提供了该符号 ,\bigsqcap但我发现这两个符号的渲染大小不同。

以下是示例代码及其输出。

\documentclass[12pt]{article}
\usepackage{mathptmx}
\usepackage{stmaryrd}
\begin{document}
$\bigsqcup \bigsqcap \bigcup \bigcap$
\end{document}

在此处输入图片描述

正如你所见,\bigsqcap它显然是个异类,比其他的都要大一些。

有人知道如何获得\bigsqcap与 相同的尺寸吗\bigsqcup?我需要使用mathptmx字体,因此我希望有一个可以保留它的解决方案。

答案1

一个简单的解决方案是旋转\bigsqcup以获取缺失的\bigsqcap

\documentclass[12pt]{article}
\usepackage{mathptmx}

\usepackage{graphicx}
\makeatletter
\providecommand{\bigsqcap}{%
  \mathop{%
    \mathpalette\@updown\bigsqcup
  }%
}
\newcommand*{\@updown}[2]{%
  \rotatebox[origin=c]{180}{$\m@th#1#2$}%
}
\makeatother

\begin{document}
\[\bigsqcup \bigsqcap \bigcup \bigcap\]
\[X\bigsqcup_0^\infty Y \bigsqcap_0^\infty Z\]
\[\bigsqcup\textstyle\bigsqcup
  \scriptstyle\bigsqcup\scriptscriptstyle\bigsqcup\]
\[\bigsqcup\textstyle\bigsqcap
  \scriptstyle\bigsqcap\scriptscriptstyle\bigsqcap\]
\end{document}

结果

评论:

  • 旋转切换到文本模式(\hbox)。\mathpalette是获取当前所需数学样式的方法,当我们在 的旋转框中重新输入数学时\bigsqcup。 的第一个参数\@updown是数学样式(\displaystyle\textstyle,...),第二个参数是未旋转的符号。 因此\@updown也可以用于其他符号的旋转。

  • \m@th抑制\mathsurround此值被设置的情况,以避免应该围绕数学公式的空间出现在公式内部。

答案2

使用包MnSymbol代替stmaryrd

\documentclass[12pt]{article}
\usepackage{mathptmx}
\usepackage{MnSymbol}
\begin{document}
$\bigsqcup \bigsqcap \bigcup \bigcap$
\end{document} 

生产

在此处输入图片描述

相关内容