You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AucTeX中修改LaTeX-insert-item命令实现插入两行后添加\item

调整Emacs LaTeX模式C-c C-j的换行行为

你的选择太对了——涉及Emacs Lisp的定制,在这儿提问比TeX Stack Exchange合适多了!

先给你确认:你对那段代码的理解完全准确!原代码里的

(unless (bolp) (LaTeX-newline))

就是判断光标如果不在当前行开头,就插入一个换行。你把它改成两次LaTeX-newline的思路完全没问题,修改后只要光标不在行首,执行C-c C-j就会先插两个换行,再添加\item。

不过有个实用小建议:直接修改latex.el源文件的话,以后Emacs更新时,你的定制很可能会被覆盖。更稳妥的方式是用Emacs的advice机制,不用改动原文件就能实现同样效果。你可以把这段代码加到你的init.el(或其他Emacs配置文件)里:

;; 自定义C-c C-j的前置换行:非行首时插入两个换行
(defun my-custom-latex-item-pre-newlines ()
  (unless (bolp)
    (LaTeX-newline)
    (LaTeX-newline)))

;; 将自定义函数绑定到LaTeX-insert-item命令执行前
(advice-add 'LaTeX-insert-item :before #'my-custom-latex-item-pre-newlines)

配置完后,重启Emacs或者执行M-x eval-buffer加载配置,你的定制就生效了,而且不用担心后续Emacs更新会冲掉你的修改。

如果已经直接修改了latex.el,记得要重新加载该文件(通过M-x load-file选中latex.el)或者重启Emacs,修改才会生效哦~

内容的提问来源于stack exchange,提问作者J126

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 10:04:22