将列表包装在 minipage 中并从新行开始

将列表包装在 minipage 中并从新行开始

我不希望我的列表中有分页符,因此\lstnewenvironment我将我的列表包装在一个小页面中。

\documentclass{article}

\usepackage{listings}

\lstnewenvironment{snippet}[1][]{%
  \lstset{#1}
  \noindent\minipage{\linewidth}
}
{\endminipage}

但是,现在文本和 之间没有换行符snippet。例如,

This is some text.
\begin{snippet}
Some code snippet
\end{snippet}

...结果如下。

片段

我尝试\par在环境中添加命令,即

\lstnewenvironment{snippet}[1][]{%
  \lstset{#1}
  \par\noindent\minipage{\linewidth}
}
{\endminipage}

但这导致了一个错误:Paragraph ended before \lstnewenvironment@ was complete.

有没有办法让这个小页面总是在新行上开始?

答案1

Paragraph ended before ....如果 TeX 看到标记 ,则会产生低级错误\par:它既不检查\par在该点是否具有其通常含义,也不检查其他可能具有该含义的命令。LaTeX(和普通 TeX)有一个别名,\endgraf该别名被定义为具有 的通常含义,用于在本地重新定义或您想要避免此错误时\par使用。\par

相关内容