Почему `ftcap` и `caption` создают разный вертикальный интервал?

Почему `ftcap` и `caption` создают разный вертикальный интервал?

Обычно я загружаю captionпакет, чтобы исправить интервал между таблицами и их подписями в articleклассе. Поскольку я не использую никаких других функций пакета caption, я решил попробовать использовать специальный пакет, ftcapчтобы исправить это вместо этого. Однако, когда я пробую каждый пакет, я получаю немного разное количество вертикального пространства на странице. С помощью следующего MWE, когда я использую ftcap, весь текст перемещается немного выше на странице по сравнению с выводом, когда я использую caption. Насколько я могу судить, интервал между таблицей и подписью в обоих случаях идентичен (предположительно 10.0pt).

МВЭ:

\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команду.

Давайте рассмотрим три примера. Верхняя тонкая линия добавляется опцией 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's) дадут одинаковый результат.

Связанный контент