处理悬垂文本

处理悬垂文本

我有一份文件,里面有很多长而不可分割的单词。在 A5 纸上,每行大约有 8 个单词。这会产生一个问题,因为在许多行上,有些单词会超出边缘并延伸到页边距。我发现有些单词延伸到页边距很远的地方,几乎触及页面边缘。在某些页面上,问题如此频繁,以至于右边距甚至都看不见。

我有什么办法可以解决这个问题?

更新:

这是我的代码的简化示例,以便您可以看到发生了什么:

\documentclass[crown,twoside]{octavo}
\pdfpagewidth=127mm
\pdfpageheight=191mm
\usepackage{xeCJK}
\usepackage{fontspec}
\usepackage{stackrel}
\setmainfont{Gentium Plus}
\setCJKmainfont{Adobe Song Std}
\newcommand{\stacked}[2]{%
    $\stackrel{\textrm{#1}}{\textrm{#2}}$%
}
\begin{document}
    This text should show you where the proper margins are, but as you can see, the text below is goes too far over the edge, which isn't too pleasant.
    \stacked{床}{chuáng}\hskip0pt\stacked{前}{qián}\hskip0pt\stacked{明}{míng}\hskip0pt\stacked{月光}{yuè​guāng},
    \stacked{疑}{yí}\hskip0pt\stacked{是}{shì}\hskip0pt\stacked{地上}{dì​shang}\hskip0pt\stacked{霜}{shuāng}。
    \stacked{举}{jǔ}\hskip0pt\stacked{头}{tóu}\hskip0pt\stacked{望}{wàng}\hskip0pt\stacked{明月}{míng​yuè},
    \stacked{低头}{dī​tóu}\hskip0pt\stacked{思}{sī}\hskip0pt\stacked{故乡}{gù​xiāng}。
\end{document}

这与 相编译xelatex

更新:

我发现,我的例子(上面)使用了太多短单词,所以当其他人编译它时,它并没有显示出太多的悬垂。在这里,我稍微修改了代码以模拟较长单词的结果。您应该看到一些单词完全悬垂在页面之外。

\documentclass[crown,twoside]{octavo}
\pdfpagewidth=127mm
\pdfpageheight=191mm
\usepackage{xeCJK}
\usepackage{fontspec}
\usepackage{stackrel}
\setmainfont{Georgia}
\setCJKmainfont{Adobe Song Std L}
\newcommand{\stacked}[2]{%
    $\stackrel{\textrm{#1#1}}{\textrm{#2#2}}$%
}
\begin{document}
    This text should show you where the proper margins are, but as you can see, the text below is goes too far over the edge, which isn't too pleasant. \par
    \stacked{床}{chuáng}\hskip0pt\stacked{前}{qián}\hskip0pt\stacked{明}{míng}\hskip0pt\stacked{月光}{yuè​guāng},
    \stacked{疑}{yí}\hskip0pt\stacked{是}{shì}\hskip0pt\stacked{地上}{dì​shang}\hskip0pt\stacked{霜}{shuāng}。
    \stacked{举}{jǔ}\hskip0pt\stacked{头}{tóu}\hskip0pt\stacked{望}{wàng}\hskip0pt\stacked{明月}{míng​yuè},
    \stacked{低头}{dī​tóu}\hskip0pt\stacked{思}{sī}\hskip0pt\stacked{故乡}{gù​xiāng}。

\end{document}

用于\hskip0pt允许换行,但不产生空格,因为连字符不适合。

答案1

当然这取决于您所面临的限制,但一般来说您可以:

答案2

这 ”l2tabuen.pdf” 在第 1.8 节“我应该使用吗?”中列出了如何影响 TeX 中的换行的示例\sloppy。在较新的德文版,效果更加明显,因为文本实际上超出了然后用其固定的边界框\sloppy(根据文档,不应使用)。

为什么这些单词无法断开?如果这些单词的连字错误,您可以为它们添加自定义连字规则。

相关内容