我尝试按如下方式为源代码列表着色。我希望 \ 与后面的单词颜色相同,例如:
\documentclass in red including "\"
\usepackage in blue including "\"
我希望括号[ ]
是绿色的,但括号之间的文本是黑色的,和 { }
是/
红色的,但括号内的文本是黑色的,数字是灰色的。
文件:
\documentclass[10pt]{article}
\usepackage{bera}
\usepackage{xcolor}
\usepackage{listings}
\lstset{basicstyle=\footnotesize\ttfamily,columns=flexible,frame=single,framerule=0pt,%
backgroundcolor=\color{gray!20},%
xleftmargin=\fboxsep,%
xrightmargin=\fboxsep,
language=[LaTeX]TeX,%
keywordstyle=\color{blue},%
texcsstyle=*\color{red}\bfseries,%
texcs={end,begin,documentclass},%
mathescape=false,escapechar=|,%
literate={<B>}{\textcolor{blue}{\string\usepackage}}1
{<P>}{\textcolor{blue}{\string\graphicspath}}1
{<I>}{\textcolor{green}{[}}1
{<D>}{\textcolor{green}{]}\normalcolor}1
{<$>}{\textcolor{red}{\{}\color{black}}1
{<$$>}{\textcolor{red}{\}}\normalcolor}1
}
\pagestyle{empty}
\begin{document}
\begin{lstlisting}
\documentclass<I>12pt<D><$>article<$$>
<B><$>xcolor<$$>
<B><$>listings<$$>
<B><I>options<D><$>graphicx<$$>
<P><$><$>img/pdf<$$><$$>
\begin<$>document<$$>
Text
\end<$>document<$$>
\end{lstlisting}
\end{document}
我应该补充一下(如果可能的话),我的想法是让文本的颜色与 Texmaker 类似。输出
我只需要颜色/和数字。还有一个问题,我是否要为每个想要蓝色的单词添加一个文字?谢谢
答案1
关于我的评论。您只能对括号使用 literate 选项。
\documentclass[10pt]{article}
\usepackage{bera}
\usepackage{xcolor}
\usepackage{listings}
\lstset{basicstyle=\footnotesize\ttfamily,columns=flexible,frame=single,framerule=0pt,%
backgroundcolor=\color{gray!20},%
xleftmargin=\fboxsep,%
xrightmargin=\fboxsep,
language=[LaTeX]TeX,%
keywordstyle=\color{blue},%
texcsstyle=*\color{red}\bfseries,%
texcs={end,begin,documentclass,graphicspath},%
mathescape=false,escapechar=|,%
literate={<B>}{\textcolor{blue}{\string\usepackage}}1
{\{ }{\textcolor{red}{\{}}1
{\}}{\textcolor{red}{\}}}1
{[}{\textcolor{green}{[}}1
{]}{\textcolor{green}{]}}1
}
\pagestyle{empty}
\begin{document}
\begin{lstlisting}
\documentclass[12pt]{article}
<B>{xcolor}
<B>{listings}
<B>[options]{graphicx}
\graphicspath{{img/pdf}}
\begin{document}
Text
\end{document}
\end{lstlisting}
\end{document}