
我在 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
對於兩列以上的數字,請使用figure
float 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