如何将一个图和一些子图放在 cas-dc 类中的两列中?

如何将一个图和一些子图放在 cas-dc 类中的两列中?

我在 Overleaf 中使用 Elsevier 的 cas-dc 类。我想在双栏纸上放置一个带有一些子图的图,我的代码如下:

\documentclass[a4paper,fleqn,twocolumn]{cas-dc}

\usepackage{natbib}
\usepackage{adjustbox}
\usepackage{appendix,booktabs}
\usepackage{lipsum}
\usepackage{mathtools, cuted}
\usepackage{autobreak}
\usepackage[utf8]{inputenc}
\usepackage{nccmath}

\usepackage{lipsum}
\usepackage{flushend}
\usepackage{amsmath}
\usepackage{afterpage}
\usepackage{url}

\usepackage{amsfonts,amsmath,amssymb,amstext,amsthm,xspace,pdfsync,enumerate,graphicx}
\usepackage{float}
\usepackage{algpseudocode}
\usepackage{siunitx}
\usepackage[ruled]{algorithm}

\usepackage[font=footnotesize,labelfont=bf]{caption}
\usepackage[font=footnotesize,labelfont=bf]{subcaption}

\allowdisplaybreaks
\PassOptionsToPackage{noend}{algpseudocode}% comment out if want end's to show
\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx

\errorcontextlines\maxdimen

\begin{document}
\lipsum[11]
\begin{figure*}
    \begin{subfigure}{.5\textwidth}
        \centering
        \includegraphics[width=7cm,height=6cm]{10.png}
        \caption{ 10 }
         \label{10}
    \end{subfigure}
    \begin{subfigure}{.5\textwidth}
    \centering
        \includegraphics[width=7cm,height=6cm]{100.png}
        \caption{ 100 }
         \label{100}
    \end{subfigure}
    \begin{subfigure}{.5\textwidth}
    \centering
        \includegraphics[width=7cm,height=6cm]{500.png}
        \caption{500}
         \label{500}
    \end{subfigure}
    \begin{subfigure}{.5\textwidth}
    \centering
        \includegraphics[width=7cm,height=6cm]{1000.png}
        \caption{1000}
         \label{1000}
    \end{subfigure} 
    \begin{subfigure}{.5\textwidth}
    \centering
        \includegraphics[width=7cm,height=6cm]{5000.png}
        \caption{5000}
         \label{5000}
    \end{subfigure}
        \caption{Comparison }
        \label{Comparison }
\end{figure*}
\end{document}

但是所有图片都显示在一列中,其中两张图和标题都显示在页面外(在脚注下),所以我看不到它们。当我使用 elsarticle 类而不是 cas-dc 时:

\documentclass[a4paper,fleqn]{elsarticle}

它工作正常,所有子图都在两列中。我该如何修复 cas-dc 类的问题?

答案1

文档类cas-dc包含一些包(例如graphicx),也重新定义它们。它还要求在序言中加载一些包,例如与参考书目相关的包。

重新整理您的代码后figure,我得到以下结果:

在此处输入图片描述

梅威瑟:

\documentclass[demo,
               a4paper,fleqn]
               {cas-dc} % this give one column document
                        % regardless that it is declared 
                        % as two columns document
\usepackage{subcaption}

\usepackage{natbib} % cas-cd require that this or similar bib package is loaded
\usepackage{lipsum} % 

\begin{document}
\lipsum[11]
    \begin{figure}
    \centering
    \setkeys{Gin}{width=\linewidth,height=6cm} %set image parameters
\begin{subfigure}{6cm}
    \includegraphics{10.png}
    \caption{ 10 }
    \label{10}
\end{subfigure}
\hfil
\begin{subfigure}{6cm}
    \includegraphics{100.png}
    \caption{ 100 }
    \label{100}
\end{subfigure}

\medskip
\begin{subfigure}{6cm}
    \includegraphics{500.png}
\caption{500}
\label{500}
\end{subfigure}
\hfill
\begin{subfigure}{6cm}
    \includegraphics{1000.png}
\caption{1000}
\label{1000}
\end{subfigure}

\medskip
\begin{subfigure}{6cm}
    \includegraphics{5000.png}
\caption{5000}
\label{5000}
\end{subfigure}
%
\caption{Comparison }
\label{Comparison }
    \end{figure}
\end{document}

编辑: 如果您希望有两列文档,则需要添加选项˙twocolumn` int 文档类选项:

\documentclass[demo,
               a4paper,fleqn,
               twocolumn]{cas-dc}% now the document has two columns

然后对于超过两列的数字,使用figurefloat figure*,就像您在文档示例中使用的那样。进行此更改后,结果是

在此处输入图片描述

编辑(2) 由于未知原因,cas-dc没有选项时不会生成两列文档twocolumn(使用我本地安装的 MikTeX 和 Overleaf 服务进行了测试)。无论如何,第二个示例有两列,并且无论如何获取图像,图像都分布在两列文本上。

附录: 您的文档序言中有一些软件包重复且顺序错误。因此我尝试清理并重新组织,使其具有更一致的模式。此时,我很好奇,您真的需要所有这些软件包吗?

看看下面的序言是否适合你:

\documentclass[demo,
               a4paper,fleqn,
               twocolumn]{cas-dc}
%\usepackage[utf8]{inputenc} at new LaTeX version it is default 
\usepackage{natbib}
%math
\usepackage{nccmath, mathtools} % nccmath had to be first, than mathtools
\allowdisplaybreaks
\usepackage{amssymb,amsthm,xspace}
\usepackage{autobreak}  % not recommended
% tables, units
\usepackage{booktabs}
\usepackage{siunitx}
% lists
\usepackage{enumerate}
% miscellaneous 
\usepackage{appendix}
\usepackage{flushend}
\usepackage{afterpage}
\usepackage{cuted, float}
\usepackage{adjustbox}
\usepackage[font=footnotesize,labelfont=bf]{subcaption}
% algorithms
\usepackage{algpseudocode}
\PassOptionsToPackage{noend}{algpseudocode}% comment out if want end's to show
\usepackage[ruled]{algorithm}

\usepackage{url}
\errorcontextlines\maxdimen

\usepackage{lipsum} % for dummy text, not needed in real document

相关内容