关系覆盖符号

关系覆盖符号

寻找一种方法来编写以下中缀二元运算符,意思是“关系覆盖”:

在此处输入图片描述

答案1

你很幸运:减号和\vartriangleleft有相同的宽度。

\documentclass{article}
\usepackage{amssymb}

\makeatletter
\DeclareRobustCommand{\reloverrideleft}{\mathrel{\mathpalette\rel@override\vartriangleleft}}
\DeclareRobustCommand{\reloverrideright}{\mathrel{\mathpalette\rel@override\vartriangleright}}

\newcommand{\rel@override}[2]{%
  \vphantom{#2}%
  \ooalign{$\m@th#1-$\cr$\m@th#1#2$}%
}
\makeatother

\begin{document}

$A \reloverrideleft B_{\reloverrideleft}$

$A \reloverrideright B_{\reloverrideright}$

\end{document}

在此处输入图片描述

我担心,使用其他数学字体可能无法完美地运行。

因为acmart我们需要剪掉减号:

\documentclass{acmart}
\usepackage{trimclip}

\makeatletter
\DeclareRobustCommand{\reloverrideleft}{\mathrel{\mathpalette\rel@override\vartriangleleft}}
\DeclareRobustCommand{\reloverrideright}{\mathrel{\mathpalette\rel@override\vartriangleright}}

\newcommand{\rel@override}[2]{%
  \vphantom{#2}%
  \ooalign{%
    \hidewidth\clipbox*{{0.17\width} 0 {0.83\width} {\height}}{$\m@th#1-$}\hidewidth\cr
    $\m@th#1#2$\cr
  }%
}
\makeatother

\begin{document}

$A \reloverrideleft B_{\reloverrideleft}$

$A \reloverrideright B_{\reloverrideright}$

\end{document}

在此处输入图片描述

答案2

包装stix里有:

\documentclass{article}
\pagestyle{empty}
\usepackage{stix}
\begin{document}
$a\dsub b$
\end{document}

在此处输入图片描述

实际上texdoc comprehensive是一个这类信息的非常好的来源。

相关内容