在latex-mode中,是否有可能让emacs在段落填充时忽略注释?

3

在emacs中编辑LaTeX时,可以在段落中间添加注释:

Line 1
% comment
Line 2

不幸的是,如果您在光标位于第二行时运行fill-paragraph,则会得到以下结果:

Line 1
% comment Line 2

这使得它变得非常难用,因为现在第二行已经从文档中消失了。我该如何让emacs将第一行第二行视为需要填充段落,但不会将第二行堆叠在注释行上面?
如果在注释部分也运行fill-paragraph,则额外加分。

2
你使用的是哪种latex模式?我似乎无法在auctex中重现这个问题。另外,你可能会在tex.stackexchange.com上获得更多的关注。 - dmckee --- ex-moderator kitten
在Ubuntu打包的Emacs(版本为23.1+1-4ubuntu7.2+maverick1)中运行,如果我使用一些不是.tex文件的文件启动emacs,然后稍后再打开.tex文件,就会出现这个问题。但是,如果我直接从命令行打开文件,或者在查找.tex文件之前关闭所有其他缓冲区,它就可以正常工作。真的很奇怪的行为。 - Phil Miller
还在Tex.SE上:https://tex.stackexchange.com/questions/131774/how-can-i-tell-emacs-to-correctly-fill-around-latex-comments - Nate Eldredge
3个回答

1

你现在是否处于LaTeX模式?

我手头唯一的Emacs版本是21.2.1,是通过Cygwin安装的。但如果我尝试

Line 1
% a comment
Line 2
Line 3

在LaTeX模式下,按Esc-Q(或Esc-X fill-paragraph)会给我带来什么?
Line 1
% a comment
Line 2 Line 3

然而,如果我输入Esc-X进入文本模式,并重复(Esc-q或Esc-X fill-paragraph),我将得到以下结果

Line 1 % a comment Line 2 Line 3

换句话说,如果emacs处于正确模式下,则能正确处理LaTeX注释,但是如果将文档视为普通文本处理,则不能正确处理(这并不奇怪)。

0

我曾经遇到过同样的问题。安装auctex解决了这个问题。


0
我通常不编辑 LaTeX 文档,但我没有看到你所描述的行为(我在 Emacs 23 中打开了一个空白文档并启用了 LaTeX 模式)。我粘贴了你的示例,但无法将第二行填充到注释中。你可能有一些模式钩子破坏了默认的 LaTeX 模式值 paragraph-startparagraph-separate


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接