内联 \verb——hbox 过满问题

内联 \verb——hbox 过满问题

我遇到了一个以前遇到过的问题,我厌倦了自己解决问题,希望有一些支持的解决方案。我将继续创建一个文档,例如:

\documentclass {article}
\begin{document}
\section {Introduction}
In the introduction of the document, you will find plenty of verbatim \verb|texts
that| have an hard time wrapping.
\end{document}

因此,这里的问题是\verb环境不能很好地包装(与我上面发布的示例不同,我在其中加入了返回以帮助查看)。存在一个过度填充的 hbox 错误。

我怎样才能使\verb命令更好地换行和对齐?我希望 LaTeX 只增加或减少\verb命令周围的间距。是不是因为挤压或拉伸太多,导致 LaTeX 无法同意这样做?在此先感谢您的帮助。

[编辑] 阅读后何时应使用 \verb,何时应使用 \texttt我认为这\texttt可能是正确的做法。这在很大程度上涵盖了上述问题,但问题仍然存在:那怎么办\verb

[编辑] 另请参阅有关\texttt{} \texttt 水平盒子过满问题

答案1

\verb用于逐字文本,即告诉 LaTeX 解释字符而不考虑其特殊含义。它仅用于简短的内联逐字材料,例如解释 LaTeX 宏。对于较长的逐字材料,有环境verbatim(和其他几个)。它以 tt 字体打印的事实只是一个副作用!如果您在逐字文本中使用空格,则请求一个逐字、不可拉伸和不可破坏的空间。星版\verb*甚至使用视觉符号打印这些空间。

请始终使用\texttt\ttfamily用于应以字体打印的文本tt\verb仅将字体用作字体是一种滥用。您可以将其用于短单词而不会受到惩罚,但对于较长的文本就会出现此问题。请注意,逐字模式很脆弱,\verb在宏参数中不起作用。

如果你真的想要使用它,请尝试shortvrb允许您使用一个字符来逐字逐句地表达文本的包,例如仅|text|而不是 \verb|text|。然后您可以像这样排除空格:

... verbatim |texts| |that| have ...

它的一个常见用途是在软件包文档中,其中|已经是一个简短的逐字标记。它允许软件包作者逐字打印他们描述的宏或一些较短的相关文本tt。再次强调:它不适用于较长的文本。


编辑:

  • 注意:要|作为包中的分隔符shortverb,您必须使用命令来定义它\MakeShortVerb{\|}

软件包的文档shortverb可用这里

相关内容