无法将 csquote 的 \enquote 与 lettrine 一起使用

无法将 csquote 的 \enquote 与 lettrine 一起使用

我不太清楚如何让 csquote\enquote与 lettrine 完美配合。我应该手动输入吗(参见下面的代码块)?(请注意,我是手动输入的,因为 lettrine 中甚至连 `` 都不起作用)

\documentclass[14pt]{extarticle}
\usepackage{fontspec,lettrine}
\setmainfont{EB Garamond}
\newfontfamily{\Iniciales}{EB Garamond Initials}
\renewcommand{\LettrineFontHook}{\Iniciales}
\setcounter{DefaultLines}{3}
\usepackage{csquotes}

\begin{document}
\lettrine{“L}{orem} ipsum dolor sit.” Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit.

\end{document}

上面带有代码的输出截图

编辑:EB Garamond Initials 已经提供了引号的正确定位。我只是想看看是否可以将 \enquote 与 lettrine 一起使用。

答案1

您不能用于\enquote此工作。我建议使用\quotelettrine命令。

\documentclass[14pt]{extarticle}
\usepackage{fontspec,lettrine}
\usepackage[
  style=french,
]{csquotes}

\setmainfont{EB Garamond}
\newfontfamily{\Iniciales}{EB Garamond Initials}

\renewcommand{\LettrineFontHook}{\Iniciales}
\setcounter{DefaultLines}{3}
\renewcommand{\DefaultLraise}{0.3}
\renewcommand{\DefaultLoversize}{-0.2}

\makeatletter
\NewDocumentCommand{\quotelettrine}{mmm}{%
  \lettrine[ante=\csq@thequote@oopen]{#1}{#2}#3\csq@thequote@oclose
}
\makeatother

\begin{document}

\quotelettrine{L}{orem}{ ipsum dolor sit.} Lorem ipsum dolor sit. Lorem ipsum dolor sit. 
Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. 
Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. 
Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. 
Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. 
Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit. 
Lorem ipsum dolor sit. Lorem ipsum dolor sit.

\end{document}

在此处输入图片描述

如果我注释掉该style=french选项,我会得到

在此处输入图片描述

如果希望引号位于左边距,请将代码更改为

\makeatletter
\NewDocumentCommand{\quotelettrine}{mmm}{%
  \lettrine[ante=\llap{\csq@thequote@oopen}]{#1}{#2}#3\csq@thequote@oclose
}
\makeatother

在此处输入图片描述

答案2

\lettrine命令在其第一个参数周围使用一个框(\llap),使其与\enquote命令完全不兼容(重叠的框和组)。

顺便说一下,应该使用选项ante来对输入的引号进行编码:

\lettrine[ante=``]{L}{orem} ipsum dolor sit.’’ Lorem ipsum...

因为\Iniciales字体没有引号字符。

L正深度,你需要提高一点,你可以试试

\lettrine[ante=``,lraise=0.2]{L}{orem} ipsum dolor sit.’’ Lorem ipsum...

得到这个输出:

在此处输入图片描述

相关内容