gpt4 book ai didi

emacs - 带有 '$' 字符的 AucTeX/emacs 问题

转载 作者:行者123 更新时间:2023-12-04 06:11:55 24 4
gpt4 key购买 nike

emacs 上的 AucTeX 是一个非常棒的工具,但是当我写一个 '$' 时,所有的颜色都被破坏了。

通常一个 '$' 伴随着另一个 '$' 来表达数学方程,但是对于源列表,经常使用单个 '$'。

\begin{Verbatim}
(let ((buffer (url-retrieve-synchronously
...
(re-search-forward "^$" nil 'move) <-- It breaks the coloring
...
\end{Verbatim}

简单的解决方案如下匹配'$'。
(re-search-forward "^$" nil 'move) ;; $

AucTeX 中是否有任何选项可以防止这个单一的“$”问题?

最佳答案

AUCTeX 知道 $在逐字环境中并不特殊,但您必须告诉它Verbatim是一个逐字环境,通过安排它出现在 LaTeX-verbatim-environments-local 中.

如果 AUCTeX 以最佳方式安装,它已经知道了,因为 AUCTeX 会为您通过 \usepackage 加载的每个文件加载一个样式 Hook 。和 friend 。您可能需要告诉它使用 C-c C-n 解析您的头文件( TeX-normal-mode )。

如果这还不够,则意味着 Verbatim是在 AUCTeX 没有足够信息的样式文件中定义的。您可以告诉 AUCTeX 解析您安装的部分或全部样式文件;请参阅 AUCTeX 手册中的“自动”一章。

有时 AUCTeX 无法解析样式文件;那么你可以手工完成这部分。下面的代码假设您正在获取 Verbatim环境来自 fancyvrb包裹;否则调整名称。创建一个名为 fancyvrb.el 的文件在 TeX-style-path 中提到的目录之一中包含以下内容(可能还有其他值得放在那里的东西,我刚刚改编了 alltt.el ):

(TeX-add-style-hook
"fancyvrb"
( lambda ()
(LaTeX-add-environments "BVerbatim""LVerbatim""SaveVerbatim""Verbatim")
(make-local-variable 'LaTeX-indent-environment-list)
(添加到列表'LaTeX-indent-environment-list'(“BVerbatim”当前缩进))
(添加到列表'LaTeX-indent-environment-list'(“LVerbatim”当前缩进))
(添加到列表'LaTeX-indent-environment-list'(“SaveVerbatim”当前缩进))
(添加到列表 'LaTeX-indent-environment-list '(“逐字”当前缩进))
(make-local-variable 'LaTeX-verbatim-regexp)
(setq LaTeX-verbatim-regexp (concat LaTeX-verbatim-regexp "\\|\\([BL]?\\|Save\\)Verbatim"))
(添加到列表 'LaTeX-verbatim-environments-local “BVerbatim”)
(添加到列表 'LaTeX-verbatim-environments-local “LVerbatim”)
(添加到列表 'LaTeX-verbatim-environments-local “SaveVerbatim”)
(添加到列表 'LaTeX-verbatim-environments-local “Verbatim”)
(当 (和 (featurep 'font-latex)
(eq TeX-install-font-lock 'font-latex-setup))
(font-latex-set-syntactic-keywords)
(setq font-lock-set-defaults nil)
(字体锁定设置默认值))))

(我以为您也可以通过文件变量手动执行此操作,但事实证明这不起作用,因为字体锁定设置是在文件局部变量初始化之前构建的,我看不到解决方法。)

关于emacs - 带有 '$' 字符的 AucTeX/emacs 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3274091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com