CTeX-org / ctex-kit

Macro Packages and Scripts for Chinese TeX users
966 stars 124 forks source link

jiazhu 宏包的断行问题 #625

Open ChihSee-Hsie opened 2 years ago

ChihSee-Hsie commented 2 years ago

如题,jiazhu 宏包有时会出现预料之外的断行,其一如下:

Untitled

这里「得民財者……其君也。」的盒子长度大概正好填满余下的一行,于是在没有另外加 vspace 的前提下系统自动给换行了,在夹注和下一自然段之间造成了一条空隙。我设置的 parskip 是 0,理论上不应该有这一段,所以大概是系统换行导致的问题。

还有一处情况,也出现在盒子长度大概正好填满一行余下部分时,这时夹注甚至可能会直接整体另起一行,留下前一行的空白不填。我在此提出问题,希望方家解答,我预致谢忱。

muzimuzhi commented 2 years ago

建议提供例子,方便他人复现问题。

ChihSee-Hsie commented 2 years ago

感谢提醒。抱歉刚才连不上 GitHub,现有工作示例如下:

Example.zip,请用 upLaTeX 编译。

qinglee commented 2 years ago

按照目前 jiazhu 包的处理方式,例子可以等价精简为

% !TeX program = pdftex

\noindent \vrule width \hsize height 1pt \relax \goodbreak\quad\special{}

\hrule

\bye

\goodbreak 相当于在夹注结尾插入的 \@@_good_break:\special 相当于例子中设置的颜色。

\@@_good_break: 不是很必要,可以考虑在 jiazhu 中删去。颜色的话,考虑增加一个 color 选项单独设置,可以调整 \special 的位置。

ChihSee-Hsie commented 2 years ago

我都没发现这个问题与 color 有关,设置成红色是想着醒目一点……感谢解释。

ChihSee-Hsie commented 2 years ago

使用最近更新的 jiazhu.sty 重新排了一遍示例文件,但情况没有变化。我目前没有什么能力改动宏包,在这里反馈情况吧。感谢方家的贡献。