当字母样式的首字下沉出现在页面或列的底部时,如何使它浮动到上一行和上一段?

当字母样式的首字下沉出现在页面或列的底部时,如何使它浮动到上一行和上一段?

使用 lettrine 打印章节编号,我最终在段落末尾得到了一个章节编号,该章节编号打印在左侧段落的底部,并在下一个段落的顶部留有空格。

我想移动章节号以借用以前的行和段落,如图所示。

这真的可能吗?有很多更简单的方法,但我想保留那行空白,并使列长度平衡。是的,如果可能的话,我确实想在页面的最后一行开始章节。

Lettrine 结果不佳,但独角兽代码的效果理想

以下是代码(或其中的一部分):

\verse{25\versehskip}{9}If we live in the Spirit, let us also walk in the Spirit.
\verse{26\versehskip}{9}Let us not be desirous of vain glory, provoking one another, envying one another.
\ifdefined\biblendchaptergalatiansv{\biblendchaptergalatiansv}\fi%
\bibldropcapschapter{6}%
\versei{1\versehskip}{9}Brethren, if a man be overtaken in a fault, ye which are spiritual, restore such an one in the spirit of meekness; considering thyself, lest thou also be tempted.
\verseii{2\versehskip}{9}Bear ye one another's burdens, and so fulfil the law of Christ.

这些定义...

\newcommand{\bibldropcapschapter}[1]    
{\needspace{\mychapterspace}%%
\lettrine[lines=2, lraise=0.05, lhang=0.00, findent=3pt, nindent=0pt, loversize=0.0]{\hspace{2pt}\textbf{\mychapterfont \smash{#1}}}{}}%
\lettrine[lines=2, lraise=0.00, lhang=0.00, findent=\mylettrinefindent, nindent=0pt, loversize=0.0]{\textbf{\mychapterfont #1}}{}%
}%

\newcommand{\verse}[2]{\raisebox{\myverseraise}[0pt]{\myversefont\textbf{#1}}}

这一切都发生在几页前开始的\begin{multicols}{2}...\end{multicols}环境中。让事情稍微复杂一点的是,该grid软件包用于套准印刷,即\usepackage[grid]{multicol}

我认为处理这个问题的方法应该是两次传递,并在上一段中插入一个宏:

  • 在第一遍中,检测到字母将被放置在页面的最后一行(不知道如何)
  • 第一次传递时,在辅助文件中注意上一段需要显示字母
  • 第二遍,在上一段中,缩进最后一行以适应字母(不知道如何做)。
  • 第二次通过时,将字母向上移动到为其留出的空间。

相关内容