我通常使用如下图形
\begin{figure}[!t}
\subfigure[subcap1]{
\includegraphics[width=.9\linewidth]{filename.eps}
\label{lab1}
}\\\subfigure[subcap2]{
\includegraphics[width=.9\linewidth]{filename.eps}
\label{lab2}
}\\\subfigure[subcap3]{
\includegraphics[width=.9\linewidth]{filename.eps}
\label{lab3}
}\caption{cap}
\end{figure}
但是当我将纸张类型从2列改为1列时,数字会变得太大。 有没有像下面这样的方法?
- 当我使用 2 列纸时,宽度为 .9\linewidth。
- 当我使用 1 列纸时,宽度是 .4\linewidth?
答案1
您可以使用类提供的方法来对维度进行条件设置\ifCLASSOPTIONonecolumn
:
\includegraphics
[width = \ifCLASSOPTIONonecolumn .4\linewidth\else.9\linewidth\fi]
{example-image}
使用onecolumn
选项集\CLASSOPTIONonecolumntrue
,否则为\CLASSOPTIONonecolumnfalse
。有一个twocolumn
补集,但它们是互斥的,因此您可以使用一个。
答案2
软件包subfigure
已过时。其取代版本是subfig
。使用它的语法是:
\documentclass{IEEEtran}
\usepackage{subfig}
\usepackage[demo]{graphicx}
\begin{document}
\begin{figure}[ht]
\subfloat[subcap1]{\includegraphics[width=.9\linewidth]{filename}
\label{lab1}}\\
\subfloat[subcap2]{\includegraphics[width=.9\linewidth]{filename}
\label{lab1}}\\
\subfloat[subcap2]{\includegraphics[width=.9\linewidth]{filename}
\label{lab1}}
\caption{cap}
\end{figure}
\end{document}
甚至更好,subcaption
但它的语法更加不同:
\documentclass{IEEEtran}
\usepackage[demo]{graphicx}
\usepackage{subcaption}
\begin{document}
\begin{figure}[ht]
\begin{subfigure}{0.9\linewidth}
\includegraphics[width=\linewidth]{filename}
\caption{subcap1}
\label{lab1}
\end{subfigure}
\begin{subfigure}{0.9\linewidth}
\includegraphics[width=\linewidth]{filename}
\caption{subcap3}
\label{lab2}
\end{subfigure}
\begin{subfigure}{0.9\linewidth}
\includegraphics[width=\linewidth]{filename}
\caption{subcap3}
\label{lab3}
\end{subfigure}
\caption{cap}
\end{figure}
\end{document}
在两种情况下,图形的宽度都将适应列的宽度。