首字下沉会在表格单元格内产生不必要的空白空间

首字下沉会在表格单元格内产生不必要的空白空间

我正在使用 Lettrine 包在表格单元格内创建首字下沉字母。但是,这会在文本前生成一个不需要的空行(或者,文本可能垂直对齐到单元格底部)。请参阅以下最小代码(在 XeTeX 上编译):

\documentclass[a4,12pt]{article}
\usepackage{fontspec,lettrine}
\setromanfont[Mapping=tex-text]{Times New Roman}
\begin{document}
\begin{table}[h]
\begin{tabular}{p{.45\linewidth}p{.45\linewidth}}
\multicolumn{1}{c}{Left column} & \multicolumn{1}{c}{Right column} \\ \hline
\lettrine{S}{}pecial text starting with a drop cap letter. Special text starting with a drop cap letter. Special text starting with a drop cap letter. Special text starting with a drop cap letter. Special text starting with a drop cap letter. Special text starting with a drop cap letter.  &
Normal text without the drop cap. Normal text without the drop cap. Normal text without the drop cap. Normal text without the drop cap. Normal text without the drop cap. Normal text without the drop cap. Normal text without the drop cap. \\ 
\end{tabular}
\end{table}
\end{document}

结果如下: 在此处输入图片描述 有什么想法可以调整吗?我需要两个单元格垂直对齐到顶部,前面没有空行。

答案1

不必要的垂直跳跃不会出现在 E、T、M、fi 中,只会出现在 S、O、G、C 等“圆形”字母中,这些字母通常比其他大写字母略高。

建议修复:默认值\DiscardVskip对于您的示例来说太短。您可以使用以下方法将其放大到整个文档

\usepackage[novskip=1pt]{lettrine}% 需要 lettrine v.2.30

或者

\setlength{\DiscardVskip}{1pt} % 所有版本

另一个可能的修复方法是refstring\lettrine命令添加选项:\lettrine[refstring]{S}{pecial}。但是通过此修复,您会得到次优的首字下沉(略微太短)。

\lettrine{S}{}顺便说一句,不建议使用第二个 void 参数。如果您不想要小写字母,请\renewcommand*{\LettrineTextFont}{}在加载lettrine包后添加。

最后,“打破”首字下沉,编码\lettrine{\smash{S}}{},意味着对首字下沉的高度和深度向命令撒谎\lettrine,这可能会产生非常严重的副作用...我不会这么做(无论如何,\smash命令已经包含在\lettrine代码中)。

答案2

我不能说这个“修复”是否总能满足你的要求,但在这种情况下,可以\smashS应用之前\lettrine

\documentclass[a4,12pt]{article}
\usepackage{fontspec,lettrine}
\setromanfont[Mapping=tex-text]{Times New Roman}
\begin{document}
\begin{table}[h]
\begin{tabular}{p{.45\linewidth}p{.45\linewidth}}
\multicolumn{1}{c}{Left column} & \multicolumn{1}{c}{Right column} \\ \hline
\lettrine{\smash{S}}{}pecial text starting with a drop cap letter. Special text starting with a drop cap letter. Special text starting with a drop cap letter. Special text starting with a drop cap letter. Special text starting with a drop cap letter. Special text starting with a drop cap letter.  &
Normal text without the drop cap. Normal text without the drop cap. Normal text without the drop cap. Normal text without the drop cap. Normal text without the drop cap. Normal text without the drop cap. Normal text without the drop cap. \\ 
\end{tabular}
\end{table}
\end{document}

在此处输入图片描述

相关内容