在 AUCTeX 中折叠特定于文件的宏

在 AUCTeX 中折叠特定于文件的宏

让 AUCTeX 专门为一个文件折叠一些数学宏的最佳方法是什么?例如在这个非常简单的例子中:

\documentclass{minimal}
\newcommand{\foo}{\lambda}
\begin{document}
$\foo$
\end{document}

我想告诉 AUCTeX,在本文档中,并且仅在本文档中,折叠命令(C-c C-o C-b以及此类命令)应将数学模式下的宏 \foo 折叠为字符串“λ”。我尝试将以下内容添加到文件中:

% Local Variables:
% eval: (add-to-list 'LaTeX-fold-math-spec-list '("λ" ("foo")))
% End:

但它不起作用。首先,更改是永久性的,也就是说,不是该文件的本地更改;其次,代码是在激活折叠模式后评估的,因此我需要重新加载文件才能看到效果。

答案1

代替

% eval: (add-to-list 'LaTeX-fold-math-spec-list '("λ" ("foo")))

使用

% eval: (add-to-list (make-variable-buffer-local 'LaTeX-fold-math-spec-list) '("λ" ("foo")))
% eval: (TeX-fold-mode 1)

第一行使LaTeX-fold-math-spec-list缓冲区本地化并将自定义元素添加到 alist,第二行重新激活折叠模式。

相关内容