我想定义一个新的除法符号,类似于“/”,但它是旋转 45 度的减号 (-),就像\times
旋转 + 一样。我希望它具有与其他算术符号 (+、- 和\times
) 相同的属性,我的意思是,相同的间距等。
我尝试做了以下事情。
% Inversa da multiplicação em anéis e grupos
\makeatletter
\providecommand{\newdiv}{%
\mathbin{
\hspace{-1.5pt}\mathpalette\@rotatinganeighth{-}\hspace{-1.5pt}
}
}
\newcommand*{\@rotatinganeighth}[2]{%
\rotatebox[origin=c]{45}{$\m@th#1#2$}%
}
\makeatother
结果看起来不错,但我希望它更“干净”,我不喜欢输入特定空间的事实\hspace{-1.5pt}
,我只是希望它表现为二元运算,如果可能的话,当它前面没有符号时,表现为一元运算(与减号的行为方式相同)。
答案1
我建议\mathpalette
按顺序使符号在下标和上标中正确缩放。
减号的高度与加号的高度相等,所以我们需要将其打碎,并将其放置在与加号一样宽的框中。垂直幻影将确保正确的高度和深度。
\documentclass{article}
\usepackage{graphicx}
\makeatletter
\newcommand{\newdiv}{\mathbin{\mathpalette\@newdiv\relax}}
\newcommand{\@newdiv}[2]{%
\begingroup
\sbox\z@{$\m@th#1+$}%
\makebox[\wd\z@]{\smash{\rotatebox[origin=c]{45}{$\m@th#1-$}}}%
\vphantom{\usebox{\z@}}%
\endgroup
}
\makeatother
\setlength{\fboxsep}{0pt}\setlength{\fboxrule}{0.1pt}% just for the example
\begin{document}
$a+b$ \fbox{$a+b$}
$a\newdiv b$ \fbox{$a\newdiv b$}
$\scriptstyle a+b\newdiv c$
\end{document}