リストのフロートキャプションのスタイルと間隔

リストのフロートキャプションのスタイルと間隔

newfloatパッケージの代わりにパッケージを使用すると、および/またはにfloat何らかの副作用があるようです。llncslistings

ケース1:パッケージを使用するとfloat、リストのフロート キャプションは正しくフォーマットされませんが、MWE #1 に示すように、リストのキャプションの間隔は正しくなります。

ケース2:パッケージを使用するとnewfloat、リストのフロート キャプションは正しくフォーマットされますが、MWE #2 に示すように、キャプションとリストの間に追加のスペースがあります。(このスペースは、図の環境で確認できるように、ドキュメント クラスによって定義されていません。)

ケース3:このスペースは、MWE #3 で見られるように、キャプション パッケージによっても導入されます。(推測に過ぎません。コメントを参照してください)

ケース4:環境の float オプションを使用するのlistingsも選択肢ではありません。フロートする場所にテキスト内にスペースが残るからです。MWE #4 を参照してください。

リストのスタイルと間隔を図と同じにするにはどうすればよいでしょうか?

MWE#1

\documentclass{llncs}
\usepackage{listings}

\usepackage{float}
\floatstyle{plaintop}
\newfloat{lstfloat}{tb}{lop}
\floatname{lstfloat}{Listing}

\lstset{
   aboveskip=0pt,
   belowskip=0pt
}

\begin{document}
\begin{lstfloat}
 \caption{Code Caption}
 \begin{lstlisting}
  My listing here seom more text here
 \end{lstlisting}
\end{lstfloat}

\begin{figure}
 \caption{Text}
 \centering Hello
\end{figure}
\end{document}

MWE 1 のキャプション スタイルが壊れているが、リスト キャプションの後にスペースがない

MWE #2

\documentclass{llncs}
\usepackage{listings}

\usepackage{newfloat}
\DeclareFloatingEnvironment[fileext=lop,placement={tb},name=Listing]{lstfloat}

\lstset{
   aboveskip=0pt,
   belowskip=0pt
}

\begin{document}
\begin{lstfloat}
 \caption{Code Caption}
 \begin{lstlisting}
  My listing here seom more text here
 \end{lstlisting}
\end{lstfloat}

\begin{figure}
 \caption{Text}
 \centering Hello
\end{figure}
\end{document}

MWE 2 のキャプション スタイルは正しいが、リスト キャプションの後に不要なスペースがある

MWE #3

\documentclass{llncs}
\usepackage{listings}

\usepackage{caption}

\usepackage{float}
\floatstyle{plaintop}
\newfloat{lstfloat}{tb}{lop}
\floatname{lstfloat}{Listing}

\lstset{
   aboveskip=0pt,
   belowskip=0pt
}

\begin{document}
\begin{lstfloat}
 \caption{Code Caption}
 \begin{lstlisting}
  My listing here seom more text here
 \end{lstlisting}
\end{lstfloat}

\begin{figure}
 \caption{Text}
 \centering Hello
\end{figure}
\end{document}

MWE 3 では、キャプションのスタイルが壊れており、キャプションの後に不要なスペースがあります。

MWE #4

\documentclass{llncs}
\usepackage{lipsum}
\usepackage{listings}

\lstset{
   aboveskip=0pt,
   belowskip=0pt
}

\begin{document}
\lipsum[1]

\begin{lstlisting}[float=tb,caption={Code Caption}]
 My listing here seom more text here
\end{lstlisting}

\lipsum[1]

\begin{figure}[tb]
 \caption{Text}
 \centering Hello
\end{figure}

\lipsum[1]
\end{document}

MWE 4 はリストのフロートを使用しますが、これによりテキストにスペースが残ります。

編集:ケース4とmwe #4を追加 編集2:フォローアップ通知を下へ移動する

これは私の質問の続きです:フロート名を太字にする

答え1

skip=0ptパッケージによって追加される垂直方向のスペースを回避できますcaption

\documentclass{llncs}
\usepackage{listings}

\usepackage{newfloat}
\DeclareFloatingEnvironment[fileext=lop,placement={tb},name=Listing]{lstfloat}
\usepackage{caption}
\captionsetup[lstfloat]{labelfont={bf},name={Listing},labelsep=period, skip=0pt}
\captionsetup[figure]{labelfont={bf},name={Fig.},labelsep=period}
\lstset{
   aboveskip=0pt,
   belowskip=0pt
}
\usepackage{mwe}% for testing purpose only
\begin{document}
\blindtext% for testing purpose only
\begin{lstfloat}
 \caption{Code Caption}
 \begin{lstlisting}
  My listing here seom more text here
 \end{lstlisting}
\end{lstfloat}
\blindtext% for testing purpose only
\begin{figure}
 \caption{Text}
 \centering Hello
\end{figure}
\blindtext% for testing purpose only
\end{document}

ここでは、左側に MWE #1 (ダミー テキスト付き)、右側に私のコードの出力があります。

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

関連情報