我使用 elsarticle 类和 subfig 包来编写我的文章,并使用 subfloat 环境来包含两张图片。但是,图片的缩放比例完全错误,图形看起来非常大。
观察结果:
- 无论我在 \scalebox{} 参数中使用什么值,数字总是被夸大。事实上,更改 \scalebox{} 参数似乎对图像的大小没有影响。
- 只需将类从 elsarticle 更改为 article 即可确保图形正确缩放。
- 仅当我使用 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}