![在使用‘chickenize’时,如何避免‘lettrine’和‘varwidth’损坏段落?](https://linux22.com/image/454457/%E5%9C%A8%E4%BD%BF%E7%94%A8%E2%80%98chickenize%E2%80%99%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E9%81%BF%E5%85%8D%E2%80%98lettrine%E2%80%99%E5%92%8C%E2%80%98varwidth%E2%80%99%E6%8D%9F%E5%9D%8F%E6%AE%B5%E8%90%BD%EF%BC%9F.png)
尝试自动将一个符号词(如屏幕截图 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}
)
使用更简单的代码可以获得类似的结果
\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
}%
}
使用
\begin{prayer}[prelude=Іоана 1:35-51 / 1:35-51 \\ Іоана 1:35-51 / 1:35-51]{О}{дного разу} стояв Іоан та з учнів його двоє.