Texmaker 中的语法突出显示不匹配

Texmaker 中的语法突出显示不匹配

我已经为和定义了命令\(和。当我使用它们时,它会导致数学环境中的绿色溢出到后面的文本中。例如,在下面的例子中,也是绿色。有什么想法可以解决这个问题吗?我使用这些命令\)\left(\right)there. \end{document}很多。我刚刚重新安装了 Windows 和 Texmaker,但我不记得在我的旧版本上发生过这种情况(至少没有发生过)......

\documentclass[12pt]{article}
\renewcommand{\(}{\left(}
\renewcommand{\)}{\right)}
\begin{document}
Hello $a+\(b+c\)$ there.
\end{document}

答案1

好吧我可以告诉你问题是什么。

\(\)是原始的 LaTeX 命令。\(进入内联数学模式并\)退出。或者换句话说,\( ... \)是现代的 LaTeX 等效项$ ... $。您可能更熟悉\[ ... \]比旧版本更受欢迎(但在 LaTeX 中强烈不推荐使用)$$ ... $$

现在,您的编辑器知道这些命令用于内联数学模式,因此它正在应用数学模式语法突出显示。我猜,可能发生的情况是您的编辑器正在看到您的\)并在那里结束数学模式语法突出显示。然后它立即看到您的$并重新启动它,一直运行到最后,因为它找不到“结束” $

不过,我对此并不确定,事实上,主要的一点是这种事情很容易产生令人困惑和不可预测的语法突出显示,因为这根本不是你的编辑器所期望的。

这是在原始命令(如\(和)上定义时的一个明显问题\),非常不建议这样做。你不应该这样做。一般来说,\( ... \)除非你确定自己在做什么,否则在 LaTeX 命令上定义时应该非常小心,尤其是像这样的基本命令。你可能会得到一些非常不寻常的结果,这些结果可能不那么容易排除故障。例如,参见这个问题

任何状况之下,谨防过度使用\left\right。我知道你的问题是一个 MWE,旨在尽可能精简,但你当然不应该像在示例中那样使用\leftand \right。很可能你已经知道这一点,只是试图制作一个最小的最小工作示例,但我想强调一下。

快速演示:

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\verb|\( ... \)| can be used to enter inline math mode:
\(x^{2} + 2x + 1 = (x + 1)^{2}\). It is just like \verb|$ ... $|, as
you can see: $x^{2} + 2x + 1 = (x + 1)^{2}$.

\end{document}

在此处输入图片描述

相关内容