在使用‘chickenize’时,如何避免‘lettrine’和‘varwidth’损坏段落?

在使用‘chickenize’时,如何避免‘lettrine’和‘varwidth’损坏段落?

尝试自动将一个符号词(如屏幕截图 1 中的箭头所示)从行尾放入 scrbook 中新行的开头(根据主题排版规则),适用于所有文档。

在此处输入图片描述

我已经把

    \usepackage{chickenize}
    \suppressonecharbreak

对于一个符号词来说它工作得很好,但是......

\documentclass[a5paper,DIV=calc,twoside=true,fontsize=14pt,]{scrbook}

\addtokomafont{chapter}{\color{Red}}
\addtokomafont{section}{\color{Red}}
\addtokomafont{subsection}{\color{Red}}
\usepackage{bookman}
\usepackage{typearea}
\usepackage{scrlayer-scrpage}
\clearpairofpagestyles % remove the default elements of headings and plain pages
\ohead{\pagemark}      % page number right aligned in the head of headings pages only

    
\usepackage{fontspec}
\setmainfont{Brill}
\usepackage[english,ukrainian]{babel}
\usepackage[babel=true]{microtype}
\usepackage{chickenize}
\suppressonecharbreak

\usepackage[dvipsnames]{xcolor}
\usepackage{ragged2e}
\usepackage{indentfirst}
\usepackage{auxhook}
\usepackage{lettrine}
\usepackage[all]{nowidow}
\usepackage{multicol}

\usepackage{blindtext}
\emergencystretch=10pt
\clubpenalty=10000 
\widowpenalty=10000

%==============Asterix footnote==================
\usepackage[symbol*]{footmisc}
\setfnsymbol{wiley}

%===============Asterix footnote counter reset===========

   \makeatletter
\@addtoreset{footnote}{section}
\makeatother

%-------------Sections format-----------
\setkomafont{sectioning}{\bfseries}
\setcounter{secnumdepth}{\chapternumdepth}

    \RedeclareSectionCommand[font=\Large,
    afterindent=false,
  beforeskip=14pt,% skip before section heading
  afterskip=14pt,% skip after section heading
  runin=false% freestanding heading
]{section}


\RedeclareSectionCommand[font=\normalsize,
   afterindent=false,
 beforeskip=14pt,% skip before section heading
 afterskip=14pt,% skip after section heading
 runin=false% freestanding heading
]{subsection}

\let\originalsectionlinesformat\sectionlinesformat

\renewcommand\sectionlinesformat[4]{%
 \color{Red}\Ifstr{#1}{section}
   {\centering #3#4}% centers section headings
   {\originalsectionlinesformat{#1}{#2}{#3}{#4}}% original definition for other section levels
}

\let\originalsectionlinesformat\sectionlinesformat

\renewcommand\sectionlinesformat[4]{%
 \color{Red}\Ifstr{#1}{subsection}
   {\centering #3#4}% centers section headings
   {\originalsectionlinesformat{#1}{#2}{#3}{#4}}% original definition for other      section levels
}

%----------SNIPSETS------
\newcommand{\Anagnosma}[1]{%
\begin{center}
   \textbf{\color{Red}\normalsize #1} \end{center}}

\newcommand{\AnagnosmaTwo}[1]
{\begin{center}
   {#1} \end{center}}

\newcommand{\redc}[1]{%
\textcolor{Red}{#1}}

\newcommand{\redcbt}[1] 
{\textbf{\textcolor{Red}{#1}}}

\newcommand{\Bukva}[1]
    {\lettrine[grid=true, lines=2]{\textbf{\textcolor{Red}{#1}}}}

%=======Letrine with Gospel in two line=======
\usepackage{varwidth}
\makeatletter
\define@key{L}{prelude}{%
  \renewcommand*{\L@ante}{%
    \quad
    \makebox[\L@prewidth][c]{%
      \begin{varwidth}[t]{12em}
      \em\footnotesize\color{Red} #1
      \end{varwidth}%
    }\quad
  }%
}
\define@key{L}{prewidth}{\renewcommand*{\L@prewidth}{#1}}
\newcommand{\L@prewidth}{\width}
\renewcommand{\DefaultLoversize}{0.15}
\renewcommand{\LettrineFontHook}{\color{Red}{}}
\makeatother
%==========================================
 
\usepackage{xparse}
 
\NewDocumentEnvironment{prayer}{O{}mm}{%
  \lettrine[#1]{#2}{#3}%
}%==================

\begin{document}
    \noindent
        \pagebreak
\section{БОЖЕСТВЕННЕ ТА СВЯТЕ\\ЄВАНГЕЛІЄ
ВІД ІОАНА}
    
\subsection{У середу Світлого Тижня}

    \begin{prayer}[prelude=Іоана 1:35-51]{О}{дного разу} стояв Іоан та з учнів його двоє.
 І, поглянувши на Ісуса, Який ішов, говорить: «Ось Агнець Божий».
І почули два учні, як Він говорив, і пішли за Ісусом.
Ісус же, обернувшись і побачивши, що вони йдуть за Ним, говорить їм: «Чого шукаєте?» Вони ж сказали Йому: «Раббі (що в перекладі означає: “учителю”), де живеш?»
Говорить їм: «Приходьте й подивіться». Вони прийшли й побачили, де Він живе; і в Нього пробули день той. Було близько десятої години.
Один із тих двох, які почули від Іоана про Ісуса і пішли за Ним, був Андрій, брат Симона Петра.
Він перший знаходить брата свого Симона й каже йому: «Ми знайшли Месію (що перекладається: “Христос”)!»
І привів його до Ісуса. Поглянувши на нього, Ісус сказав: «Ти — Симон, син Іони, ти наречешся Кифа (що перекладається: “Петро”)».
Наступного дня захотів Ісус вийти в Галілею, і знаходить Филипа і каже йому: «Йди за Мною».
Був же Филип з Віфсаїди, з міста Андрія й Петра.
Знаходить Филип Нафанаїла і каже йому: «Того, про Якого написав Мойсей у Законі і пророки, ми знайшли — Ісуса, сина Йосифа, з Назарета!»
І сказав йому Нафанаїл: «Хіба з Назарета може щось добре бути?» Говорить йому Филип: «Приходь і подивись».
Побачив Ісус Нафанаїла, який ішов до Нього, і говорить про нього: «Ось воістину ізраїльтянин, в якому нема підступності».
Говорить Йому Нафанаїл: «Звідки Ти мене знаєш?» Відповів Ісус і сказав йому: «Перш ніж тебе Филип покликав, коли ти був під смоківницею, Я побачив тебе».
Відповів Нафанаїл і каже Йому: «Раббі, Ти — Син Божий, Ти — Цар Ізраїля!»
Відповів Ісус і сказав йому: «Ти віриш, тому що Я сказав тобі: Я побачив тебе під смоківницею? Більше цього побачиш».
І говорить йому: «Амінь, амінь кажу вам: віднині побачите небо відкрите і Ангелів Божих, які піднімаються і спускаються до Сина Людського».

\end{prayer}
\end{document}

lettrine它破坏了带有和的段落的开头varwidth(屏幕截图 2)。如何避免这种损害?

在此处输入图片描述

答案1

在内容中添加括号varwidth可以解决问题。

\define@key{L}{prelude}{%
    \renewcommand*{\L@ante}{%
        \quad
        \makebox[\L@prewidth][c]{%
            \begin{varwidth}[t]{12em}
                    {\em\footnotesize\textcolor{Red}{#1}}% changed <<<<<<<<<<<<<<<<<<<
            \end{varwidth}%
        }
    \quad
    }%
}

(使用\setmainfont{Linux Libertine O}

A

使用更简单的代码可以获得类似的结果

\define@key{L}{prelude}{%
    \renewcommand*{\L@ante}{%
        \quad\raisebox{-0.5\baselineskip}{\em\footnotesize\textcolor{Red}{#1}}\quad%
    }%
}

更新后续问题:序曲中的两行(长)诗

\define@key{L}{prelude}{%
    \renewcommand*{\L@ante}{%
        \quad
        \raisebox{-0.5\baselineskip}{%
        \begin{varwidth}[c]{12em}
                {\em\footnotesize\textcolor{Red}{#1}}% changed <<<<<<<<<<<<<<<<<<<
        \end{varwidth}}%
    \quad
    }%
}

C

使用

    \begin{prayer}[prelude=Іоана 1:35-51 / 1:35-51 \\ Іоана 1:35-51 / 1:35-51]{О}{дного разу} стояв Іоан та з учнів його двоє.

相关内容