為什麼這個字母會撞到邊緣?

為什麼這個字母會撞到邊緣?

考慮 MWE之前的一個問題

\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

相關內容