如何突出显示 TeX 代码?

如何突出显示 TeX 代码?

我想强调一下TeX 代码列表,因此我使用lstlisting

\begin{lstlisting}[language=TeX] 
\begin{tabular}{ |p{4cm}|p{4cm}|p{4cm}|  }
\hline
\multicolumn{3}{|c|}{Country List} \\
\hline
Country Name & ISO ALPHA 2 & ISO ALPHA 3 \\
\hline
Afghanistan & AF & AFG \\
Aland Islands & AX & ALA \\
Albania & AL & ALB \\
\hline
\end{tabular}
\end{lstlisting}

我的lstset是:

\lstset{extendedchars=\true,keepspaces=true,
basicstyle=\ttfamily,columns=flexible,
escapechar=$,escapebegin=\[,escapeend=\]
    backgroundcolor=\color{backcolour},   
    commentstyle=\color{codegreen},
    keywordstyle=\color{magenta},
    numberstyle=\color{codegray},
    stringstyle=\color{codepurple},
    breakatwhitespace=false,         
    breaklines=true,                 
    captionpos=b,                        
    numbersep=5pt,                  
    showspaces=false,                
    showstringspaces=false,
    showtabs=false,                  
    tabsize=2
}

但我对结果并不满意——只end变成了洋红色,其他文字都是黑色:

结果

我认为begin是与 同等重要的关键字end,但它也是黑色的。有什么方法可以让 TeX 代码高亮显示吗?

答案1

您的问题源于要求listings突出显示 TeX 代码,而您实际上提供的是 LaTeX 代码。在 TeX 中\begin\hline\multicolumn等未使用,因此未突出显示。只需将您的语言更改为 LaTeX,方法是将 添加language=[LaTeX]{TeX}\lstset

\documentclass{article}
\usepackage{listings, xcolor}
\lstset{extendedchars=\true,keepspaces=true,
basicstyle=\ttfamily,columns=flexible,
escapechar=$,escapebegin=\[,escapeend=\]
    backgroundcolor=\color{backcolour},   
    commentstyle=\color{codegreen},
    keywordstyle=\color{magenta},
    numberstyle=\color{codegray},
    stringstyle=\color{codepurple},
    breakatwhitespace=false,         
    breaklines=true,                 
    captionpos=b,                        
    numbersep=5pt,                  
    showspaces=false,                
    showstringspaces=false,
    showtabs=false,                  
    tabsize=2,
    language=[LaTeX]{TeX} %<--
}
\begin{document}
\begin{lstlisting}
\begin{tabular}{ |p{4cm}|p{4cm}|p{4cm}|  }
\hline
\multicolumn{3}{|c|}{Country List} \\
\hline
Country Name & ISO ALPHA 2 & ISO ALPHA 3 \\
\hline
Afghanistan & AF & AFG \\
Aland Islands & AX & ALA \\
Albania & AL & ALB \\
\hline
\end{tabular}
\end{lstlisting}
\end{document}

在此处输入图片描述

相关内容