如何避免使用\sloppy
文档范围来解决过满\hbox
问题?
这是我的最小工作示例。
\documentclass[12pt]{report}
\usepackage[english,ngerman]{babel}
\usepackage[a4paper,inner=25mm,outer=25mm,top=30mm,bottom=30mm]{geometry}
\usepackage{lipsum}
\begin{document}
\lipsum[2]
Have a look at this URL ignoring the page margin within the text flow \textit{example.com/donc\_oe/longurl} lorem ipsum.\par
The very strange plugin Java-JDT (\textit{en. Java Development Toolkit}) "`Plugin-Entwicklungsumgebung"' -- what's wrong with this german word?\par
\lipsum[2]
\end{document}
有了\sloppy
它看起来就更好了。
但我被告知显然,最好避免在整个文档范围内使用它。我还能做什么?
答案1
排版 URL 时,使用
url
包裹,因为它提供了足够的换行支持。如果需要,您可以更改其显示中使用的字体(默认为\ttfamily
)。默认连字功能未涵盖的单词(或
babel
可以以临时方式使用\-
或全局使用进行合并\hypenation{<this-is-an-awk-ward-ly-long-word>}
。
\documentclass[12pt]{report}
\usepackage[english,ngerman]{babel}% http://ctan.org/pkg/babel
\usepackage[a4paper,inner=25mm,outer=25mm,top=30mm,bottom=30mm]{geometry}% http://ctan.org/pkg/geometry
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{url}% http://ctan.org/pkg/url
\begin{document}
\lipsum[2]
Have a look at this URL ignoring the page margin within the text flow \url{example.com/donc_oe/longurl} lorem ipsum.\par
The very strange plugin Java-JDT (\textit{en. Java Development Toolkit}) "`Plugin-Ent\-wick\-lungs\-umge\-bung"' -- what's wrong with this German word?\par
\lipsum[2]
\end{document}
答案2
另外,你可能想要设置
\setlength{\emergencystretch}{2pt}
或类似的东西。解释:如果 TeX 无法排版没有坏框的段落,并且\emergencystretch
非零,它会再试一次,但这次会通过此参数的值增加空间的可拉伸性。
答案3
另一种策略是,按照 Werner 的描述修复 URL 后,将环境包装\begin{sloppypar} ... \end{sloppypar}
在那些仍然存在问题的段落周围。
这与设置的作用大致相同\emergencystretch
,但具有预设值。