在将此问题发送给开发人员之前,我想知道其他人是否可以确认此问题。请考虑以下两种环境:
\begin{flalign*}
sdfsdf
\end{flalign*}
\begin{flalign*}
&& A \rightarrow \End_{B}(M) && {; B=\End_{A}(M)}
\end{flalign*}
如果我将光标设置在第一个并执行LaTeX-mark-environment
(C-c .
),那么我就会得到预期的结果,即标记flalign*
环境,包括\begin/end
行。
但是,如果我在另一个中执行相同操作,它永远不会覆盖环境。标记的内容取决于光标的位置。它显然存在问题\End
,大概是因为它忽略了大小写。
其他人可以确认吗?
(在编写宏时LaTeX-mark-environment
,这narrow-to-region
是一个非常好的功能)。
答案1
问题是LaTeX-find-matching-end
执行不区分大小写的搜索。要使搜索\end
区分大小写,您必须绑定case-fold-search
变量nil
。为此,您可以建议函数。这将解决您的问题,但如果环境内部有 (考虑环境) LaTeX-find-matching-end
,它将不起作用。\end
verbatim
(defadvice LaTeX-find-matching-end
(around LaTeX-find-matching-end-case-sensitive activate)
"Perform case-sensitive search."
(let ((case-fold-search nil))
ad-do-it))
PS AUCTeX 开发版有一个新功能可以缩小到环境(LaTeX-narrow-to-environment
),因此您需要一个键绑定(C-x n e)而不是C-c . C-x n r
(daleif 附加),还需要将 add 更改为LaTeX-find-matching-begin
:
(defadvice LaTeX-find-matching-begin
(around LaTeX-find-matching-begin-case-sensitive activate)
"Perform case-sensitive search."
(let ((case-fold-search nil))
ad-do-it))