タイトルの下に画像を配置するにはどうすればいいですか?

タイトルの下に画像を配置するにはどうすればいいですか?

以下のコードは、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 を article に変更すると、画像は (ほぼ) 正しく配置されるように見えますが、これを変更できるとは思えません。

答え1

\@maketitleタイトルを印刷するマクロである にフックすることができます。

ただし、注意すべき点がいくつかあります。

  1. hyperref最後に行くべき
  2. 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

tLaTeX は、オプションおよび/またはでのみ列をまたぐフロートを提供しますpが、 では提供しません。また、パッケージのhオプションは、 または(または他の新しく定義されたフロートのスターバージョン)では使用できません。Hfloatfigure*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}

\twocolumnトリックを使用する

代わりに を誤用することもできます\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}

stfloat の使用

あなたの質問に対する最初のコメントでも提案したパッケージはdblfloatfix、 では動作しないようです。を にIEEEtran置き換えても、図は 2 ページ目の上部に印刷されます。\usepackage{stfloats}\usepackage{dblfloatfix}

h私の知る限り、オプション(または)を使用して列をまたぐフロートをサポートするパッケージはありません。そのため、私見では、トリック(ハック)のいずれかを使用するか、下部に配置された図を使用するか、上部に配置された図をH使用する必要があります。stfloatsページ。

関連情報