![如何修复 rotatebox 和 scalebox 之后 $\complement$ 的厚度变化](https://linux22.com/image/455444/%E5%A6%82%E4%BD%95%E4%BF%AE%E5%A4%8D%20rotatebox%20%E5%92%8C%20scalebox%20%E4%B9%8B%E5%90%8E%20%24%5Ccomplement%24%20%E7%9A%84%E5%8E%9A%E5%BA%A6%E5%8F%98%E5%8C%96.png)
答案1
问题是 的内容\rotatebox
没有意识到它应该在 中\scriptstyle
。因此,您的未缩放版本正在制作一个\textstyle
符号。解决方案是将$\scriptstyle\complement$
其放在 内\rotatebox
。
\documentclass{article}
\usepackage{amssymb, graphicx}
\newcommand{\anticomplement}{\rotatebox[origin=c]{180}{$\scriptstyle\complement$}}
\begin{document}
$\mathcal S^\complement$, $\mathcal S^{\anticomplement}$
\end{document}
请注意,您还可以使用
\newcommand{\anticomplement}{\reflectbox{$\scriptstyle\complement$}}
答案2
一个简单的应用\mathpalette
。
\documentclass{article}
\usepackage{amsmath,amssymb,graphicx}
\makeatletter
\newcommand{\anticomplement}{{\mathpalette\anticomplement@\relax}}
\newcommand{\anticomplement@}[2]{%
\reflectbox{$\m@th#1\complement$}%
}
\makeatother
\begin{document}
\[
\mathcal{S}^{\complement}\mathcal{S}^{\anticomplement}
x^{y^{\anticomplement}}\anticomplement
\]
\end{document}
我加了一副支架以防^\anticomplement
滑落。
请注意\mathcal{S}
是正确的语法。对于特定情况\reflectbox
比 简单得多\rotatebox
。