如题,在排版实践时,有时会在注文中使用一些瘦长的字体以复现古籍排版的效果。我在一次排版中利用自制的瘦长字体(使用 FontForge,字宽缩减为原先的 49%,字高不变)排版,指令 ratio = 1
,并设置 format = \linespread{0.5}
,希望实现注文字高与正文相同的效果。但此时夹注的断行出了问题。于是我改通过设置 format = \setlength{\baselineskip}{正文字号 / 2}
的方式,迂回地实现了这一目的,然而这样做在断页时仍有问题——当页面最后一行出现了夹注,则会提前一行跨页。具体如下图:
(TL 2023, upLaTeX)
几个 MWE 如下:
\linespread{0.5}
时夹注断行出现的问题%arara: uplatex
%arara: dvipdfmx
\documentclass[tate, uplatex, dvipdfmx, jafontsize = 3pt]{jlreq}
\usepackage[T1]{fontenc}
\usepackage[scheme = plain]{ctex}
\usepackage{lltjp-geometry}
\usepackage{geometry}
\geometry{
paperheight = 10mm,
paperwidth = 10mm,
%bottom = 19mm,
textwidth = 5zw,
textheight = 9pt, % 一页三行
}
\usepackage{jiazhu}
\jiazhuset{
ratio = 0.5,
format = \linespread{0.5}\color{red},
beforeskip = 0pt,
afterskip = 0pt,
}
\usepackage{color}
\begin{document}
\lineskiplimit = -1000pt
\baselineskip = 3pt
\parindent = 0pt
\pagestyle{empty}
〇〇〇〇〇〇〇〇〇\jiazhu{一二三四〇〇〇〇〇〇〇〇〇〇}〇〇〇 %第一行夹注只显示其中的第一排,且位置靠左。本应靠左的第一行第二排内容不见
\end{document}
%arara: uplatex
%arara: dvipdfmx
\documentclass[tate, uplatex, dvipdfmx, jafontsize = 3pt]{jlreq}
\usepackage[T1]{fontenc}
\usepackage[scheme = plain]{ctex}
\usepackage{lltjp-geometry}
\usepackage{geometry}
\geometry{
paperheight = 10mm,
paperwidth = 10mm,
%bottom = 19mm,
textwidth = 5zw,
textheight = 9pt, % 一页三行
}
\usepackage{jiazhu}
\jiazhuset{
ratio = 1,
format = \setlength{\baselineskip}{1pt}\color{red},
beforeskip = 0pt,
afterskip = 0pt,
}
\usepackage{color}
\begin{document}
\lineskiplimit = -1000pt
\baselineskip = 3pt
\parindent = 0pt
\pagestyle{empty}
〇〇〇〇〇〇〇〇〇\jiazhu{〇}〇〇〇〇\newpage %当最后一行没有夹注,则可以填满三行
〇〇〇〇〇〇〇〇〇\jiazhu{〇〇〇}〇〇〇〇 %当最后一行出现夹注,则会提前跨页
\end{document}
如有解答,我在这里预致谢忱。
这个问题复制自 CTeX-forum,jiazhu
是 ctex-kit
中的一个试验性质的宏包,其内容见此链接。