我正在尝试解决 中一些较长的章节标题出现的“横框溢出”警告memoir
。我已将其缩小到以下最小示例。问题出现在CM 中mathptmx
,但不出现在 CM 中。此外,溢出框并不是真实的,因为没有任何东西与实际边距重叠,但我仍然想知道如何消除警告,因为此代码实际上是自定义文档类的一部分。
\documentclass[draft,12pt]{memoir}
\usepackage{mathptmx} % comment out to remove the overfull box
\settypeblocksize{9in}{6.5in}{*}
\setlrmargins{1in}{*}{*}
\setulmargins{1in}{*}{*}
\setheadfoot{\baselineskip}{.5in}
\checkandfixthelayout
\makeatletter
\renewcommand*{\l@chapter}[2]{%
\l@chapapp{\MakeUppercase{#1}}{#2}{\cftchaptername}}
\makeatother
\renewcommand*{\cftchaptername}{Chapter\space}
\setlength{\cftchapternumwidth}{3em}
\setrmarg{3.5em} % better wrapping of long titles
\makeatother
\begin{document}
\frontmatter
\tableofcontents*
\mainmatter
\chapter{A chapter with a really long title to see whether the chapter titles wrap correctly}
\end{document}
答案1
目录中出现了一个溢出框。
如果将长度设置\cftchapternumwidth
为较小的值
\setlength{\cftchapternumwidth}{2.25em}
它消失了。
您认为它依赖于字体的原因是,“whether”这个词用 放在第一行mathptmx
,而用默认的 CM 字体则放在下一行;真正的罪魁祸首当然是“whether”通常不使用连字符。(见下图)。
测量两种字体中单词“whether”的尺寸很有趣。“palatino”字体要窄得多,尺寸为 32.2097pt;而 CM 字体的尺寸为 35.02783pt,大约宽了 7%。从可读性的角度来看,这种字体更好,因为它一行中的字母较少,而对于大多数 LaTeX 文档来说,我们的行太长了。