2

在编写 LaTeX 代码时,我使用以下 C-ish 缩进/支撑样式:

\foo{
  blah blah... this line is getting too long and should be wrapped
}

每当我需要根据选项(本例中为 50 )重新包装(技术上,重新填充)块/段落时,我点击. 这也改变了大括号的位置:fill-columnM-q

\foo{ blah blah blah... this line is getting too
  long and should be wrapped }

这伤害了我的眼睛:-(事实上,我想将牙套保持原来的位置,即:

\foo{ 
  blah blah blah... this line is getting too
  long and should be wrapped 
}

我想我应该fill-nobreak-predicate为 AUCTeX 添加一个自定义钩子,或者自定义paragraph-startand paragraph-separate,但是我对 emacs lisp 不是那么熟练...

由于这个问题可能适用于任何标记文本模式,请随意填写以将其移至上游。

4

2 回答 2

2

实际上,没有fill-nobreak-predicate(顾名思义)是为了避免在某些地方断线,而您想在某些地方强制断线。您可能会得到更好的服务paragraph-separate:声明仅包含}\cmd{不应被视为段落的一部分的行。

于 2012-06-13T16:57:14.540 回答
0

在@Stefan 的建议下,我想出了这个,似乎工作得很好,对于简单的测试,

(add-hook 'LaTeX-mode-hook
          '(lambda ()
            (setq paragraph-separate (concat " *}\\|^ *\\\\[a-zA-Z]* ?{\\|"
                                              paragraph-separate))))
于 2012-06-18T20:55:35.960 回答