如何旋转一个大的数学运算符?

如何旋转一个大的数学运算符?

我想将\bigcupdotSTIX2 Math 字体提供的运算符绕其中心旋转 180 度。我尝试了以下代码。

\documentclass{article}
\usepackage{unicode-math}
\setmathfont{STIXTwoMath-Regular.otf}
\usepackage{graphicx}
\begin{document}
$[\bigcupdot]\ [\mathop{\rotatebox[origin=c]{180}{\bigcupdot}}]$
\end{document}

结果是这样的:

旋转 bigcupdot 运算符的尝试失败

为什么旋转后的版本没有排版?我该如何修复?

答案1

在此处输入图片描述


\documentclass[a4paper,12pt]{article}
\usepackage{unicode-math}
\setmathfont{STIXTwoMath-Regular.otf}
\usepackage{graphicx}
\begin{document}
$[\bigcupdot]$  [\rotatebox[origin=c]{180}{$\bigcupdot$}]
\end{document}

答案2

问题是,\rotatebox在文本模式下排版它的参数,你会在 XeLaTeX 中得到“缺少 $”错误,但在 LuaLaTeX 中不会出现任何错误(除非当前文本字体恰好有该字符。

不管怎样,用$\bigcupdot$是不够的。

\documentclass[twocolumn]{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\usepackage{graphicx}

\setmathfont{STIXTwoMath-Regular.otf}

\makeatletter
\NewDocumentCommand{\bigcapdot}{}{%
  \mathop{\mathpalette\bigcapdot@\relax}\displaylimits
}
\newcommand{\bigcapdot@}[2]{%
  \vcenter{\hbox{\scalebox{1}[-1]{$\m@th#1\bigcupdot$}}}%
}
\makeatother

\begin{document}

$[\bigcupdot][\bigcapdot]$

\[
[\bigcupdot][\bigcapdot]
\]

\end{document}

这里twocolumn只是为了制作一张较小的图片。

在此处输入图片描述


为什么仅仅添加$\bigcupdot不够的?看看下面的比较。

\documentclass[twocolumn]{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\usepackage{graphicx}

\setmathfont{STIXTwoMath-Regular.otf}

\makeatletter
\NewDocumentCommand{\bigcapdot}{}{%
  \mathop{\mathpalette\bigcapdot@\relax}\displaylimits
}
\newcommand{\bigcapdot@}[2]{%
  \vcenter{\hbox{\scalebox{1}[-1]{$\m@th#1\bigcupdot$}}}%
}
\makeatother

% for comparison
\newcommand{\simplebigcapdot}{\mathop{\rotatebox[origin=c]{180}{$\bigcupdot$}}}

\begin{document}

\subsubsection*{Scaling}

$[\bigcupdot][\bigcapdot]$
$\scriptstyle[\bigcupdot][\bigcapdot]$
$\scriptscriptstyle[\bigcupdot][\bigcapdot]$

\[
[\bigcupdot][\bigcapdot]
\]

\subsubsection*{Not scaling}

$[\bigcupdot][\simplebigcapdot]$
$\scriptstyle[\bigcupdot][\simplebigcapdot]$
$\scriptscriptstyle[\bigcupdot][\simplebigcapdot]$

\[
[\bigcupdot][\simplebigcapdot]
\]

\end{document}

在此处输入图片描述


如果您需要其他翻转符号:

\documentclass[twocolumn]{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\usepackage{graphicx}

\setmathfont{STIXTwoMath-Regular.otf}

\makeatletter
\NewDocumentCommand{\bigcapdot}{}{%
  \genericbigopflip{\bigcupdot}%
}
\NewDocumentCommand{\bigcapplus}{}{%
  \genericbigopflip{\biguplus}%
}

\newcommand{\genericbigopflip}[1]{%
  \mathop{\mathpalette\bigcapdot@{#1}}\displaylimits
}
\newcommand{\bigcapdot@}[2]{%
  \vcenter{\hbox{\scalebox{1}[-1]{$\m@th#1#2$}}}%
}
\makeatother

\begin{document}

$[\bigcupdot][\bigcapdot][\biguplus][\bigcapplus]$
$\scriptstyle[\bigcupdot][\bigcapdot][\biguplus][\bigcapplus]$
$\scriptscriptstyle[\bigcupdot][\bigcapdot][\biguplus][\bigcapplus]$

\[
[\bigcupdot][\bigcapdot][\biguplus][\bigcapplus]
\]

\end{document}

在此处输入图片描述

相关内容