我在環境中使用$
和_
符號lstlisting
,輸出 pdf 看起來不錯,但我在 emacs 編輯器中遇到問題,其中 的出現$
改變了整個文檔的顏色,並且_
(after $
) 的出現也在編輯器中產生了不需要的結果。
如何抑制$
數學表達式開始的解釋?我已經嘗試轉義$
,\$
但在輸出 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
環境被認為是相同的。verbatim
由於我經常使用Verbatim
from 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)
由你決定;我的 .txt 檔案中只有第二行.emacs
。
用法
現在,您可以點擊C-c C-eAUCTeXlstlisting
來完成並要求您提供鍵值選項。此外,請注意 Emacs 不會縮排內容,因為空格很重要:
\begin{lstlisting}
a$ = b$ + c$;
a_{d}=a_{c}
\end{lstlisting}
字體化(又稱語法突出顯示)也應該有效。