我正在编写一份文档,其中我想在主要使用的字母之外加入一个辅助字母。
考虑一下代码
\documentclass{book}
\usepackage{fontspec}
\usepackage{xcolor} % für farbigen Text
\usepackage{lettrine}
\usepackage{lipsum}
\usepackage[sfdefault]{cabin}
\newcommand{\SecondaryLettrine}[5][]{%
\begingroup
\renewcommand{\LettrineFontHook}{\normalfont#2}%
\lettrine[#1]{#4}{\normalfont#3#5}%
\endgroup
}
\newcommand{\LettrineA}[2]{%
\SecondaryLettrine[lines=3,lhang=0,findent=.15em]
{\normalfont}
{\scshape}
{\color{black}#1}
{#2}%
}
\begin{document}
\Large
\thispagestyle{empty}
\setmainfont{cabin}
\noindent This is a non-indented leadoff sentence.
\vskip 10pt
\LettrineA{H}{ow} may I put the drop cap entirely to the right of the left-hand margin of the page?---lhang=0 in the preamble seems to have no effect. \lipsum[12]
\end{document}
产生
我不知道为什么新定义的字母没有从非缩进段落的起始位置开始。此外,lhang=0
在序言中似乎没有效果。
问题:我该如何纠正这个问题,以便定义的字母从非缩进段落的开始位置开始?我用编译代码lualatex
。
谢谢。
答案1
\lettrine
需要在段落开始前使用,并且其设置需要在整个段落的范围内,因此段落形状在结尾处有效。您的示例\lettrine
在第一行之后,并且在使用 letterine 之前就结束了一个组。最安全的做法是删除分组,但我保留了它,但在这里推迟了组的结束,因为我不知道该组的意图。
\documentclass{book}
\usepackage{fontspec}
\usepackage{xcolor} % für farbigen Text
\usepackage{lettrine}
\usepackage{lipsum}
\usepackage[sfdefault]{cabin}
\newcommand{\SecondaryLettrine}[5][]{%
\begingroup
\renewcommand{\LettrineFontHook}{\normalfont#2}%
\lettrine[#1]{#4}{\normalfont#3#5}%
\def\par{\endgraf\endgroup}%
}
\newcommand{\LettrineA}[2]{%
\SecondaryLettrine[lines=3,lhang=0,findent=.15em]
{\normalfont}
{\scshape}
{\color{black}#1}
{#2}%
}
\begin{document}
\Large
\thispagestyle{empty}
\setmainfont{cabin}
\noindent This is a non-indented leadoff sentence.
\vskip 10pt
\LettrineA{H}{ow} may I put the drop cap entirely to the right of the left-hand margin of the page?---lhang=0 in the preamble seems to have no effect. \lipsum[12]
\end{document}