首字下沉 (lettrine)

首字下沉(*大写字母*,或法语中的 *lettrine*)是一个足够大的开头初始集,可以插入段落的前几行 - 您在书籍章节开头看到的装饰性华丽。在 LaTeX 中,事实上的标准是 Daniel Flipo 的 lettrine 包。本页介绍如何使用\lettrine以及调整大写字母大小、悬垂和字体的关键选项。

基本用法

在序言中加载\usepackage{lettrine},然后以\lettrine[options]{T}{he rest} 开始段落。有两个强制参数。第一个 {T}删除的首字母 本身;第二个 {he rest} 是其后面的文本,默认情况下设置为 小写字母。然后段落正文自动环绕在大写字母的右侧。

latex
\documentclass{article}
\usepackage{lettrine}
\usepackage{lmodern}      % fully scalable fonts
\begin{document}
\lettrine{L}{orem} ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua.
\end{document}

编译此文件会在左边距放置一个大的L,两行高,“orem”以小写字母运行,段落在其周围流动。注意分割:{L}{orem} 之间没有空格 - 第一个单词的其余部分直接进入第二个参数。

一个警告:因为lettrine 将初始缩放到任意大小,所以它需要一种完全可缩放的字体。默认情况下,Computer Modern (CM) 和 EC 字体仅附带一组有限的尺寸,因此安全的选择是添加 \usepackage{lmodern} (Latin Modern),或使用 PostScript/OpenType 字体,例如 Palatino 或 Times。如果必须保留CM,则加载\usepackage{type1cm};对于 EC,\usepackage{type1ec}

关键选项

您可以使用括号内以逗号分隔的 选项 来调整外观。您最常接触到的三个是 lines=,它设置首字母的高度; lhang=,让圆形字母挂在左边距;和loversize=,将上限放大到行高之外。

选项含义默认
lines首字母高多少行2
lhang延伸到左边距的大写宽度的分数 (0–1);适用于 O、C 等圆形字母0
loversize扩大帽子高度的分数(−1 到 1); 0.1 表示高 10%0
lraise将盖子升高其高度的这一部分0
findent大写字母与第一行文本之间的间隙0pt
nindent第二行及后续行的缩进0.5em
slope换行文本左边缘的斜率(对于 A、V 等倾斜字母)0pt
ante在瓶盖之前设置的文本(例如法式开头 guillemet)

您还可以在加载包时更改这些默认值:\usepackage[lines=3]{lettrine} 使三行成为文档范围的默认值。为单个\lettrine提供的选项然后覆盖这些默认值。

一个有效的例子

这里的上限是三行高,并且最初的 T 将其宽度的 20% 悬挂在左边距中。像 T 这样的字母,其横杆从左上角伸出,当允许稍微悬垂时看起来会更紧,从而缩小与正文的间隙。

latex
\lettrine[lines=3, lhang=0.2]{T}{his is} the opening paragraph of
a chapter. The initial drops three lines deep, the first word
runs on in small capitals, and the remaining text wraps neatly
around the dropped capital until the paragraph clears it.

结果是一个大的 T,三行文本高,其左上角正好伸入页边距; “his is”以小写字母继续,正文从大写字母的右侧向下延伸,直到段落将其清除。同样,对于 AV 等倾斜字母,slope= 让文本的左边缘遵循字母的轮廓(请参阅官方示例 \lettrine[lines=4, lraise=0.1, nindent=0em, slope=-.5em]{V}{oici})。

瓶盖和瓶盖字体

首字母的字体是通过\LettrineFontHook 钩子设置的,您可以使用\renewcommand 进行更改。它的主体使用 LaTeX 的低级字体命令 - 例如,这将单独的大写字母设置为 Palatino 粗体、扩展、倾斜:

latex
\renewcommand{\LettrineFontHook}{\fontfamily{ppl}\fontseries{bx}\fontshape{sl}}

在LuaLaTeX 或XeLaTeX 上,您可以使用fontspec 更轻松地完成此操作:\renewcommand{\LettrineFontHook}{\fontspec{LinLibertine_I.otf}} 切换到Linux Libertine 的装饰性缩写。同样的钩子也可以给帽子重新着色——\renewcommand{\LettrineFontHook}{\color{gray}{0.5}} 使后面的每个初始都变成灰色。

连续文本(第二个参数)由\LettrineTextFont 控制,其默认值为\scshape(小型大写字母)。要删除小型大写字母,请重新定义它,例如\renewcommand{\LettrineTextFont}{\rmfamily}。首字母本身的大小是根据行数自动计算的,因此无需直接触摸\LettrineFont - 所有自定义都通过挂钩进行。

它的工作原理和替代方案

\lettrine 在某些地方有效,但在其他地方无效。它在quotequotationabstract 中起作用,但在verse 中不起作用,而在center 中仅与[lines=1] 一起起作用。它也在列表中不起作用。在环境中使用它时,必须在该环境内 内结束大写段落(如果需要,添加\par)。

作为替代方案,如果您希望初始值为图像,lettrine 自己的 image=true 选项可以处理该问题(它需要 graphicx)。还有长期存在的 Drop 包,以及将 \hangindent 与放大字母组合的手动路线 - 但一旦您需要控制行数、悬垂和字体,lettrine 是当今最可靠的选择。

在文本准备好之前不要进行装饰

首字下沉不是一种理解功能;装饰在章节开头奠定了基调。如果您提前初始化该装饰,则每个段落长度的编辑都可能会迫使您重新调整lineslhang。不要在论文、报告或规范中使用它;仅在页面样式欢迎装饰的论文、小册子或章节开头添加它在末尾。

  • 位置: 将其限制在章节开头的第一段;避免列表、诗句和段落太短而无法支持删除。
  • 文本确定前:不要插入\lettrine;只有在段落长度和中断稳定后才进行调整。
  • 对于复制和搜索: 更喜欢文本首字母而不是图像首字母。
  • 对于日语开头: 首先决定西式首字下沉是否适合页面;如果没有,请改用标题大小或间距。