在 xelatex 下,xeCJK
宏包有一个 CheckSingle
选项用以控制是否检查段末的孤字。
\documentclass[zihao=-4]{ctexart}
% 480bp = 40*12bp % 每行40字
\usepackage[textwidth=480bp]{geometry}
\begin{document}
\noindent
一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十
\medskip
一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九。%十
\xeCJKsetup{CheckSingle=true}
一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九。%十
\end{document}
可以看到使用 CheckSingle
的不同之处。“只有在段末的最后一个字是 CJK 文字或者标点符号,并且倒数第二和第三个字都是文字才能正确处理”。
对于单句在一个页面,可以使用 \enlargethispage{<dim>}
暂时扩大该页的高度。如
文字
\enlargethispage{12bp}