如何逐字装箱以防止分页?

如何逐字装箱以防止分页?

如果我尝试

\mbox{
  \begin{verbatim}
    Some looooong text...
  \end{verbatim}
}

然后就会出现一些编译错误。

答案1

有几个包卡坦提供增强的逐字功能。特别是,幻想VRB提供一种防止分页的简单机制。

\documentclass{minimal}
\usepackage{fancyvrb}
\begin{document}
\begin{Verbatim}[samepage=true]
Some looooong text...
\end{Verbatim}
\end{document}

幻想VRB还提供BVerbatim将逐字材料放入盒子的环境。

答案2

Ian Thompson 展示了如何使用fancyvrb来防止分页。如果您还想知道如何放入verbatim方框,请参见下文:

1)你可以把它放在一个minipage环境中:

\documentclass{minimal}

\begin{document}
\begin{minipage}{\linewidth}
\begin{verbatim}
blah blah
\end{verbatim}
\end{minipage}

\end{document}

如果你只是想防止分页,这就足够了。

2) 您不能输入、、或verbatim的参数。这是因为是垂直材料(只能使用和),并且它会严重更改类别代码(您不能在参数中使用它)。您可以在必要时使用环境来保存框,以备将来使用:\parbox\mbox\makebox\fboxverbatimminipage\parboxlrbox

\documentclass{minimal}

\newsavebox{\verbbox}
\begin{document}
\begin{lrbox}{\verbbox}
\begin{minipage}{0.5\linewidth}
\begin{verbatim}
blah blah
blah blah
\end{verbatim}
\end{minipage}
\end{lrbox}

\fbox{\usebox{\verbbox}}

\end{document}

顺便说一句,它也更容易使用,fancyvrb以保护verbatim环境。

答案3

发布日期http://texhacks.blogspot.com/2011/01/better-mbox-and-fbox.html\verb关于不可用的原因\mbox(其“参数[...]不能更改类别代码”)以及如何解决该问题:重新定义\mbox

\def\bettermbox{\leavevmode\hbox}

[我不确定引用整个帖子是否可以,因此请自己点击链接。@TH:您可以添加自己的答案或授予在此引用整个帖子的权利吗?]

话虽如此,我不建议使用\mbox来解决分页符问题。Ian Thompson 的答案更适合此目的。

相关内容