为什么这个字母会被挤到边缘?

为什么这个字母会被挤到边缘?

考虑来自先前的问题

\documentclass{article}
\usepackage{lettrine}
%\usepackage{fontspec}
%\defaultfontfeatures{Ligatures={Historical}}
%\setmainfont[Ligatures={Common,Rare}]{Hoefler Text}
%% unfortunately, I do not own these fonts

\newcommand\prelude[2][8em]{\makebox[#1][c]{\itshape\scriptsize#2.}}

\newenvironment{prayer}[4][]{%
  \lettrine[ante=\prelude{#2},#1]{#3}{#4}
}{%
  \unskip
  \qquad
  \textit{Amen.}%
}

% optional smart handling of words; works either way
\iftrue
\makeatletter
\def\prayer{\@ifnextchar[{\@prayer}{\@prayer[]}}
\def\@prayer[#1]#2#3#4 {\lettrine[ante=\prelude{#2},#1]{#3}{#4} }
\def\endprayer{\unskip\qquad\textit{Amen.}}
\makeatother
\fi

\def\mytext{O Lord, we join our unfeigned thanks for all thy
  mercies; for our being, our reason, and all other endowments and
  faculties of soul and body; for our health, friends, food, and
  raiment, and all the other comforts and conveniences of life.  Above
  all we adore thy mercy in sending thy only Son into the world to
  redeem us from sin and eternal death, and in giving us the knowledge
  and sense of our duty towards thee.  We bless thee for thy patience
  with us, notwithstanding our many and great provocations; for all
  the directions, assistances, and comforts of thy Holy Spirit; for
  thy continual care and watchful providence over us through the whole
  course of our lives; and particularly for the mercies and benefits
  of the past day: Besecching thee to continue these thy blessings to
  us; and to give is grace to show our thankfulness in a sincere
  obedience to his laws through whose merits and intercession we
  received them all, thy Son our Saviour Jesus Christ.}

\begin{document}
\begin{prayer}[loversize=0.1]{The Thanksgiving}
  TO our prayers, \mytext
\end{prayer}

\lettrine[ante={\prelude{The Thanksgiving}},loversize=0.1]%
{T}{O} our prayers, \mytext\qquad\textit{Amen.}
\end{document}

我有这种奇怪的行为:

输出

就好像我将其lhang=1作为可选参数引入了,但我并没有这样做。这可能是什么原因造成的?

答案1

Lettrine 适用于段落:它会改变 parshape。您的环境\par末尾缺少 a,因此组在段落之前结束,并且整个段落的 lettrine 设置都会丢失。将 a 添加\par到您的 定义中\endprayer

相关内容