在编写LaTeX代码时,我使用以下C-ish缩进/支撑样式:
\foo{
blah blah... this line is getting too long and should be wrapped
}
每当我需要重新换行(技术上,重新填充)一个块/段时,根据fill-column
选项(本例中为50),我点击M-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
}
我想我应该为AUCTeX添加自定义fill-nobreak-predicate
挂钩,或者自定义paragraph-start
和paragraph-separate
,但我不熟悉emacs lisp ......
由于此问题可能适用于任何标记文本模式,因此请自由填充以将其移至上游。
答案 0 :(得分:2)
实际上,没有fill-nobreak-predicate(顾名思义)避免在某些地方破坏线,而你想强制在某些地方破坏线。 paragraph-separate
可能会更好地为您提供服务:声明仅包含}
或仅\cmd{
的行不应被视为段落的一部分。
答案 1 :(得分:0)
有了@Stefan的建议。我想出了这个,似乎运作良好,简单的测试,
(add-hook 'LaTeX-mode-hook
'(lambda ()
(setq paragraph-separate (concat " *}\\|^ *\\\\[a-zA-Z]* ?{\\|"
paragraph-separate))))