我的问题:我希望我的 Latex 文档中的所有图像的高度和宽度都合适。确切地说,我希望纵向和横向图像在文档中获得预定义的大小。我通过以下样式实现了此目的:
\RequirePackage{ifthen,graphicx}
\newlength{\widthW}
\newlength{\heightH}
\newcommand\includegraphicsJustified[1]{
\settowidth{\widthW}{\includegraphics{#1}}
\settoheight{\heightH}{\includegraphics{#1}}
\ifthenelse{\lengthtest{\widthW > \heightH}}{
\includegraphics[width=0.40\textwidth]{#1}\\
}{
\includegraphics[height=0.35\textheight]{#1}\\
}
}
第二件事是,我想在 \subfigure 中使用它,因为我有很多必须并排放置的图像。
问题是,一切都运行良好,但当我尝试将这些图像置于中心时,我得到了:
!LaTeX 错误:出现错误 — — 可能缺少 \item。
这是我的代码:
\begin{figure}
\centering
\subfigure[comment]{\includegraphicsJustified{images/img1.png} }
\subfigure[comment]{\includegraphicsJustified{images/img2.png} }
\caption{whole comment}
\end{figure}
再次注意:没有 \centering 命令它也可以工作。
我尝试将其添加到我的样式中,以自动将所有图形元素置于中心:
\makeatletter
\let\oldfigure\figure
\def\figure{\@ifnextchar[\figure@i \figure@ii}
\def\figure@i[#1]{\oldfigure[#1]\centering}
\def\figure@ii{\oldfigure\centering}
\makeatother
这很好用,但是当我使用 \subfigure 时则不行:
!LaTeX 错误:出现错误 — — 可能缺少 \item。
没有 \subfigure 我可以使用 \includegraphicsJustified{} 命令,它就会居中。另请注意:当我将 subfigure 与普通 \includegraphics{} 一起使用时,它可以正常工作!
有谁可以解释这一点或者能提供更好的解决方案吗?
答案1
尝试将子图放入小页面中,如下所示,
\begin{figure}
\centering
\begin{minipage}{0.5\textwidth}
\subfigure[comment]{\includegraphicsJustified{images/img1.png} }
\subfigure[comment]{\includegraphicsJustified{images/img2.png} }
\end{minipage}
\caption{whole comment}
\end{figure}
我坚信你能完成剩下的微调工作。
更多详情,请参阅https://texfaq.org/FAQ-errmissitem。
希望这可以帮助。