右边距控制的良好做法是什么?

右边距控制的良好做法是什么?

我通常排版散文书,因此我有很多右边距;)

我目前的做法是目视检查右边距是否溢出,以致于看起来很糟糕。我发现这很烦人而且容易出错,所以我正在寻找一种更智能的方法。

下面是显示该问题的 MWE。我保留了我认为可能相关的包。

\documentclass[a5paper]{memoir}
\usepackage{polyglossia} 
\setdefaultlanguage{english}
\usepackage{fontspec}
\usepackage{microtype}
\usepackage{ragged2e}
\raggedbottom
%\overfullrule=5pt % draft mode
\begin{document}
This is where we put some random nonsense to see how the margins look. And now a long word: pneumonoultramicroscopicsilicovolcanoconiosis. Another one: pseudopseudohypoparathyroidism. Random long words to get a bad word break: floccinaucinihilipilification, antidisestablishmentarianism, supercalifragilisticexpialidocious.
\end{document}

当使用 进行编译时xelatex,将会给我们以下输出:

边距

看起来还不错,对吧?但是看看当我们取消注释该行时会发生什么\overfullrule=5pt

边距

哎哟!没有尊重边距。果然,我们在以下位置发现了这一点mwe.log

Overfull \hbox (0.384pt too wide) in paragraph at lines 10--11
\TU/lmr/m/n/10 floccinaucinihilipilification, antidisestablishmentarianism, sup
er-|

现在我必须决定 0.384pt 是否足够,我应该重新措辞文本,或者看看我是否可以在其他地方进行拆分。我希望有更有效的工作方式?我认为添加一条禁止任何边距中断的行可能是个好主意?

答案1

看来 LaTeX 对你的文本进行连字时存在问题。

如果连字算法找不到正确的连字点(在您的人造长单词中),您可以使用以下命令将异常情况告知 TeX 以解决问题。例如添加:

\hyphenation{pseudo-pseudo-hy-po-pa-rathy-roi-dism pneumo-no-ultra-micro-scopics-i-li-co-vol-ca-no-co-nio-sis}

在序言中(因为我不是母语人士,所以连字符可能放错了位置)。

\documentclass[a5paper]{memoir}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\hyphenation{FORTRAN Hy-phen-a-tion}
\usepackage{fontspec}
\usepackage{microtype}
\usepackage{ragged2e}
\hyphenation{pseudo-pseudo-hy-po-pa-rathy-roi-dism pneumo-no-ultra-micro-scopics-i-li-co-vol-ca-no-co-nio-sis}
\overfullrule=5pt % draft mode

\begin{document}
This is where we put some random nonsense to see how the margins look. And now a long word: pneumonoultramicro\-scopicsilicovolcanoconiosis. Another one: pseudopseudohypoparathyroidism. Random long words to get a bad word break: floccinaucinihilipilification, antidisestablishmentarianism, supercalifragilisticexpialidocious.
\end{document}

在此处输入图片描述

相关内容