cas-dc クラスで、いくつかのサブ図を含む図を 2 列に配置するにはどうすればよいでしょうか?

cas-dc クラスで、いくつかのサブ図を含む図を 2 列に配置するにはどうすればよいでしょうか?

Overleaf で Elsevier の cas-dc クラスを使用しています。2 列の紙にいくつかのサブ図を含む図を配置したいのですが、コードは次のとおりです。

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

しかし、すべての図が 1 つの列に表示され、そのうちの 2 つとキャプションがページ外 (脚注の下) に表示され、見えません。cas-dc の代わりに elsarticle クラスを使用すると、次のようになります。

\documentclass[a4paper,fleqn]{elsarticle}

正常に動作し、すべてのサブ数値が 2 列に表示されます。cas-dc クラスの問題を修正するにはどうすればよいですか?

答え1

ドキュメント クラスにcas-dcはいくつかのパッケージ (例graphicx) が含まれており、それらを再定義します。また、参考文献に関連するパッケージなど、いくつかのパッケージをプリアンブルにロードする必要もあります。

コードを再配置するとfigure、次の結果が得られます。

ここに画像の説明を入力してください

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}

編集: 2 列のドキュメントが必要な場合は、オプション ˙twocolumn` int ドキュメント クラス オプションを追加する必要があります。

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

2列以上の数字の場合は、ドキュメントの例で使用しているように、代わりにfigurefloatを使用します。この変更により、結果は次のようになります。figure*

ここに画像の説明を入力してください

編集 (2) 理由は不明ですが、cas-dcオプションなしでは 2 列のドキュメントは生成されませんtwocolumn(MikTeX のローカル インストールと Overleaf サービスでテスト済み)。いずれにしても、2 番目の例には 2 つの列があり、画像は取得方法に関係なく 2 列のテキストにまたがって表示されます。

補遺: ドキュメントの序文に、いくつかのパッケージが重複しており、順序が間違っています。そのため、より一貫したパターンになるようにクリーンアップして再編成しようとしています。ここで疑問に思うのは、これらすべてのパッケージが本当に必要なのかということです。

次の前文があなたにとって役立つかどうか確認してください。

\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

関連情報