我喜欢定义以下命令:
\newcommand{\page}[2]{\begin{minipage}{#1\textwidth} #2 \end{minipage}}
这样我就可以做类似的事情
\page{0.1}{blabla}\page{0.3}{lalala}
我最近发现了这个包裹listings
,并注意到了一个非常奇怪的互动。
此代码不会触发任何错误:
\begin{minipage}{0.5\textwidth}
\begin{lstlisting}
bla bla
\end{lstlisting}
\end{minipage}
但是这个 :
\page{0.5}{
\begin{lstlisting}
bla bla
\end{lstlisting}
}
抛出:Emergency stop. [...] job aborted, no legal \end found
我必须说我很困惑,因为我看不出这两者之间有什么区别。
答案1
如果您直接使用原始命令(或)定义我们的\page
宏,那么您将不会遇到参数内的逐字环境的问题:\vtop
\vbox
\page
\documentclass{article}
\def\page#1{\vtop\bgroup \hsize=#1\hsize \let\next}
\begin{document}
\page{0.5}{
\begin{verbatim}
bla bla
\end{verbatim}
}
\end{document}