这是我的 MWE:
\documentclass[12pt,oneside,table,xcdraw]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[table,xcdraw,svgnames,dvipsnames]{xcolor}
\usepackage{lettrine}
\definecolor{LettrineRed}{RGB}{137,0,34}
% The following command WORKS!
\renewcommand{\LettrineFontHook}{\color[gray]{0.5}}
% The following command does NOT Work!
% \renewcommand{\LettrineFontHook}{\textcolor{LettrineRed}}
\begin{document}
\lettrine[lines=3]{T}{his is an example} of what happens when attempting to use LettrineFontHook to set the color of the first character to a color, in this case LettrineRed (defined as {RGB}{137,0,34})
\end{document}
我需要什么语法来将 Lettrine 首字下沉字符的颜色指定为 LettrineRed(定义为 {RGB}{137,0,34})?
我尝试使用\LettrineFontHook
with\textcolor{LettrineRed}
代替\color[gray]{0.5}
,但出现错误:
! Argument of \fontsize has an extra }
编译时出现。
谢谢。
答案1
看来,使用自定义颜色(在本例中为上述 MWE 中定义的 LettrineRed)在使用 Lettrine 包时更改初始字符颜色的正确语法如下:
\renewcommand{\LettrineFontHook}{\color{LettrineRed}}
而不是 MWE 中提到的错误语法:
\renewcommand{\LettrineFontHook}{\textcolor{LettrineRed}}
尝试使用 \color[gray]{0.5} 语法(带方括号)作为模板将 \textcolor 替换为 \color 时发生错误。
有效的语法只是使用 \color 选项,并在自定义颜色周围使用花括号 { },而不是方括号 [ ]。