我在这里要问的问题不是“如何修复”,而是“为什么这是默认行为”。对于很多事情,我发现理解 latex 为何这样做可以让我写得更干净,这是我从未理解过的事情。
以下是 MWE:
\documentclass[12pt]{article}
\begin{document}
\section{Algebraic Geometry - Localization and Germs of Functions}
\end{document}
编译后,它向我发出了超满警告,而且“Germs”确实超出了右边距约 20pt。当然,通过将 Germs 移到“of Functions”所在的下一行,可以轻松避免这种情况。对于段落或引文框等其他位置的文本,总是可以避免超满。为什么章节标题就不能这样呢?是否认为溢出比不太接近右边距更好?
也许没有理由,它“就是如此”。我想我也能接受这一点。
答案1
默认行为不是(直接)溢出,而是对齐,但是对于大标题字体,单词之间的空格很少,因此对齐相当困难,尤其是对两行段落进行连字的惩罚很重(并且您可能不想要带连字的部分标题)。
与 TeX 的段落换行器一样,它会超出指定的限制并发出警告,而不是将字间空间拉伸到超出指定的限制。
如果你希望有较长的标题,则可能应该将其设置为 raggedright:
\documentclass[12pt]{article}
\begin{document}
\section{Algebraic Geometry -- Localization and Germs of Functions}
\makeatletter
\renewcommand\section{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\raggedright
\normalfont\Large\bfseries}}
\makeatother
\section{Algebraic Geometry -- Localization and Germs of Functions}
\end{document}