在TeX内联数学中防止Emacs进行换行

Xle*_*lea 8 emacs math-mode auctex

我将Emacs与AUCTeX结合使用,使用大量的内联数学编辑手稿$.当自动填充(例如,有M-q)时,Emacs经常在扰乱阅读流畅性的位置(例如,在下标等中)打破这些内联数学环境.

有没有办法告诉Emacs更愿意将整个$…$环境放在一个新的行中,如果这样可以防止破坏?更具体地说,如果发生数学中断,则应将整个环境移动到不应该分开的新行.

一个例子:

Lorem ipsum dolor sit amet, consectetur adipisici elit, sed $a^2 + b^2 = c^2$ eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.
Run Code Online (Sandbox Code Playgroud)

应该导致

Lorem ipsum dolor sit amet, consectetur adipisici elit, sed
$a^2 + b^2 = c^2$ eiusmod tempor incidunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam.
Run Code Online (Sandbox Code Playgroud)

mk1*_*mk1 5

尝试:

(add-hook 'LaTeX-mode-hook
          (lambda ()
            (add-to-list 'fill-nobreak-predicate 'texmathp)))
Run Code Online (Sandbox Code Playgroud)

将其放入您的.emacs并重新启动emacs.