
バー「/」に似ていますが、マイナス記号 (-) を 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}