Я использую символы $
и в среде, и выходной PDF-файл выглядит нормально, но у меня возникла проблема в редакторе Emacs, когда появление меняет цвет всего документа, а появление (после ) также приводит к нежелательным результатам в редакторе._
lstlisting
$
_
$
Как мне подавить интерпретацию $
как начала математического выражения? Я пробовал экранировать $
как, \$
но в выходном 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; если так, то ваша ОС не должна иметь значения.
Монтаж
Я предлагаю вам установить последнюю версию AUCTeX от ELPA, выполнив 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после. Сохраните это в вашем init-файле.
Руководство 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}
Фонтификация (она же подсветка синтаксиса) также должна работать.