为新 Listings 环境添加密钥

为新 Listings 环境添加密钥

我正在尝试向自定义环境添加新密钥listings。我尝试修改这个例子

我的问题是我试图在文档中传递的密钥值似乎没有被使用。

以下是 MWE:

\documentclass{article}

\usepackage{listings}

\makeatletter
\lst@Key{pagewidth}{\linewidth}{\def\LSTwidth{#1}}
\makeatother

\lstnewenvironment{mylisting}[1][]{%
\noindent
\minipage{\LSTwidth}
\lstset{#1}
}
{\endminipage}

\begin{document}

\centering
\begin{mylisting}[pagewidth=0.5\linewidth, frame=lrtb]
NOT IMPORTANT NOT IMPORTANT
NOT IMPORTANT NOT IMPORTANT
\end{mylisting}

\end{document}

答案1

移动线\lstset{#1} minipage

\documentclass{article}
\usepackage{listings}

\makeatletter
\lst@Key{pagewidth}{\linewidth}{\def\LSTwidth{#1}}
\makeatother

\lstnewenvironment{mylisting}[1][]{%
\noindent
\lstset{#1}
\minipage{\LSTwidth}
}
{\endminipage}

\begin{document}

\hrulefill

\centering
\begin{mylisting}[pagewidth=0.5\linewidth, frame=lrtb]
NOT IMPORTANT NOT IMPORTANT
NOT IMPORTANT NOT IMPORTANT
\end{mylisting}

\end{document}

在此处输入图片描述

我添加了一条水平线只是为了达到可视化的目的。

顺便说一句,listings已经有一个linewidth具有类似功能的密钥。

相关内容