classoffset 在列表中如何发挥作用?

classoffset 在列表中如何发挥作用?

有人能解释一下,我该如何修改下面的例子,以便每种方言或语言都可以用不同的颜色显示吗?我很难理解classoffset中的概念是什么listings。读了几遍手册,但我仍然在努力掌握这些概念。语言与此有何关系?样式数组类型样式与关键字有何关系?为什么当我添加另一种语言时[5.3]Lua颜色会出错?

\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}

\begin{document}

\section{lststyles tests}
% Define a new language
\ExplSyntaxOn
\lstdefinelanguage{LaTeXiii}
  { alsoletter={_,:},
    morekeywords=[1]{cs_set_nopar:Npn,luadirect},
    moretexcs   =[2]{clist_new:N},
    morekeywords=[3]{\seq_new:N,\seq_set:Nn}
  }%
\ExplSyntaxOff
\lstloadlanguages{[AlLaTeX]TeX, [LaTeX]TeX,[primitive]TeX,LateXiii}




\lstdefinestyle{simple}{%
  keywordstyle={\ttfamily\color{brown}},% [0]?
  keywordstyle=[1]{\ttfamily\color{blue}},%
 texcsstyle=[2]{\ttfamily\color{red}},%
  texcsstyle=[5]{\ttfamily\color{purple}},%
  keywordstyle=[3]{\ttfamily\color{orange}},%
  keywordstyle=[4]{\ttfamily\color{green}},%
  basicstyle={\ttfamily\color{black}},%
}


\lstnewenvironment{myenv}[1][]
{
  \lstset{
  language=[AlLaTeX]TeX,%
  alsolanguage=[LaTeX]TeX,
  alsolanguage=[primitive]TeX,
  alsolanguage=[plain]TeX,
  alsolanguage=LaTeXiii,%
  %alsolanguage={[5.3]Lua}, ***** <- How do I get this right?
  }
  \lstset{style=simple,#1} %allow options for new listing
}
{}



\begin{myenv}
\begin{luacode}
local a=12
\end{luacode}
\cs_set_nopar:Npn\mycommand
\def\test{}
\advance \setcounter
\clist_new:N \l_my_clist
\seq_set:Nn \l__my_seq
% TeX primitives
\addcontentsline
\advancepageno
\end{myenv}

\end{document}

编辑: 按照评论中的建议加载后的输出[5.3]Lua。情况越来越好。为了更好地阐明问题。我如何组合语言并让它们显示自己的颜色?我必须指定吗classoffsets?它们是如何工作的?

在此处输入图片描述

相关内容