cas-dc 클래스의 두 열에 일부 하위 그림이 있는 그림을 넣는 방법은 무엇입니까?

cas-dc 클래스의 두 열에 일부 하위 그림이 있는 그림을 넣는 방법은 무엇입니까?

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}

그러나 모든 그림은 한 열과 두 열에 표시되었으며 캡션도 페이지 외부(각주 아래)에 표시되어 볼 수 없습니다. Cas-dc 대신 elsarticle 클래스를 사용하는 경우:

\documentclass[a4paper,fleqn]{elsarticle}

올바르게 작동하며 모든 하위 수치는 두 열에 있습니다. 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}

편집하다: 두 개의 열 문서를 갖고 싶은 경우 ˙twocolumn` int 문서 클래스 옵션을 추가해야 합니다.

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

두 열이 넘는 그림의 경우 문서 예제에서 사용한 것처럼 figurefloat 대신 사용하세요. 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

관련 정보