\textswab
我正在尝试使用以下命令生成 Schwabacher lettrine :
\documentclass[12pt]{book}
\usepackage{xcolor}
\usepackage{type1cm,lettrine}
\usepackage{yfonts}
\renewcommand{\LettrineFontHook}{\color{brown!42!black}\textswab{}}
\renewcommand{\LettrineTextFont}{\textswab}
\begin{document}
\Huge
\thispagestyle{empty}
\lettrine[lines=2,loversize=.65,findent=-.13em,nindent=2.5pt]{T}{exts:wab Lettrine}
\end{document}
但我得到以下输出:
问题:过去,我使用除 之外的字体时,这种类型的代码也能正常工作\textswab
。有人能看出我可能做错了什么吗?我正在使用 进行编译lualatex
。
谢谢。
答案1
这里的问题是你想使用\swabfamily
,它切换到Schwabacher 直到组或环境结束,而不是\textswab{}
,这只会影响括号内的文本或以下标记。
\documentclass[12pt]{book}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
\usepackage{lettrine}
% Workaround for the limited sizes of uyswab.fd:
\DeclareFontFamily{U}{yswab}{}
\DeclareFontShape{U}{yswab}{m}{n}{
<->yswab }{}
\usepackage{oldgerm}
\renewcommand{\LettrineFontHook}{\color{brown!42!black}\swabfamily}
\renewcommand{\LettrineTextFont}{\swabfamily}
\begin{document}
\thispagestyle{empty}
\lettrine[lines=2,loversize=.65,findent=-.13em,nindent=2.5pt]{T}{exts:wab Lettrine}\\
A line of Computer Modern
\end{document}
我稍加改动,用 替换了yfonts
,oldgerm
该软件包是核心 LaTeX 发行版的一部分,并且仍在维护中。无论使用哪个软件包,字体的常用定义都只声明了几种有限的字体大小(这是原始 METAFONT 设计的保留),因此需要覆盖 中的声明uswab.fd
才能启用\lettrine
所需的可缩放字体大小。
答案2
如果您使用luatex
或进行编译xetex
,则应使用 Opentype 字体(.ttf 或 .otf)。在“Fraktur”字体中,我知道其中两种:UnifrakturMaguntia.ttf
:(http://unifraktur.sourceforge.net/maguntia.html) 和QTFraktur.otf
(包含在 TeXLive 中)。以下是示例:
\documentclass[12pt]{book}
\usepackage{xcolor}
\usepackage{lettrine}
\usepackage{fontspec}
\setmainfont{UnifrakturMaguntia.ttf}
%\setmainfont{QTFraktur.otf}
\renewcommand{\LettrineFontHook}{\color{red}}
\begin{document}
\thispagestyle{empty}
\lettrine[lines=2,loversize=.65,findent=-.13em,nindent=2.5pt]{T}{extswab Lettrine}
\end{document}
输出:
编辑2022/07/20:yfonts 现在以 OpenType 格式提供,因此您只需输入:
\documentclass[12pt]{book}
\usepackage{xcolor}
\usepackage{lettrine}
\usepackage{oldgerm-otf}
\renewcommand{\LettrineFontHook}{\color{brown!42!black}\swabfamily}
\renewcommand{\LettrineTextFont}{\swabfamily}
\begin{document}
\thispagestyle{empty}
\lettrine[lines=2,loversize=.65,findent=-.13em,nindent=2.5pt]{T}{exts:wab Lettrine}\\
A line of Computer Modern
\end{document}
输出:
请参阅文档文件yfonts-otf.pdf
以了解更多详细信息。