以下文件
\documentclass{article}
\usepackage{fancyvrb}
\begin{document}
\hsize=1cm
\begin{Verbatim}
foo bar foo bar foo bar foo bar foo bar
\end{Verbatim}
\end{document}
做不是发出警告。但我做想要查看某物是否比其应有的大小大。我该怎么办?
(Verbatim 环境是由 pygmentize 生成的,因此我更喜欢不涉及更改它的解决方案。)
答案1
你可以做
\RecustomVerbatimEnvironment{Verbatim}{BVerbatim}{}
至少在测试期间。但是, 的一些选项Verbatim
不适用于BVerbatim
。
答案2
这是一个非常晚的答案,只是为了帮助未来的读者。
fancyvrb
使用类似于 的东西\hbox to \linewidth{<content of a line>\hss}
来打印每一行。正是\hss
禁止了过满的\hbox
消息。将 更改为\hss
,\hfil
即删除可收缩性但保留可拉伸性可能会有所帮助。
\documentclass{article}
\usepackage{fancyvrb}
\usepackage{lipsum}
\makeatletter
\def\FV@ListProcessLine#1{%
\hbox to \hsize{%
\kern\leftmargin
\hbox to \linewidth{%
\FV@LeftListNumber
\FV@LeftListFrame
\FancyVerbFormatLine{#1}\hfil % change \hss to \hfil
\FV@RightListFrame
\FV@RightListNumber}%
\hss}}
\makeatother
\begin{document}
\newlength{\xhsize}
\settowidth{\xhsize}{\texttt{foo bar foo bar foo bar foo bar foo bar}}
\hsize=\xhsize
No overfull hbox
\begin{Verbatim}
foo bar foo bar foo bar foo bar foo bar
\end{Verbatim}
\hsize=\xhsize
\advance\hsize -10pt
Overfull hbox 10pt
\begin{Verbatim}
foo bar foo bar foo bar foo bar foo bar
\end{Verbatim}
\end{document}