Lua语法突出显示arXiv的乳胶

Nic*_*ard 5 pdf lua latex syntax-highlighting

我有一个乳胶文件,需要包含Lua代码片段(用于显示,而不是执行),所以我使用了铸造包.它需要乳胶与latex -shell-escape旗帜一起运行.

我正在尝试将PDF提交上传到arXiv.该网站要求将这些提交为.tex,.sty并且.bbl,它们将自动从乳胶编译为PDF.当我试图提交给arXiv时,我了解到他们无法激活-shell-escape旗帜.

所以我想知道你们中是否有人知道如何在没有-shell-escape旗帜的情况下突出乳胶中的Lua代码.我尝试了列表包,但我不能让它在我的Ubuntu计算机上为Lua工作.

Wer*_*ner 5

您可以设置内联使用的任何样式listings.它的预定义Lua语言标识了所有关键字和相关样式,因此您可以根据自己的需要进行更改:

在此输入图像描述

\documentclass{article}

\usepackage{listings,xcolor}

\lstdefinestyle{lua}{
  language=[5.1]Lua,
  basicstyle=\ttfamily,
  keywordstyle=\color{magenta},
  stringstyle=\color{blue},
  commentstyle=\color{black!50}
}

\begin{document}

\begin{lstlisting}[style=lua]
-- defines a factorial function
    function fact (n)
      if n == 0 then
        return 1
      else
        return n * fact(n-1)
      end
    end

    print("enter a number:")
    a = io.read("*number")        -- read a number
    print(fact(a))
\end{lstlisting}

\end{document}
Run Code Online (Sandbox Code Playgroud)