我想将一些 Python 代码包含到 LaTex 文档中,因此我使用以下代码“导入”了 listings 包
\usepackage{listings}
和
\lstdefinelanguage{Python}{
keywords={typeof, null, catch, switch, in, int, str, float, self},
keywordstyle=\color{ForestGreen}\bfseries,
ndkeywords={boolean, throw, import},
ndkeywords={return, class, if ,elif, endif, while, do, else, True, False , catch, def},
ndkeywordstyle=\color{BrickRed}\bfseries,
identifierstyle=\color{black},
sensitive=false,
comment=[l]{#},
morecomment=[s]{/*}{*/},
commentstyle=\color{purple}\ttfamily,
stringstyle=\color{red}\ttfamily,
}
编译时,我得到:
Illegal parameter number in definition oof \lstlang@python$ }
我用谷歌搜索过,但我不知道如何解决这个问题。它说的是命令或类似的东西。
答案1
在您发布的 LaTeX 源中,出现以下错误:
comment=[l]{#},
将其更改为:
comment=[l]{\#},
它可以帮我编译。
答案2
我在参考指南的listings 包文档:
4.1 如何阅读参考文献
...
关于参数,请记住以下几点:
...
5.如果您想输入特殊字符 {}#%\,这个角色必须使用反斜杠进行转义。这意味着您必须为单个字符“右括号”编写 } — 但当然不必为结束参数字符编写 }。
在下面的部分中还有一条注释
4.18 语言定义
...
... 笔记:如果你想进入\,{,},%,#或者&作为以下关键字的参数(的一部分),您必须在前面加上反斜杠!