![为什么 { } 会导致 Latex 在 \vskip 之后为另一个 Lettrine 腾出空间?](https://linux22.com/image/438831/%E4%B8%BA%E4%BB%80%E4%B9%88%20%7B%20%7D%20%E4%BC%9A%E5%AF%BC%E8%87%B4%20Latex%20%E5%9C%A8%20%5Cvskip%20%E4%B9%8B%E5%90%8E%E4%B8%BA%E5%8F%A6%E4%B8%80%E4%B8%AA%20Lettrine%20%E8%85%BE%E5%87%BA%E7%A9%BA%E9%97%B4%EF%BC%9F.png)
下面的代码使用了\textbf{}
来说明,但实际上,{}
会产生同样的现象。
\documentclass{book}
\usepackage{lettrine}
\usepackage{xcolor}
\input GoudyIn.fd
\newcommand*\initfamily{\usefont{U}{GoudyIn}{xl}{n}}
\begin{document}
\Large
\lettrine[lines=3,loversize=0.25,findent=2pt]{\color{red}{\initfamily{O}}}{}
\textbf{Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc?
\vskip 5pt
\noindent Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc?}
\end{document}
问题:有人能解释为什么会发生这种情况吗?备注:如果我删除\textbf{
代码末尾的和右括号---一切都很好。但是,如果我只删除textbf
但保留两个括号,则会发生同样奇怪的事情,但当然没有粗体。
答案1
\vskip
是不应在 LaTeX 文档中使用的 tex 基元(并且 lettrine 无法真正支持在组内开始段落)如果您使用标准 latex\\[5pt]
构造在强制换行符后添加 5pt(这可能是您的意图,尽管您没有说)它不会出错。出于某种原因,我得到的首字母比您显示的要大?
\documentclass{book}
\usepackage{lettrine}
\usepackage{xcolor}
\input GoudyIn.fd
\newcommand*\initfamily{\usefont{U}{GoudyIn}{xl}{n}}
\begin{document}
\Large
\lettrine[lines=3,loversize=0.25,findent=2pt]{\color{red}{\initfamily{O}}}{}
\textbf{Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc?\\[5pt]
Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc? Quid est hoc?}
\end{document}