答案1
您可以定义一个斜线,\mathopen
这样它在 之前就没有空格了\mathop
。我会使用特定的命令,但如果你想的话,你也可以使用\mathcode"8000
来定义/
这种方式
\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator\rad{rad}
\mathchardef\origslash\mathcode`\/
\newcommand\mslash{\origslash\mathopen{}}
\begin{document}
$ 1 \mslash 2 $
$ 1 \mslash \rad x $
$ 1 \mslash \log y $
$ 1 \mslash (a+b) $
{\catcode`\/=\active\global\let/\mslash}
\mathcode`\/="8000
$ 2 / 2 $
$ 2 / \rad x $
$ 2 / \log y $
$ 2 / (a+b) $
\end{document}
答案2
如果您不想在编辑器中执行“全部替换”,您可以尝试以下宏,重新定义/
数学模式下字符的行为:
\def\specslash{\mathchar`/\futurelet\next\specslashA}
\def\specslashA{\ifx\next\rad \mskip-\thinmuskip \fi}
{\catcode`/=13 \global\let/=\specslash}
\mathcode`\/="8000