我使用了一个非常复杂的.sty
文件。它的主要目的.sty
是启用一个特殊的内联框,其中的文本可以以非常特殊的方式排版。框内没有问题。它.sty
提供了两个宏,可以由用户(比如我)自定义,分别放在框的前面和后面。我将这两个宏定义为两个\hskip
。除了当内联框从段落内的一行开头开始时,所有功能都运行良好,此时存在一个额外的空白行。
梅威瑟:
\documentclass[twoside,10pt]{article}
\makeatletter
\usepackage{CJKutf8,CJKvert}
\usepackage[papersize={294pt,363pt},total={229.9pt,299pt},centering]{geometry}
\parindent=0pt
\parskip=12pt
\usepackage{pdflscape}\PLS@Rotate{90}
\usepackage{gezhu}%https://code.google.com/p/gezhu/
\let\gezhu@debugbox\gezhu@fbox
\everygezhu={\linespread{0.83}\footnotesize\renewcommand\CJKglue{\hskip 3pt}}
\beforegezhu={\hskip 2.5pt plus 0pt minus 0pt}
\aftergezhu={\hskip 2.5pt plus 2pt minus 0pt}
\def\CJKglue{\hskip 1pt plus 0pt minus 0pt}
% Note:
% 230pt = 10pt*21 (characters) + 1pt* 20 (CJKglues)
% In order to make all characters 'fit the grid',
% text inside the box is 8pt per character, 3pt per CJKglue
% total space around a box is 4pt so as to make characters 'fit the grid',
% but (for some unknown reason) additional 0.5pt is needed on each end.
% ccccccccccgccccccccccgccccccccccgcccccccccc
% ccccccccccggccccccccgggccccccccggcccccccccc
\makeatother
\begin{document}
\begin{CJK*}{UTF8}{bsmi}
\begin{withgezhu}
\leavevmode
進行文字測試七八九十一二三四五六七八九十一二三|{朝朝朝朝朝朝朝朝朝落}進行文字測試進行文字測試進行文字測試進行文字測試\par
進行文字測試七八九十一二三四五六七八九十|{朝朝朝朝朝朝朝朝朝落}一二三進行文字測試進行文字測試進行文字測試進行文字測試\par
進行文字測試七八九十一二三四五六七八九十一二三|{朝朝朝朝朝朝朝朝朝落}進行文字測試\par
進行文字測試七八九十一二三四五六七八九十一|{朝朝朝朝朝朝朝朝朝落}二三進行文字測試\par
\clearpage
\beforegezhu={}
\aftergezhu={}
進行文字測試七八九十一二三四五六七八九十一二三|{朝朝朝朝朝朝朝朝朝落}進行文字測試進行文字測試進行文字測試進行文字測試\par
進行文字測試七八九十一二三四五六七八九十|{朝朝朝朝朝朝朝朝朝落}一二三進行文字測試進行文字測試進行文字測試進行文字測試\par
進行文字測試七八九十一二三四五六七八九十一二三|{朝朝朝朝朝朝朝朝朝落}進行文字測試\par
進行文字測試七八九十一二三四五六七八九十一|{朝朝朝朝朝朝朝朝朝落}二三進行文字測試\par
\end{withgezhu}
\end{CJK*}
\end{document}
此 MWE 中每页有四个段落。在第 1 页中,前三个段落很好(因为字符“适合网格”),但最后一个段落很糟糕,因为 (1) 方框后面的字符“不适合网格”,更重要的是 (2) 方框前面突然出现了一个神秘的空白行。
有人可以帮忙修复(1)和(2)吗?