AucTeX/emacs与'$';性格
emacs上的AucTeX是一个非常神奇的工具,但是当我写一个“$”时,所有的颜色都被破坏了 通常一个“$”伴随另一个“$”来表示数学方程,但对于源代码列表,经常使用单个“$”AucTeX/emacs与'$';性格,emacs,latex,Emacs,Latex,emacs上的AucTeX是一个非常神奇的工具,但是当我写一个“$”时,所有的颜色都被破坏了 通常一个“$”伴随另一个“$”来表示数学方程,但对于源代码列表,经常使用单个“$” \begin{Verbatim} (let ((buffer (url-retrieve-synchronously ... (re-search-forward "^$" nil 'move) <-- It breaks the coloring ... \end{Verbatim} AucTeX中是
\begin{Verbatim}
(let ((buffer (url-retrieve-synchronously
...
(re-search-forward "^$" nil 'move) <-- It breaks the coloring
...
\end{Verbatim}
AucTeX中是否有任何选项可以防止这个单一的“$”问题?是否有理由使用逐字与逐字?逐字逐句使该部分中的所有内容对我来说颜色相同。顺便说一句,我更喜欢使用用于在latex中显示程序代码的 使用包列表,您可以像使用\begin{verbatim}一样添加非格式化文本,但其主要目的是在文档中包含任何编程语言的源代码
AUCTeX知道
$
在逐字记录环境中并不特殊,但您必须通过安排逐字记录
出现在本地乳胶逐字记录环境
中来告诉它逐字记录
是一个逐字记录环境
如果AUCTeX以最佳方式安装,它已经知道了,因为AUCTeX为您通过\usepack
和friends加载的每个文件加载一个样式挂钩。您可能需要告诉它使用C-C-n
(TeX正常模式
)解析头文件
如果这还不够,那就意味着,Verbatim
是在AUCTeX没有足够信息的样式文件中定义的。您可以告诉AUCTeX解析您安装的部分或所有样式文件;请参阅AUCTeX手册中的“自动”一章
有时AUCTeX无法解析样式文件;然后你可以手工做这部分。下面的代码假设您从fancyvrb
包中获得Verbatim
环境;改用其他名称。在TeX-style-path
中提到的一个目录中创建一个名为fancyvrb.el
的文件,其中包含以下内容(可能还有其他值得放在那里的内容,我刚刚改编了alltt.el
):
(TeX添加样式挂钩
“fancyvrb”
(lambda()
(LaTeX添加环境“BVerbatim”“LVerbatim”“SaveVerbatim”“Verbatim”)
(使局部变量“LaTeX缩进”环境列表)
(添加到列表“LaTeX缩进环境列表”(“BVerbatim”当前缩进))
(添加到列表“LaTeX缩进环境列表”(“LVerbatim”当前缩进))
(添加到列表“LaTeX缩进环境列表”(“SaveVerbatim”当前缩进))
(添加到列表“LaTeX缩进环境列表”(“逐字”当前缩进))
(使局部变量'LaTeX verbatim regexp)
(setq LaTeX verbatim regexp(concat LaTeX verbatim regexp“\\\\\\\\\\\\\\([BL]?\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
(添加到列表“LaTeX逐字记录环境本地”BVerbatim)
(添加到列表“LaTeX逐字记录环境本地“LVerbatim”)
(添加到列表“LaTeX逐字记录环境本地“SaveVerbatim”)
(添加到列表“LaTeX逐字记录环境本地”逐字记录)
(何时(和(featurep'字体)
(eq-TeX安装字体锁定“字体乳胶设置”)
(字体设置语法关键字)
(setq字体锁定集默认为零)
(字体锁定设置默认值)))
(我认为您也可以通过文件变量手动执行,但结果证明不起作用,因为字体锁定设置是在初始化文件局部变量之前构建的,我看不到解决方法。)对于最后一种方法,可以将它们复制到TeX源代码的最后一行吗?它似乎不是那样工作的。@prosseek:对不起,我在变量名上打错了,现在已经修好了。但即便如此,我只是测试了一下,它对我不起作用。看起来这个变量是在设置了着色参数之后设置的,我不知道如何解决这个问题。好的,使用文件局部变量是行不通的,所以style.el是一种方法。我编辑了我的答案,加入了这方面的代码。谢谢你的提示,我认为列表是更好的选择。但是,就emacs/AucTeX而言,我看到了同样的问题。
(re-search-forward "^$" nil 'move) ;; $
(TeX-add-style-hook
"fancyvrb"
(lambda ()
(LaTeX-add-environments "BVerbatim" "LVerbatim" "SaveVerbatim" "Verbatim")
(make-local-variable 'LaTeX-indent-environment-list)
(add-to-list 'LaTeX-indent-environment-list '("BVerbatim" current-indentation))
(add-to-list 'LaTeX-indent-environment-list '("LVerbatim" current-indentation))
(add-to-list 'LaTeX-indent-environment-list '("SaveVerbatim" current-indentation))
(add-to-list 'LaTeX-indent-environment-list '("Verbatim" current-indentation))
(make-local-variable 'LaTeX-verbatim-regexp)
(setq LaTeX-verbatim-regexp (concat LaTeX-verbatim-regexp "\\|\\([BL]?\\|Save\\)Verbatim"))
(add-to-list 'LaTeX-verbatim-environments-local "BVerbatim")
(add-to-list 'LaTeX-verbatim-environments-local "LVerbatim")
(add-to-list 'LaTeX-verbatim-environments-local "SaveVerbatim")
(add-to-list 'LaTeX-verbatim-environments-local "Verbatim")
(when (and (featurep 'font-latex)
(eq TeX-install-font-lock 'font-latex-setup))
(font-latex-set-syntactic-keywords)
(setq font-lock-set-defaults nil)
(font-lock-set-defaults))))