正交直和

正交直和

一些作者使用带圆圈的垂直符号来表示正交直接和。

实现这一点的适当方法是什么,以便您可以像和一样使用\oplus\bigoplus

答案1

总结一下评论,以下是当前可用的选项。

  • 提供mathabx\obot\bigobot这些符号看起来像
    obot 和 bigobot
    如果你不想包含所有符号mathabx(它们会覆盖许多 Computer Modern 符号),那么你可以使用以下设置(取自从不同字体导入单个符号):

    \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 还定义了 ⦹ U+29B9(垂直圆圈),但没有提供大对应符号。该符号可与unicode-math包和 LuaLaTeX 或 XeLaTeX 一起使用。截至 2012 年夏季,只有 XITS 和 Cambria 数学字体包含该符号。在 XITS Math 中,它看起来像
    操作者
    相应的 TeX 代码是

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

    Unicode 也有\obot,看起来与上面的例子类似,但没有提供\bigobot。您可以尝试使用 之类的东西来伪造大符号{\text{\Large$\operp$}}\limits_{i∈I} V_i,但缩放会使符号变得更重:
    假大佬

  • STIX 字体 LaTeX 包现已可用,但 TeX Live 中尚未提供(截至撰写本文时)。安装后,您可以使用(与普通 pdfLaTeX 一起使用)

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

    获得与上述类似的输出。

    如果你只想要\operpSTIX的符号,你可以自行设置:

    \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}
    

一般来说看看如何查找符号或识别数学符号或字符?了解如何找到特定符号。

答案2

我们可以创建一个符号垂直直和如果您不喜欢使用 \oplus 或 \perp,则可以使用 TikZ。缺点:在 10pt 和 12pt 之间切换需要更改 \oPerpSymbol 的比例。
优点:这可以避免 mathabx 覆盖您的符号,或者如果您无法使用 STIX 字体。

\documentclass[12pt]{article} %% scale=0.134 for 12pt; scale=0.112 for 10pt
\usepackage{tikz}

\tikzset{every picture/.style={line width=0.11mm}}
\newcommand{\oPerpSymbol}{\begin{tikzpicture}[scale=0.134]
  \draw (0,-0.5)--(0,1); \draw (-0.866,-0.5)--(0.866,-0.5);
  \draw (0,0) circle [radius=1];
\end{tikzpicture}}
\newcommand{\oPerp}{\mathbin{\raisebox{-1pt}{\oPerpSymbol}}}

\begin{document}
  $U\oPerp V=U\oplus V=U\perp V$ and $\oPerp,\oplus,\perp$.
\end{document}

相关内容