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