Latex - 使用 [mathescape] 在 lstlisting 中转义美元符号

latex - escape dollar sign inside lstlisting with [mathescape]

我在 mathescaped lstlisting 环境中转义美元符号时遇到问题

\begin{lstlisting}[mathescape]
  $\delta$(Z, $\varepsilon$, $S) = (R, $\varepsilon$)
                             ^ 
\end{lstlisting}

related question 的回答的帮助下,我想到了使用另一个符号来代替美元符号,如下所示:

\lstset{
  literate={\§}{{\textcolor{black}{$}}}1
}

但是当我在列表中使用 时,我得到的是 $ 而不是 $

您可以在数学模式(在 mathescape 下)或 \mbox{\textdollar}:

中使用 $

\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[basicstyle=\ttfamily, mathescape]
$\delta$(Z, $\varepsilon$, $\mbox{\textdollar}$S) = (R, $\varepsilon$)
$\delta$(Z, $\varepsilon$, $$$S) = (R, $\varepsilon$)
\end{lstlisting}
\end{document}