我想创建一个后缀一元运算符,该运算符通常\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}