我们创建了这样的文件:
\documentclass[a5paper]{report}
%\usepackage[showframe, margin=1cm]{geometry}
\usepackage[pdftex,colorlinks=true,allcolors=blue]{hyperref}
\begin{document}
\paragraph{Aaaaaaaaaa bbbbbbbbbbbbbbbbbb ccccccccccccc dddddddddddddddd eeeeeeeeeeeeeeeee}
Aaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbb ccccccccccccc ddddddddddddddd eeeeeeeeeeeeeeeee.
\url{http://example.com/aaaaaaaaaaaaaaaaa_bbbbbbbbbb_cccccccccccccccc_ddddddddd_eeeeeeeee}
\end{document}
当我使用命令将其转换为 pdf 时pdflatex -synctex=1 -interaction=nonstopmode "latex-experimenting".tex
(实际上 TeXstudio 就是这样做的),我得到了这样一个文件:
起初我以为只有使用包时才会出现该问题geometry
,但是没有使用该包我也重现了该问题。
我并不要求这些“假词”用部分连字符连接,只要在需要时将它们移到下一行,我就满意了。
我究竟做错了什么?
答案1
您可以尝试使用参数\emergencystretch
和\tolerance
。它们会影响段落如何分成行。
基本上,命令\sloppy
和的作用是\fussy
:
\sloppy
增加\tolerance
和\emergencystretch
重置
\fussy
这些参数的 LaTeX 默认值。
(\hfuzz
和\vfuzz
也会改变,但这不会影响生成的 .pdf 文件的外观。这会影响 TeX 何时打印由于框已满而导致的错误消息。)
大卫·卡莱尔 (David Carlisle) 的这些解释可能会引起人们的兴趣。
\documentclass[a5paper]{report}
%\usepackage[showframe, margin=1cm]{geometry}
\usepackage[pdftex,colorlinks=true,allcolors=blue]{hyperref}
\makeatletter
\newcommand*\avoidhyphens{%
\emergencystretch\hsize
\tolerance 200%
\hfuzz .1\p@
\vfuzz\hfuzz
}%
\makeatother
\begin{document}
\hrule height 0pt width 0pt depth 0pt
\kern-1in
\kern-\topmargin
\kern-\headheight
\kern-\headsep
%\kern-\topskip
\vfill\verb|\fussy| is default:\vfill
% The sectionng command "\paragraph" creates a vertical gap of 3.25ex with report. Let's remove that:
\kern-3.25ex
\paragraph{Aaaaaaaaaa bbbbbbbbbbbbbbbbbb ccccccccccccc dddddddddddddddd eeeeeeeeeeeeeeeee}
Aaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbb ccccccccccccc ddddddddddddddd eeeeeeeeeeeeeeeee.
\url{http://example.com/aaaaaaaaaaaaaaaaa_bbbbbbbbbb_cccccccccccccccc_ddddddddd_eeeeeeeee}
\vfill\verb|\avoidhyphens|:\vfill
\avoidhyphens
\kern-3.25ex
\paragraph{Aaaaaaaaaa bbbbbbbbbbbbbbbbbb ccccccccccccc dddddddddddddddd eeeeeeeeeeeeeeeee}
Aaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbb ccccccccccccc ddddddddddddddd eeeeeeeeeeeeeeeee.
\url{http://example.com/aaaaaaaaaaaaaaaaa_bbbbbbbbbb_cccccccccccccccc_ddddddddd_eeeeeeeee}
\vfill\verb|\sloppy|:\vfill
\sloppy
\kern-3.25ex
\paragraph{Aaaaaaaaaa bbbbbbbbbbbbbbbbbb ccccccccccccc dddddddddddddddd eeeeeeeeeeeeeeeee}
Aaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbb ccccccccccccc ddddddddddddddd eeeeeeeeeeeeeeeee.
\url{http://example.com/aaaaaaaaaaaaaaaaa_bbbbbbbbbb_cccccccccccccccc_ddddddddd_eeeeeeeee}
\vfill\verb|\fussy|:\vfill
\fussy
\kern-3.25ex
\paragraph{Aaaaaaaaaa bbbbbbbbbbbbbbbbbb ccccccccccccc dddddddddddddddd eeeeeeeeeeeeeeeee}
Aaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbb ccccccccccccc ddddddddddddddd eeeeeeeeeeeeeeeee.
\url{http://example.com/aaaaaaaaaaaaaaaaa_bbbbbbbbbb_cccccccccccccccc_ddddddddd_eeeeeeeee}
\vfill\verb|\raggedright|:\vfill
\begingroup\raggedright
\kern-3.25ex
\paragraph{Aaaaaaaaaa bbbbbbbbbbbbbbbbbb ccccccccccccc dddddddddddddddd eeeeeeeeeeeeeeeee}
Aaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbb ccccccccccccc ddddddddddddddd eeeeeeeeeeeeeeeee.
\url{http://example.com/aaaaaaaaaaaaaaaaa_bbbbbbbbbb_cccccccccccccccc_ddddddddd_eeeeeeeee}
\endgroup
\vfill
\end{document}