tikz \draw 未在 \lettrine 内定义错误

tikz \draw 未在 \lettrine 内定义错误

背景:我使用 Overleaf 作为我的编辑器/编译器平台。由于它是一台工作电脑,所以我没有本地编译器。

我正在尝试在段落的左上角添加一个小图像。基本上,它的作用类似于首字下沉,但它是 tikzpicture 而不是字母。我想编译我的文档而不出错,但这个错误让我很困惑。有人能解释一下为什么我会出错以及如何修复它吗?

! Undefined control sequence.
<write> ...ght \space (\begin {tikzpicture} \draw 
                                                  (0,0) rectangle (1.5cm,1.5...
l.18 }{}
        \lipsum[1]% error occurs on this line
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

Overleaf 上的编译器报告了这个错误,我的理解\draw是未定义。如果你注释掉带有 的行\draw,错误就会消失。更奇怪的是,如屏幕截图和示例项目所示,它无论如何都会绘制图像。

\documentclass{article}

\usepackage{lettrine}
\usepackage{tikz}

\usepackage{lipsum}% for example text

\begin{document}

\begin{tikzpicture}
    \draw (0,0) rectangle (1.5cm,1.5cm);
\end{tikzpicture}% this drawing is fine

\lettrine[lines=4]{%
\begin{tikzpicture}
    \draw (0,0) rectangle (1.5cm,1.5cm);
\end{tikzpicture}%
}{}\lipsum[1]% error occurs on this line

\end{document}

截图自 Overleaf

这是在 Overleaf 上托管的示例https://www.overleaf.com/read/tpjcwbcpwwmw

答案1

主要问题在于将第二个参数留空。A\strut就可以了。但是,要消除错误消息,请使用保存框。

\documentclass{article}

\usepackage{lettrine}
\usepackage{tikz}

\usepackage{lipsum}% for example text

\newsavebox{\letterbox}

\begin{document}

\savebox{\letterbox}{\begin{tikzpicture}
    \draw (0,0) rectangle (1.5cm,1.5cm);
\end{tikzpicture}}%

\lettrine[lines=4]{\usebox\letterbox}{\strut}
\lipsum[1]

\end{document}

相关内容