我在 pdfLaTeX 中有以下 MWE。
\documentclass{article}
\usepackage{color}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\lstset{
language=SQL,
basicstyle={\small\ttfamily},
belowskip=3mm,
breakatwhitespace=true,
breaklines=true,
classoffset=0,
columns=flexible,
commentstyle=\color{dkgreen},
framexleftmargin=0.25em,
frameshape={}{}{}{},
keywordstyle=\color{blue},
numbers=none,
numberstyle=\tiny\color{gray},
showstringspaces=false,
stringstyle=\color{mauve},
tabsize=3,
upquote=true,
xleftmargin=1em
}
\begin{document}
\begin{lstlisting}
SELECT e.[column] [Number example],
FROM Example e;
\end{lstlisting}
\end{document}
这将产生以下内容。
但是,我希望得到与 Microsoft SQL Server Management Studio 的突出显示更加一致的东西,看起来像这样。
如您所见,Number
上图中的类型未突出显示。当为 Oracle 重写相同的内容时,它看起来也是可以接受的。我也会接受会变成紫色的答案[Number example]
。
我尝试在网上寻找答案,但一无所获。
答案1
以下使用键变成[...]
一个带有颜色的字符串(如果删除,您将得到描述为“也接受”的紫红色/紫色输出):black
morestring
[\color{black}]
\documentclass{article}
\usepackage{color}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\lstset{
language=SQL,
basicstyle={\small\ttfamily},
belowskip=3mm,
breakatwhitespace=true,
breaklines=true,
classoffset=0,
columns=flexible,
commentstyle=\color{dkgreen},
framexleftmargin=0.25em,
frameshape={}{}{}{},
keywordstyle=\color{blue},
numbers=none,
numberstyle=\tiny\color{gray},
showstringspaces=false,
stringstyle=\color{mauve},
tabsize=3,
upquote=true,
xleftmargin=1em
,morestring=[s][\color{black}]{[}{]}
}
\begin{document}
\begin{lstlisting}
SELECT e.[column] [Number example],
FROM Example e;
\end{lstlisting}
\end{document}