错误:\includegraphics 中“未定义控制序列”,高度

错误:\includegraphics 中“未定义控制序列”,高度

我正在使用figuresubfigure环境。里面subfigure我正在使用includegraphicsfiguresubfigure结构如下所示:

\begin{figure}
\begin{subfigure}[b]{.25\textwidth}
    \centering
    \includegraphics[width=.9\linewidth,keepaspectratio]{building1}
    \caption{\textit{\small{building1}}}
    \label{fig:1a}    
\end{subfigure}
\begin{subfigure}[b]{.75\textwidth}
    \centering
    \includegraphics[width=.9\linewidth,height=100\lineheight pt,keepaspectratio]{building2}
    \caption{\textit{\small{building2}}}
    \label{fig:1b}  
\end{subfigure}
\caption{\textit{\small{Buildings}}}
\label{fig:1}
\end{figure}

对于第一个subfigure,一切正常。但对于第二个,我得到了构建错误:Undefined control sequence. ...t pt,keepaspectratio]{building2}。问题似乎在于height在第二个中使用属性,因为当我从第二个中subfigure删除属性时,没有出现构建错误。heightsubfigure

这是什么原因? 有没有办法继续使用heightwidth属性includegraphics

附言:我正在使用\usepackage{subcaption}

答案1

默认情况下,LaTeX 没有参数\lineheight。我猜你可能指的是\baselineskip文本中对应行点之间的垂直间距。

\lineheight用替换\baselineskip可消除错误,但对您而言没有效果,因为您还指定了widthkeepaspectratio。您应该删除其中一个额外规范以允许调整大小。我选择删除keepaspectratio以下内容。

然后您会发现它100\baselineskip超过了标准页面高度,因此在下面的示例中我将其减少到10\baselinkeskip

示例输出

\documentclass{article}

\usepackage{graphicx,subcaption}

\captionsetup{font=small,textfont=it}

\begin{document}
\begin{figure}
\begin{subfigure}[b]{.25\textwidth}
    \centering
    \includegraphics[width=.9\linewidth,keepaspectratio]{example-image-a}
    \caption{Building 1}
    \label{fig:1a}
\end{subfigure}
\begin{subfigure}[b]{.75\textwidth}
    \centering
    \includegraphics[width=.9\linewidth,height=10\baselineskip]{example-image-b}
    \caption{Building 2}
    \label{fig:1b}
\end{subfigure}
\caption{Buildings}
\label{fig:1}
\end{figure}
\end{document}

在上面,我还使用\captionsetup命令来指定标题的统一样式。这样就无需\small\textit在每种情况下都进行书写,从而提高了一致性。

相关内容