我正在使用figure
和subfigure
环境。里面subfigure
我正在使用includegraphics
。figure
和subfigure
结构如下所示:
\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
删除属性时,没有出现构建错误。height
subfigure
这是什么原因? 有没有办法继续使用height
和width
属性includegraphics
?
附言:我正在使用\usepackage{subcaption}
。
答案1
默认情况下,LaTeX 没有参数\lineheight
。我猜你可能指的是\baselineskip
文本中对应行点之间的垂直间距。
\lineheight
用替换\baselineskip
可消除错误,但对您而言没有效果,因为您还指定了width
和keepaspectratio
。您应该删除其中一个额外规范以允许调整大小。我选择删除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
在每种情况下都进行书写,从而提高了一致性。