
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-dc
inclui 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 figure
código, obtenho o seguinte resultado:
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 figure
float figure*
, como você usa no exemplo do seu documento. Com essas mudanças o resultado é
Editar (2)
Por motivo desconhecido, cas-dc
nã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