制作一个具有可抑制间距的后缀运算符?

制作一个具有可抑制间距的后缀运算符?

我想创建一个后缀一元运算符,该运算符通常\medmuskip在操作数和后缀运算符之间。使用以下方法很容易做到这一点,例如,

\newcommand*{\true}{\mskip\medmuskip\mathsf{true}}

这样就x$A \true x$x可以得到在此处输入图片描述

然而,额外的变化是我想使用一个组来抑制间距,就像二元运算符(例如\otimes)一样。换句话说,x$A{\true}x$x应该产生在此处输入图片描述。如果使x$\true$x(请注意没有{})产生,则可以获得加分在此处输入图片描述

下面是一个可供玩耍的骨架:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}

\newcommand*{\true}{\mskip\medmuskip\mathsf{true}}

\begin{document}
\begin{tabular}{ll}
\verb#x$A \true x$x#  & x$A \true x$x \\
\verb#x$A{\true}x$x# & x$A{\true}x$x \\
\verb#x$\true$x#    & x$\true$x
\end{tabular}
\end{document}

答案1

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}

\newcommand*{\true}{\relax\ifnum\lastnodetype>0 \mskip\medmuskip\fi\mathsf{true}}

\begin{document}
\begin{tabular}{ll}
\verb#x$A \true$x#  & x$A \true$x \\
\verb#x$A{\true}$x# & x$A{\true}$x \\
\verb#x$\true$x#    & x$\true$x
\end{tabular}
\end{document}

相关内容