包 `listings`:添加计数器以定义自定义语言

包 `listings`:添加计数器以定义自定义语言

我正在使用这个listings包来包含一些朱莉娅代码,但该软件包尚不支持 Julia 语言listings。因此,我不得不使用 制定自己的(基本)规则集,这些规则受到多种来源的启发\lstdefinelanguage

\documentclass[12pt]{article}
\usepackage{listings}
\usepackage{xcolor}

% JULIA ALGORITHM STYLING
\lstdefinelanguage{Julia}%
  {morekeywords={abstract,break,case,catch,const,continue,do,else,elseif,%
      end,export,false,for,function,immutable,import,importall,if,in,%
      macro,module,otherwise,quote,return,switch,true,try,type,typealias,%
      using,while},%
   sensitive=true,%
   alsoother={\$},%
   morecomment=[l]{\#},%
   morecomment=[n]{\#=}{=\#},%
   morestring=[s]{"}{"},%
   morestring=[m]{'}{'},%
}[keywords,comments,strings]%

\lstset{%
    language            = Julia,
    basicstyle          = \ttfamily,
    keywordstyle        = \bfseries\color{blue},
    stringstyle         = \color{purple},
    commentstyle        = \color{teal},
    showstringspaces    = false,
    numbers             = left,
    breaklines          = true,
    breakatwhitespace   = false,
    basicstyle          = \footnotesize
}

\begin{document}
\lstinputlisting[language=Julia, title=A beautiful Julia algorithm, label=mycode]{/path/to/a/julia/file.jl}\
\end{document}

我想在我的列表中添加一个计数器(现在它没有出现)。

所以我希望我的列表的标题看起来像

Listing 1: A beautiful Julia algorithm

但现在看起来像这样

电流输出

注意:我做了研究,但找不到适合我的答案。

编辑

  • 根据 @Mensch 的评论,我修改了上面的代码片段,使其成为可编译的最小工作示例。
    file.jl只是任何 julia 文件。 我确保我的 julia 文件是可编译的,并且使用上述代码片段和正确的路径将其正确包含在我的 LaTeX 文件中。
  • 我附上了当前输出的截图

答案1

根据@Marijn 的评论,答案其实非常简单。

代替title=A beautiful Julia algorithm

caption=A beautiful Julia algorithm

这将创建一个计数器并将其添加到标题前面,如下所示: 有效结果

再次感谢@Marijn!

相关内容