使用 elsarticle 类中的 subfloat 环境调整图形大小

使用 elsarticle 类中的 subfloat 环境调整图形大小

我使用 elsarticle 类和 subfig 包来编写我的文章,并使用 subfloat 环境来包含两张图片。但是,图片的缩放比例完全错误,图形看起来非常大。

观察结果:

  1. 无论我在 \scalebox{} 参数中使用什么值,数字总是被夸大。事实上,更改 \scalebox{} 参数似乎对图像的大小没有影响。
  2. 只需将类从 elsarticle 更改为 article 即可确保图形正确缩放。
  3. 仅当我使用 pdfLaTex 时才会出现此图像大小问题,使用 XeLaTex 进行编译完全可以消除此问题,但我不能使用 XeLaTex,因为文档要提交给 ArXiv。

那么,在 elsarticle.cls 类中,是否有某种确定的方法来调整 subfloat 环境中的图形大小?下面提供了我的最小工作示例(尽管这会产生上面讨论的缩放错误)。

\documentclass[preprint, 3p, number]{elsarticle}
\usepackage[dvips]{color}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage[font=footnotesize,labelfont=bf]{caption}
\begin{document}
\begin{frontmatter}
\end{frontmatter}

\section{Section 1}
\begin{figure} [H]
\begin{raggedleft}
\qquad \quad
\subfloat[]{\scalebox{0.29}{\includegraphics{Rectangle.pdf}}}
\qquad\qquad
\subfloat[]{\scalebox{0.29}{\includegraphics{Circle.pdf}}}
\end{raggedleft}
\caption{The figures to be shown }
\label{A1E}
\end{figure} 
\begin{thebibliography}{99}
\end{thebibliography} 
\end{document}

我对此确实非常困惑,如果能提供任何帮助我将不胜感激。非常感谢。

答案1

据我从您的文章中得知,您不需要该subfig软件包的任何功能;您只需要一个figure可以显示两幅图像的软件包,对吗?如果是这样,只需去掉\subfig包装器并将图形的宽度表示为整体文本宽度的分数,而不是原始设计大小的分数。另外,除非您要编译到文件.dvi,否则请用\usepackage[dvips]{color}替换\usepackage[pdftex]{color}

在此处输入图片描述

\RequirePackage[demo]{graphicx} % just for this example
\documentclass[preprint, 3p, number]{elsarticle}
\usepackage[pdftex]{color}
\usepackage[font=footnotesize,labelfont=bf]{caption}
\begin{document}
\begin{figure}
\includegraphics[width=0.48\textwidth]{Rectangle.pdf}
\hspace*{\fill}
\includegraphics[width=0.48\textwidth]{Circle.pdf}
\caption{The figures to be shown } \label{A1E}
\end{figure} 
\end{document}

附录:如果您确实需要subfigure在整体内使用单独的 s figure,我建议您使用该subcaption包(及其subfigure环境),因为您已经加载了该caption包。

在此处输入图片描述

\RequirePackage[demo]{graphicx} % just for this example
\documentclass[preprint, 3p, number]{elsarticle}
\usepackage[pdftex]{color}
\usepackage[font=footnotesize,labelfont=bf]{caption}
\usepackage[font=footnotesize,labelfont=bf]{subcaption}
\begin{document}
\begin{figure}
\begin{subfigure}{0.48\textwidth}
\includegraphics[width=\linewidth]{Rectangle.pdf}
\caption{Caption of first subfigure}
\end{subfigure}
\hspace*{\fill}
\begin{subfigure}{0.48\textwidth}
\includegraphics[width=\linewidth]{Circle.pdf}
\caption{Caption of second subfigure}
\end{subfigure}
\caption{The figures to be shown} \label{A1E}
\end{figure} 
\end{document}

答案2

您不必专门指定驱动程序,因为大多数编译器都会自行检测它们。因此,[dvips]从 中删除选项\usepackage[dvips]{color}。然后一切正常。您还可以使用width键来\includegraphics更改宽度。

\documentclass[preprint, 3p, number]{elsarticle}
\usepackage{color}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage[font=footnotesize,labelfont=bf]{caption}
\begin{document}
\begin{frontmatter}
\end{frontmatter}

\section{Section 1}
\begin{figure} [H]
%\begin{raggedleft}    %% not needed
\hfill
\subfloat[]{\scalebox{0.39}{\includegraphics{example-image}}}
\hfill
\subfloat[]{\scalebox{0.29}{\includegraphics{example-image-a}}}
%\end{raggedleft}
\hfill
\subfloat[]{\includegraphics[width=1cm]{example-image-b}}
\caption{The figures to be shown }
\label{A1E}
\end{figure}
\begin{thebibliography}{99}
\end{thebibliography}
\end{document}

相关内容