我在环境中使用$
和_
符号lstlisting
,并且输出 pdf 看起来不错,但我在 emacs 编辑器中遇到一个问题,其中的出现会$
改变整个文档的颜色,并且_
(之后$
)的出现也会在编辑器中产生不良结果。
$
我如何才能抑制对数学表达式开头的解释?我尝试过将其转义$
为\$
,但在输出 PDF 中,我得到的\$
不是必需的。
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}
a$ = b$ + c$;
a_{d}=a_{c}
\end{lstlisting}
\end{document}
答案1
我使用 Aquamacs,因此 AUCTeX 会自动加载。
添加后
(setq LaTeX-verbatim-environments '("Verbatim" "lstlisting"))
到我的Preferences.el
文件(模拟.emacs
或您使用的任何初始化文件),就颜色和字体而言,lstlisting
环境被视为相同。由于我经常使用from ,所以我也添加了它。verbatim
Verbatim
fancyvrb
答案2
根据@egreg 的要求,我尝试更详细地说明这一点。我假设您使用的是 GNU Emacs;如果是这样,您的操作系统应该不会有什么不同。
安装
我建议您通过 来安装 ELPA 的最新版本的 AUCTeX M-x list-packages RET,将光标移到 auctex 上(写作时的版本是 11.88.4),点击i,然后x您就会安装最新版本(可能在 下~/.emacs.d/elpa/
)
激活
如果从 ELPA 安装,您一定不能,我再说一遍,一定不能在您的初始化文件中包含以下内容:
(load "auctex.el" nil t t)
AUCTeX 已安装,并且应在您加载带有扩展名的文件时立即启动.tex
。
基本定制
AUCTeX 的优势在于支持基本的 LaTeX 和贡献包。目前,有超过 180 个样式文件(术语为“name-of-supported-LaTeX-package.el”)可用。如果您将其放入初始化文件中,AUCTeX 可以解析您的输入文件并加载正确的样式:
(setq TeX-parse-self t)
否则,您必须C-c C-n事后点击。将其保存在您的初始化文件中。
AUCTeX 手册还建议:
(setq TeX-auto-save t)
(setq-default TeX-master nil)
这取决于你;我的只有第二行.emacs
。
用法
现在,您可以点击C-c C-e,AUCTeX 会提供lstlisting
补全并要求您提供键值选项。此外,请注意,Emacs 不会缩进内容,因为空格很重要:
\begin{lstlisting}
a$ = b$ + c$;
a_{d}=a_{c}
\end{lstlisting}
字体化(又称语法高亮)也应该能正常工作。