带有方括号的列表错误

带有方括号的列表错误

为什么第二个例子中的方括号没有以绿色显示?

\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}  

在此处输入图片描述

相关内容