% Needed for \lvert, \rVert, etc. and \operatorname.
\usepackage{amsmath}
+% Wasysym contains the \ocircle that we use in \directsumperp.
+\usepackage{wasysym}
+
+% Part of the adjustbox package; needed to clip the \perp sign.
+\usepackage{trimclip}
+
\input{mjo-common}
% Absolute value (modulus) of a scalar.
%
% Orthogonal direct sum.
%
-% Wasysym contains the \ocircle that we use in \directsumperp.
-\usepackage{wasysym}
-\usepackage{scalerel}
+% First declare my ``perp in a circle'' operator, which is meant to be
+% like an \obot or an \operp except has the correct weight circle. It's
+% achieved by overlaying an \ocircle with a \perp, but only after we
+% clip off the top half of the \perp sign and shift it up.
\DeclareMathOperator{\oplusperp}{\mathbin{
\ooalign{
$\ocircle$\cr
- \raisebox{\noexpand{0.65\height}}{${\vstretch{0.5}{\perp}}$}\cr
+ \raisebox{0.625\height}{$\clipbox{0pt 0pt 0pt 0.5\height}{$\perp$}$}\cr
}
}}
+% Now declare an orthogonal direct sum in terms of \oplusperp.
\newcommand*{\directsumperp}[2]{ {#1}\oplusperp{#2} }