[Tex/LaTex] Orthogonal direct sum

symbols

Several authors use a circled perpendicular sign to indicate orthogonal direct sums.

What is the appropriate way to implement this, so you can use it like \oplus and \bigoplus ?

Best Answer

To summarize the comments, here are the options currently available.

  • The mathabx provides \obot and \bigobot. These symbols look like
    obot and bigobot
    If you don't want to include all the mathabx symbols (they overwrite many Computer Modern symbols), then you can use the following setup (taken from Importing a Single Symbol From a Different Font):

    \documentclass{article}
    % Setup the matha and mathx font (from mathabx.sty)
    \DeclareFontFamily{U}{matha}{\hyphenchar\font45}
    \DeclareFontShape{U}{matha}{m}{n}{
          <5> <6> <7> <8> <9> <10> gen * matha
          <10.95> matha10 <12> <14.4> <17.28> <20.74> <24.88> matha12
          }{}
    \DeclareSymbolFont{matha}{U}{matha}{m}{n}
    \DeclareFontFamily{U}{mathx}{\hyphenchar\font45}
    \DeclareFontShape{U}{mathx}{m}{n}{
          <5> <6> <7> <8> <9> <10>
          <10.95> <12> <14.4> <17.28> <20.74> <24.88>
          mathx10
          }{}
    \DeclareSymbolFont{mathx}{U}{mathx}{m}{n}
    
    \DeclareMathSymbol{\obot}         {2}{matha}{"6B}
    \DeclareMathSymbol{\bigobot}       {1}{mathx}{"CB}
    
    \begin{document}
    \[ V \obot W \qquad \bigobot V_i \]
    \end{document}
    
  • Unicode additionally defines ⦹ U+29B9 (circled perpendicular), but doesn't provide a big counterpart. The symbol can be used with the unicode-math package and LuaLaTeX or XeLaTeX. As of summer 2012 only the XITS and Cambria math fonts include the symbol. In XITS Math it looks like
    operp
    The corresponding TeX code is

    % compile with lualatex
    \documentclass{article}
    \usepackage{unicode-math}
    \setmathfont{XITS Math}
    
    \begin{document}
    \[ V \operp W  \]
    \end{document}
    

    The Unicode also has \obot, looking similar to the example above, but doesn't provide \bigobot. You could try to fake the large symbols with something like {\text{\Large$\operp$}}\limits_{i∈I} V_i, but the scaling will make the symbol heavier:
    faked bigoperp

  • The STIX fonts LaTeX package is available, but not yet in TeX Live (as of this writing). After installing it you can use (with normal pdfLaTeX)

    \documentclass{article}
    \usepackage{stix}
    \begin{document}
    $V \operp W$
    \end{document}
    

    to get an output similar to the above.

    If you only want the \operp symbol from STIX, you can set it up yourself:

    \documentclass{article}
    
    % copied relevant lines from stix.sty
    \DeclareFontEncoding{LS1}{}{}
    \DeclareFontSubstitution{LS1}{stix}{m}{n}
    \DeclareSymbolFont{symbols2}{LS1}{stixfrak} {m} {n}
    \DeclareMathSymbol{\operp}{\mathbin}{symbols2}{"A8}
    
    \begin{document}
    $V \operp W$
    \end{document}
    

In general have a look at How to look up a symbol or identify a math symbol or character? to see how you can find a specific symbol.