在 MnotWE 中插入的 $ 缺失,其中所有 $ 均根据编辑器匹配?

在 MnotWE 中插入的 $ 缺失,其中所有 $ 均根据编辑器匹配?

MnotWE:

\documentclass[12pt,letterpaper]{article}

\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{amsmath}

\newcommand*{\fnn}[1]{\textrm{#1}}
\newcommand*{\gpr}[1]{\mathbin{\ast_{#1}}}
\newcommand*{\grp}[2]{\left(#1, \gpr{#1}\right)}

\begin{document}
    A group homomorphism is a map $\fnn{f}: \grp{G} \mapsto \grp{H}$ such that $x, y \in \grp{G}$...
\end{document}

错误:

缺少 $ 插入。...rp{G} \mapsto \grp{H}$ 使得 $x, y \in

为什么会发生这种情况?

答案1

\newcommand*{\grp}[1]{\left(#1, \gpr{#1}\right)}

如果你把[2]LaTeX 认为你有 2不同的 强制的參數。

编辑:以下解释由 Steven B. Segletes 提供,感谢他的贡献。

这实际上意味着,当 TeX 吸收 的标记时\grp,它会吸收一个你没有预料到的额外标记。如果你解决了错误,只需查看输出:

A group homomorphism is a map $\fnn{f}: \grp{G} \mapsto \grp{H}$ 
such that $x, y \in \grp{G}$...

在此处输入图片描述

到达后,\grp{G}它会吸收\mapsto,因此您在输出中看不到它。它到达这里没有错误。然后,当它到达时\grp{H},它会吸收$作为第二个参数,从而使您处于数学模式。这就是为什么 such that显示为数学。仍然没有错误。但这意味着当您到达时$x$会将您带出数学模式,因此x, y会以文本模式显示。

然后,您遇到了问题,您尝试排版\in,现在在文本模式下并生成错误:

! Missing $ inserted.
<inserted text> 
                $
l.12 ...rp{G} \mapsto \grp{H}$ such that $x, y \in
                                                   \grp{G}$...

通过强制编译继续,TeX 人为地$在此处插入 以匹配 所需的模式\in。当\grp{G}达到 时,$再次被吸收为第二个参数,并且您将留在数学模式中以关闭编译,从而产生第二个编译错误。

相关内容