为什么第二个例子中的方括号没有以绿色显示?
\documentclass[11pt, oneside]{article}
\usepackage{listings}
\usepackage{xcolor}
\definecolor{darkgreen}{rgb}{0,0.6,0}
\newcommand{\CodeSymbol}[1]{\textcolor{darkgreen}{#1}}
\lstset{
language=[LaTeX]{TeX},
}
\lstdefinestyle{myLangStyleA}{
literate={\{}{{\CodeSymbol{\{}}}1
}
\lstdefinestyle{myLangStyleB}{
literate={\{}{{\CodeSymbol{\{}}}1
{\[}{{\CodeSymbol{\[}}}1,
}
\begin{document}
\begin{lstlisting}[style=myLangStyleA]
[ {
\end{lstlisting}
\begin{lstlisting}[style=myLangStyleB]
[ {
\end{lstlisting}
\end{document}
产生的结果如下:
谢谢 !
答案1
括号[
不是特殊字符,因此您应该按原样使用它。
\documentclass[11pt, oneside]{article}
\usepackage{listings}
\usepackage{xcolor}
\definecolor{darkgreen}{rgb}{0,0.6,0}
\newcommand{\CodeSymbol}[1]{\textcolor{darkgreen}{#1}}
\lstset{
language=[LaTeX]{TeX},
}
\lstdefinestyle{myLangStyleA}{
literate={\{}{{\CodeSymbol{\{}}}1
}
\lstdefinestyle{myLangStyleB}{
literate={\{}{{\CodeSymbol{\{}}}1
{[}{{\CodeSymbol{[}}}1,
}
\begin{document}
\begin{lstlisting}[style=myLangStyleA]
[ {
\end{lstlisting}
\begin{lstlisting}[style=myLangStyleB]
[ {
\end{lstlisting}
\end{document}