Como colocar uma figura com algumas subfiguras em duas colunas na classe cas-dc?

Como colocar uma figura com algumas subfiguras em duas colunas na classe cas-dc?

Eu uso a classe cas-dc da Elsevier no Overleaf. Quero colocar uma figura com algumas subfiguras em papel de duas colunas e meu código é o seguinte:

\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}

Mas todas as figuras foram mostradas em uma coluna e duas delas e também a legenda foi mostrada fora da página (sob a nota de rodapé) de tal forma que não consigo vê-las. Quando uso a classe elsarticle em vez de cas-dc:

\documentclass[a4paper,fleqn]{elsarticle}

funciona corretamente e todas as subfiguras estão em duas colunas. Como posso resolver o problema com a classe cas-dc?

Responder1

A classe do documento cas-dcinclui alguns pacotes (por exemplo graphicx) e também os redefine. Também exige que algum pacote seja carregado no preâmbulo, por exemplo, pacotes relacionados à bibliografia.

Depois de reorganizar seu figurecódigo, obtenho o seguinte resultado:

insira a descrição da imagem aqui

MWE:

\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}

Editar: Caso você queira ter um documento de duas colunas, você precisa adicionar a opção ˙twocolumn` int document class options:

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

e para números com mais de duas colunas, use figurefloat figure*, como você usa no exemplo do seu documento. Com essas mudanças o resultado é

insira a descrição da imagem aqui

Editar (2) Por motivo desconhecido, cas-dcnão produz documento de duas colunas sem opção twocolumn(testado com minha instalação local do MikTeX e com o serviço Overleaf). De qualquer forma, o segundo exemplo possui duas colunas e as imagens ficam espalhadas por duas colunas de texto independente de como são obtidas.

Termo aditivo: No preâmbulo do seu documento há alguns pacotes duplicados e na ordem errada. Então procuro limpar e reorganizar para que tenha um padrão mais consistente. Com isso eu me pergunto: você realmente precisa de todos esses pacotes?

Veja se o seguinte preâmbulo funciona para você:

\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

informação relacionada