我正在尝试向自定义环境添加新密钥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
具有类似功能的密钥。