获取当前列表设置的语言

获取当前列表设置的语言

如何获取当前为 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}

相关内容