如何获取当前为 listings (又名lstlistings
) 包设置的语言,例如通过\lstset{language=Python,basicstyle=\color{blue},backgroundcolor=\color{lightgray}}
?
细节:
我想在自己的命令中使用该值,并将一些lstinline
文本以正确的语言放入索引中。
我尝试了诸如\language
、、\lst.language
...之类的变量,但它们不包含值。
\newcommand{\lstLanguage}{Python}
因此,我在每一章中都通过 eg 引入了一个新变量,并\lstset{language=\lstLanguage,basicstyle=\color{blue},backgroundcolor=\color{lightgray}}
改用。但这会导致错误
! 软件包列表错误:语言 Python 未定义
答案1
它存储在 中\lst@language
。以下最小示例显示如何从 LaTeX 获取当前设置的列表语言并产生tex python
:
\documentclass{article}
\usepackage{listings}
\makeatletter
\newcommand{\getlang}{\lst@language}
\makeatother
\begin{document}
\lstset{language=tex}
\getlang
\lstset{language=Python,basicstyle=\color{blue},backgroundcolor=\color{lightgray}}
\getlang
\end{document}