根据 Markus Scharrer 的回答,我使用自定义lstnewenvironment
来获取环境中的代码和部分。由于我在环境中使用环境(我知道这可能不是最好的方法,但我必须这样做),因此我无法设置列表的缩进。
这是我的 MWE:
\documentclass[a4paper,11pt]{article}
\usepackage{listings}
\usepackage{enumitem}
\lstnewenvironment{method}[2]
{\section{#1}\label{sec:#1}\def\MethodDescription{#2}}
{\MethodDescription}
\newenvironment{returnvalues}
{Return value:
\begin{itemize}[labelindent=\parindent, leftmargin=*, labelsep=0.5cm,itemsep=0.8pt]}
{\end{itemize}}
\newcommand{\returnvalue}[2] %Name, Description
{\item #1: #2}
我是这样使用的:
\begin{document}
\begin{method}{SaveDocument}{Description of the Method \\
\begin{returnvalues}
\returnvalue{True}{Saved successfully.}
\returnvalue{False}{otherwise}
\end{returnvalues}}
Method Boolean SaveDocument()
\end{method}
\end{document}
知道为什么我的列表没有像我自定义的那样缩进吗?我可以将 leftmargin 更改为任何内容而不会产生任何影响。