
Ich verwende die cas-dc-Klasse von Elsevier in Overleaf. Ich möchte eine Abbildung mit einigen Unterabbildungen in ein zweispaltiges Dokument einfügen und mein Code lautet wie folgt:
\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}
Aber alle Abbildungen wurden in einer Spalte angezeigt und zwei davon sowie die Bildunterschrift wurden außerhalb der Seite (unter der Fußnote) angezeigt, sodass ich sie nicht sehen kann. Wenn ich die Klasse elsarticle anstelle von cas-dc verwende:
\documentclass[a4paper,fleqn]{elsarticle}
es funktioniert einwandfrei und alle Unterabbildungen stehen in zwei Spalten. Wie kann ich das Problem mit der CAS-DC-Klasse beheben?
Antwort1
Die Dokumentklasse cas-dc
enthält einige Pakete (zum Beispiel graphicx
) und definiert sie auch neu. Außerdem ist es erforderlich, dass einige Pakete in die Präambel geladen werden müssen, zum Beispiel Pakete im Zusammenhang mit der Bibliographie.
Nach der Umstellung Ihres figure
Codes erhalte ich folgendes Ergebnis:
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}
Bearbeiten: Falls Sie ein zweispaltiges Dokument haben möchten, müssen Sie die Option „twocolumn“ int document class options hinzufügen:
\documentclass[demo,
a4paper,fleqn,
twocolumn]{cas-dc}% now the document has two columns
und dann für Zahlen über zwei Spalten verwenden Sie stattdessen figure
float figure*
, wie Sie es in Ihrem Dokumentbeispiel verwenden. Mit diesen Änderungen ist das Ergebnis
Bearbeiten (2)
Aus unbekanntem Grund cas-dc
wird ohne Option kein zweispaltiges Dokument erstellt twocolumn
(getestet mit meiner lokalen MikTeX-Installation und mit dem Overleaf-Dienst). Das zweite Beispiel hat jedenfalls zwei Spalten und die Bilder sind über zwei Textspalten verteilt, unabhängig davon, wie sie erhalten werden.
Nachtrag: In der Präambel Ihres Dokuments sind einige Pakete doppelt und in der falschen Reihenfolge. Ich versuche also, aufzuräumen und neu zu organisieren, damit ein einheitlicheres Muster entsteht. Dabei frage ich mich, ob Sie all diese Pakete wirklich brauchen?
Probieren Sie aus, ob die folgende Präambel für Sie funktioniert:
\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