아래 코드는 서로 옆에 3개의 이미지를 생성합니다. 각 이미지에는 캡션이 있고 3개 이미지 모두 아래에는 일반 캡션으로 끝납니다.
내 문서에는 작성자 블록이 있는 제목이 있고 그 다음에는 초록과 텍스트 단락이 있는 일부 섹션이 있습니다. 이 코드를 컴파일하면소개첫 번째 페이지를 채우고 내 이미지가 다음 페이지의 맨 위로 전송됩니다. 또한 문서는 2개의 열을 사용합니다(따라서 뒤에 별표가 표시됨 figure
).
초록 위, 제목 아래에 이미지를 배치하려면 어떻게 해야 합니까?
\documentclass{IEEEtran}
\usepackage{cite}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{algorithmic}
\usepackage{textcomp}
\usepackage{xcolor}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{float}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage[super]{nth}
\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
\begin{document}
\graphicspath{ {./images/} }
\title{foo}
\makeatletter
\setlength{\@fptop}{0pt}
\makeatother
\author{\IEEEauthorblockN{foo}
\IEEEauthorblockA{\textit{foo} \\
foo, foo \\
foo}
}
\maketitle
\begin{figure*}[!th]
\centering
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{11\% of full render time}
\label{fig:sceneProgressA}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{52\% of full render time}
\label{fig:sceneProgressB}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{Full render time}
\label{fig:sceneProgressC}
\end{subfigure}
\caption{Pictures of streaming progress}
\label{fig:rendering_progress}
\end{figure*}
\begin{abstract}
Foo bar baz.Foo bar baz.Foo bar baz.Foo bar baz.Foo bar baz.
\end{abstract}
\section{Introduction}
Foo bar baz.
\end{document}
나는 무엇을 시도했는가?
float
[H]
이후에 사용하는 패키지figure*
- 위치 변경
\maketitle
- 대신 미니페이지를 사용하세요
모습:
다음과 같아야 합니다.
개인 정보 보호 문제로 인해 대부분의 텍스트를 생략했습니다. 저는 LaTeX를 처음 접한다는 점을 명심하세요.
미리 감사드립니다.
편집하다: IEEEtran을 기사로 변경하면 이미지가 (거의) 올바르게 배치된 것처럼 보이지만 이를 변경할 수는 없을 것 같습니다.
답변1
\@maketitle
제목 인쇄를 담당하는 매크로인 에 연결할 수 있습니다 .
그러나 알아야 할 몇 가지 사항이 있습니다.
hyperref
마지막으로 가야 해caption
그리고subcaption
는~ 아니다호환IEEEtran
및 사용하면 모든 캡션이 IEEE에서 원하지 않는 스타일로 조판되어 제출이 거부될 수 있습니다. 아래 이미지에서 IEEE의 스타일은 캡션을 왼쪽에 정렬하고 로드할 때 인쇄되는 것처럼 중앙에 배치하지 않는다는 것을 볼 수 있습니다caption
(아마도 를 통해subcaption
). 와 함께
\usepackage[caption=false]{subfig}
문제는 사라집니다. 그러나 하위 부동 구문은 다릅니다. 코드를 참조하세요.
몇 가지 비활성화된 패키지 옆에도 주석을 달았습니다.
\documentclass{IEEEtran}
\usepackage{cite}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{algorithm}
\usepackage{algorithmic}
%\usepackage{textcomp}% useless
\usepackage{xcolor}
\usepackage{booktabs}
\usepackage{float}
\usepackage{graphicx}
\usepackage[super]{nth}
%\usepackage{subcaption} % not compatible with IEEEtran
\usepackage[caption=false]{subfig}
\usepackage{capt-of}
\usepackage{hyperref}% should go last
% this is just for this example
\usepackage{lipsum}
% hook into \@maketitle to add the wanted figure
\AddToHook{cmd/@maketitle/after}{\ADDINITIALFIGURE}
% the code for the figure
\newcommand{\ADDINITIALFIGURE}{%
% we want to emulate a fixed float
\begin{minipage}{\textwidth}
\vspace*{0.5\baselineskip}
% pretend we're inside figure
\expandafter\def\csname @captype\endcsname{figure}%
% insert the subfloats
\subfloat[11\% of full render time\label{fig:sceneProgressA}]{%
\includegraphics[width=0.3\textwidth]{example-image}%
}\hfill
\subfloat[52\% of full render time\label{fig:sceneProgressB}]{%
\includegraphics[width=0.3\textwidth]{example-image}%
}\hfill
\subfloat[Full render time\label{fig:sceneProgressC}]{%
\includegraphics[width=0.3\textwidth]{example-image}%
}
% the text is processed a few times, so we reset the counter each time
\setcounter{figure}{0}
\captionof{figure}{Pictures of streaming progress\label{fig:rendering_progress}}
\end{minipage}}
\graphicspath{ {./images/} }
\begin{document}
\title{foo}
\author{\IEEEauthorblockN{foo}
\IEEEauthorblockA{\textit{foo} \\
foo, foo \\
foo}
}
\maketitle
\begin{abstract}
Foo bar baz.Foo bar baz.Foo bar baz.Foo bar baz.Foo bar baz.
\end{abstract}
\section{Introduction}
\lipsum[1][1-3]
\begin{figure}[ht]
\includegraphics[width=\columnwidth]{example-image}
\caption{Test caption}
\end{figure}
\lipsum
\end{document}
관련성은 없지만 알 수 없는 이유로 IEEE에서 제공하는 템플릿에는 어리석은 부분이 포함되어 있습니다.
\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
이는 여러 측면에서 잘못된 것이며 무엇보다도 전혀 쓸모가 없습니다. 제거하세요. 또한 명령은 \graphicspath
전역 설정이므로 프리앰블에 배치하는 것이 더 좋습니다.
답변2
t
LaTeX는 옵션 및/또는 에서만 열 확장 부동 소수점을 제공 p
하지만 에서는 제공하지 않습니다 h
. 또한 H
패키지 옵션은 또는 (또는 새로 정의된 다른 부동 소수점의 스타 버전) float
과 함께 사용할 수 없습니다 .figure*
table*
트릭을 사용 \twocolumn
하고 부동 소수점 사용을 피할 수 있습니다.
\documentclass{IEEEtran}
\usepackage{cite}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{algorithmic}
\usepackage{textcomp}
\usepackage{xcolor}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{float}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage[super]{nth}
\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
\begin{document}
\graphicspath{ {./images/} }
\title{foo}
\makeatletter
\setlength{\@fptop}{0pt}
\makeatother
\author{\IEEEauthorblockN{foo}
\IEEEauthorblockA{\textit{foo} \\
foo, foo \\
foo}
}
\twocolumn[{%
\csname @twocolumnfalse\endcsname
\maketitle
\captionsetup{type=figure}% Tell (sub)caption, that this is a figure
\centering
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{11\% of full render time}
\label{fig:sceneProgressA}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{52\% of full render time}
\label{fig:sceneProgressB}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{Full render time}
\label{fig:sceneProgressC}
\end{subfigure}
\caption{Pictures of streaming progress}
\label{fig:rendering_progress}
}]
\begin{abstract}
Foo bar baz.Foo bar baz.Foo bar baz.Foo bar baz.Foo bar baz.
\end{abstract}
\section{Introduction}
Foo bar baz.
\end{document}
대안으로 을 잘못 사용할 수 있지만 \author
이 경우 그림 번호를 수동으로 수정해야 합니다.
\documentclass{IEEEtran}
\usepackage{cite}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{algorithmic}
\usepackage{textcomp}
\usepackage{xcolor}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{float}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage[super]{nth}
\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
\begin{document}
\graphicspath{ {./images/} }
\title{foo}
\makeatletter
\setlength{\@fptop}{0pt}
\makeatother
\author{\IEEEauthorblockN{foo}
\IEEEauthorblockA{\textit{foo} \\
foo, foo \\
foo}
\vskip 2\baselineskip
\begin{minipage}{\textwidth}
\setcounter{figure}{0}% Otherwise, you will get Fig. 3 instead of Fig. 1!!!
\captionsetup{type=figure}% Tell (sub)caption, that this is a figure
\centering
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{11\% of full render time}
\label{fig:sceneProgressA}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{52\% of full render time}
\label{fig:sceneProgressB}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{Full render time}
\label{fig:sceneProgressC}
\end{subfigure}
\caption{Pictures of streaming progress}
\label{fig:rendering_progress}
\end{minipage}
}
\maketitle
\begin{abstract}
Foo bar baz.Foo bar baz.Foo bar baz.Foo bar baz.Foo bar baz.
\end{abstract}
\section{Introduction}
Foo bar baz.
\end{document}
마지막으로 패키지를 사용하여 stfloats
그림을 배치 할 수 있습니다.바닥에첫 페이지 중:
\documentclass{IEEEtran}
\usepackage{cite}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{algorithmic}
\usepackage{textcomp}
\usepackage{xcolor}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{float}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{blindtext}
\usepackage[super]{nth}
\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
\usepackage{stfloats}
\begin{document}
%\graphicspath{ {./images/} }
\title{foo}
\makeatletter
\setlength{\@fptop}{0pt}
\makeatother
\author{\IEEEauthorblockN{foo}
\IEEEauthorblockA{\textit{foo} \\
foo, foo \\
foo}
}
\maketitle
\begin{figure*}[b]
\centering
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{11\% of full render time}
\label{fig:sceneProgressA}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{52\% of full render time}
\label{fig:sceneProgressB}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{Full render time}
\label{fig:sceneProgressC}
\end{subfigure}
\caption{Pictures of streaming progress}
\label{fig:rendering_progress}
\end{figure*}
\begin{abstract}
Foo bar baz.Foo bar baz.Foo bar baz.Foo bar baz.Foo bar baz.
\end{abstract}
\section{Introduction}
\Blindtext[5]
\end{document}
dblfloatfix
귀하의 질문에 대한 첫 번째 의견에서 제가 제안한 패키지가 IEEEtran
. \usepackage{stfloats}
로 바꾸면 \usepackage{dblfloatfix}
그림이 여전히 두 번째 페이지 상단에 인쇄됩니다.
h
AFAIK에는 옵션 (또는 ) 을 사용하여 열 범위 부동 소수점을 지원하는 패키지가 없습니다 H
. 그래서 IMHO는 해킹이라고도 불리는 트릭 중 하나를 사용하거나 아래쪽에 배치된 그림을 사용하거나 stfloats
상단에 위쪽에 배치한 그림을 사용해야 합니다.다음페이지.