`ftcap` と `caption` が異なる垂直間隔を生成するのはなぜですか?

`ftcap` と `caption` が異なる垂直間隔を生成するのはなぜですか?

私は通常、クラスcaption内のテーブルとキャプションの間隔を修正するために パッケージをロードしますarticle。パッケージの他の機能は使用しないためcaption、代わりに専用のパッケージを使用してftcap修正してみることにしました。ただし、各パッケージを試してみると、ページ上の垂直方向のスペースの量がわずかに異なります。次の MWE では、 を使用すると、ftcapを使用した場合の出力と比較して、すべてのテキストがページ上でわずかに上方に移動しますcaption。私が知る限り、テーブルとキャプションの間隔は 2 つで同一です (おそらく 10.0pt)。

MWE:

\documentclass{article}

\usepackage{caption}  % a bit less than 1mm lower
%\usepackage{ftcap}  % a bit less than 1mm higher

\begin{document}
    
This is a paragraph.

\begin{table}
    \caption{This is a caption.}
    \begin{tabular}{c}
        This is a table.
    \end{tabular}
\end{table}

\end{document}

次のコードを使用すると、違いをより明確に確認できます。

\documentclass{article}

\usepackage{fgruler}
\textwidth=\paperwidth
\oddsidemargin=-1in
\parindent=0pt

\usepackage{caption}  % a bit less than 1mm lower
%\usepackage{ftcap}  % a bit less than 1mm higher

\begin{document}
    
\rule{2cm}{0.1pt}
This is a paragraph.

\begin{table}
    \caption{This is a caption.}
    \begin{tabular}{c}
        \rule{2cm}{0.1pt}
        This is a table.
    \end{tabular}
\end{table}

\end{document}

両方のパッケージのドキュメントと実装を調べてみました。captionかなり複雑なので、あまり理解できませんでした。

答え1

captionとの実装はftcap異なります。

私の見る限り、この違いはcaptionキャプションにストラットを追加することによって発生しており、コマンドftcapを変更しないと発生しません\caption

3 つの例を見てみましょう。上部の細いルールはshowframeジオメトリのオプションによって追加され、タイプ ブロックの上端が表示されます。

ftcapなしで\strut

\documentclass{article}
\usepackage[pass,showframe]{geometry}

\usepackage{ftcap}  % a bit less than 1mm higher

\begin{document}

\begin{table}[htp]
\centering
    \caption{This is a caption.}
Something
\end{table}

\end{document}

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

ftcap\strut

\documentclass{article}
\usepackage[pass,showframe]{geometry}

\usepackage{ftcap}  % a bit less than 1mm higher

\begin{document}

\begin{table}[htp]
\centering
    \caption{\strut This is a caption.}
Something
\end{table}

\end{document}

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

caption

\documentclass{article}
\usepackage[pass,showframe]{geometry}

\usepackage{caption}  % a bit less than 1mm lower

\begin{document}

\begin{table}[htp]
\centering
    \caption{This is a caption.}
Something
\end{table}

\end{document}

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

キャプションとテキストの間隔にもわずかな違いがあります。

結論

どちらのパッケージを使用しても、異なる実装 (特に のような複雑なものcaption) が同じ出力を生成することを期待することはできません。

関連情報