【问题标题】:possible to get emacs to ignore comments during paragraph fill in latex-mode?可以让emacs在乳胶模式下的段落填充期间忽略注释吗?
【发布时间】:2025-12-05 16:10:02
【问题描述】:

在 emacs 中编辑 LaTeX 时,可以在段落中间放置 cmets:

Line 1
% comment
Line 2

不幸的是,如果您在光标位于 Line 2 时运行 fill-paragraph,您会得到:

Line 1
% comment Line 2

这使得它非常不可用,因为现在Line 2 已经从文档中消失了。如何让 emacs 将 Line 1Line 2 视为需要填充段落,而不是将 Line 2 堆积到注释行?

如果fill-paragraph 也在评论区运行,则获得奖励积分。

【问题讨论】:

  • 您使用的是哪种乳胶模式?我似乎无法在 auctex 中重现它。此外,您可能在tex.stackexchange.com 上获得了更多的观众。
  • 运行由 Ubuntu 打包的 Emacs(版本 23.1+1-4ubuntu7.2+maverick1),如果我使用一些不是 tex 的文件启动 emacs,然后稍后打开 .tex 文件,我会看到这个问题.但是,如果我直接从命令行打开文件,或者在找到 tex 文件之前关闭所有其他缓冲区,它就可以正常工作。真是奇怪的行为。

标签: emacs latex elisp


【解决方案1】:

你真的是在 LaTeX 模式下吗?

我现在唯一需要使用的 emacs 是 21.2.1,与 Cygwin 一起安装,但如果我尝试

Line 1
% a comment
Line 2
Line 3

在 LaTeX 模式下按 Esc-Q(或 Esc-X 填充段落)给我

Line 1
% a comment
Line 2 Line 3

但是,如果我执行 Esc-X 文本模式并重复(Esc-q 或 Esc-X 填充段落),我会得到

Line 1 % a comment Line 2 Line 3

换句话说,如果 LaTeX 注释处于正确的模式,emacs 会正确处理它,但(不出所料)如果它将文档视为普通文本则不会

【讨论】:

    【解决方案2】:

    我通常不编辑乳胶文档,但我看不到您描述的行为(我在 emacs 23 中打开了一个空白文档并启用了乳胶模式)。我粘贴了您的示例,但无法将第 2 行填充到评论中。您是否可能有一些模式挂钩破坏了paragraph-startparagraph-separate 的默认乳胶模式值?

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题。安装 autex 解决了这个问题

      【讨论】:

        最近更新 更多