如何强制将符号组合在一起?

如何强制将符号组合在一起?

在我读的一本书中,他们使用以 * 为前缀的符号作为函数/操作/关系/集合的扩展,例如 *≤ extends ≤, *A extends A 等等。

现在,我想在公式中使用这些扩展运算符,例如:

a *≤ b
A ∈ *A

我的问题是:如何强制将*和其他操作员结合在一起?

当我写*为时$^*$,分组无法可靠地工作,即使我尝试使用括号强制它,它仍然很混乱。

那么,如何强制将符号可靠地组合在一起?

最后,举几个例子:

enter image description here

答案1

请尝试以下解决方案之一:

 \documentclass{article}
\usepackage{mathtools}

\newcommand\sleq{\mathrel{{}^*\!{\leq}}}
\newcommand\ssleq{\mathrel{\prescript{*}{}\!{\leq}}}
\newcommand\pst[1]{{}^{*\mkern-1.5mu}#1}
\newcommand\psst[1]{\prescript{*\mkern-1.5mu}{}#1}

\begin{document}

\[ a \sleq b, \quad A\in\pst{V}\]%
\[ a \ssleq b, \quad A\in\psst{V} \]%

\end{document} 

enter image description here

答案2

您可以设置一个宏\xtnd来“扩展”符号,方法是在符号前加上一个凸起的星号。“扩展”符号的默认“数学类型”设置为“mathrel”。如果这不合适,请提供可选参数,例如ordbin分别将新创建的符号的数学类型设置为“mathord”和“mathbin”。

enter image description here

\documentclass{article}
\usepackage{amsmath} % for "align*" env.
\newcommand\ext[2][rel]{\csname math#1\endcsname{{{}^*}\mkern-1.5mu{#2}}}

\begin{document}
\begin{align*}
&a \ext{\le} b\\            % "\le" is of type "mathrel"
&A \in \ext[ord]{V}\\       % letter "V" is of type mathord 
&A \in \ext[ord]{\mkern-5mu A} % "A" needs more neg. kerning than "V" does
\end{align*}
\end{document}

相关内容