使用 listings 包创建新环境时出现问题

使用 listings 包创建新环境时出现问题

我想创建一个新的环境,使我的 TeX 工作更容易:

\begin{latin}
\begin{lstlisting}[language=python]
    In [1]: x = 1

    In [2]: x
    Out[2]: 1
\end{lstlisting}
\end{latin}

我知道listings创建新环境存在一些问题,所以它有自己的问题\newlstenvironment,我尝试使用我在文档StackOverflow中找到的方法创建新环境listings,但出现同样的错误。

方法一:

\newenvironment{ppp}{%
    \begin{latin} \begin{lstlisting}}{%
        \end{lstlisting} \end{latin}}

方法 2:

\lstnewenvironment{ppp}
{\begin{latin}
\lstset{language=python}} { \end{latin}}

是否可以创建新环境?我该怎么做?

答案1

您需要“内部”形式:

\documentclass{article}
\usepackage{listings}
\usepackage{xepersian}

\settextfont{Scheherazade}

\lstnewenvironment{ppp}
  {\latin\lstset{language=python}}
  {\endlatin}

\begin{document}

سلام این یک آزمون است.

\begin{ppp}
In [1]: x = 1

In [2]: x
Out[2]: 1
\end{ppp}

سلام این یک آزمون است.

\end{document}

在此处输入图片描述

相关内容