为什么章节标题的默认行为是溢出

为什么章节标题的默认行为是溢出

我在这里要问的问题不是“如何修复”,而是“为什么这是默认行为”。对于很多事情,我发现理解 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}

答案2

David 已经告诉了你为什么会发生这种情况,并提出了解决办法。你可以采取更短的路线,基本上是一样的,但避免深入细节:

\documentclass[12pt]{article}

\usepackage{sectsty}

\allsectionsfont{\raggedright}

\begin{document}

\section{Algebraic Geometry - Localization and Germs of Functions}

\end{document}

在此处输入图片描述

相关内容