Legenda dividida com base na altura?

Legenda dividida com base na altura?

Eu tenho uma figura de página inteira, como 8,5x11, não apenas a área de texto completo.

Eu adiciono a figura fazendo o seguinte:

\begin{figure}[p]
    \vspace*{-1.0in}

    \makebox[\textwidth]{\includegraphics{../02_Figures/IntroductionChapter/Fig01.pdf}}
    \vspace*{-2.0in}
    \caption{Long long caption here. }

\end{figure}

A figura está bem e está centralizada na página conforme necessário.

A legenda é movida para cima, mas é muito longa, então preciso dividi-la na próxima página. Tentei usar o pacote caption e \ContinuedFloat

\begin{figure}[b]\ContinuedFloat
    \caption{More of long caption here}
\end{figure}

1) Isso exige que eu divida manualmente a legenda, o que é um pouco entediante, pois tenho quase 100 figuras. Existe alguma maneira de definir uma 'altura da legenda' para que ela se divida automaticamente entre a primeira e a continuação da legenda com base em um parâmetro que eu forneço? Tipo depois da divisão de 3 linhas? Ou depois de 0,75 pol., dividir para a próxima flutuação contínua?

2) Posso fazer com que a segunda legenda no float continuado tenha uma pequena linha acima dela, como acontece ao usar \footnote{} ?

EDITAR

Acredito que tenho um MWE que indica o que está acontecendo.

\documentclass[12pt]{report}
\usepackage{blindtext}
\usepackage{graphicx}

%   Page Captioning
    \usepackage[font=footnotesize]{caption}
    \DeclareCaptionLabelFormat{continued}{#1 ˜#2 (cont.)} % Define a 'continued' label. Then what the label should look like
    \captionsetup[ContinuedFloat]{labelformat=continued} % Now use that label format for captions of continued floats

%
%   Page Margins and Page Layout
%
    \usepackage[letterpaper]{geometry}

    % Make new variables for what the margins will be.
    \newcommand{\pageMargin}{1.0in}
    \newcommand{\pageMarginLeft}{1.5in}

    %For now, figure vertical offsets just match \pageMargin. And each figure needs to make it's own margin. This could be adjusted to something else though
    \newcommand{\fullFigVOffset}{\pageMargin} 

    % Define page geometry
    \geometry{margin=\pageMargin}

%   Page Spacing
    \usepackage{setspace}
    \doublespacing

\begin{document}

\chapter{Introduction}  

\blindtext[5]
        \begin{figure}[p]
    \vspace*{-\fullFigVOffset} % Note the negative

    \makebox[\textwidth]{\includegraphics[height=11in]{example-image}}

    \vspace*{-\fullFigVOffset} % 
    \vspace*{-\fullFigVOffset} % 

    \caption{\blindtext[3]}

    \label{GInt_01} % Label must come after figure Caption to reference correctly

\end{figure}

\begin{figure}[b]\ContinuedFloat
    \caption{I want the caption above to split at the 'regular' page margins to here.}
\end{figure}

\blindtext[6]

\end{document}

Reduzir a figura será difícil. Como se trata de figuras compartilhadas, isso exigiria a manutenção de duas versões, já outras exigirão a figura de página inteira para o que fazem.

Além disso, o corte realmente não parece resolver o meu problema, apenas me permite me livrar do (-) vspace para mover a legenda para cima. A legenda ainda é muito longa para a página e precisaria ser dividida.

Responder1

A legenda em si não pode ser quebrada, então divido o conteúdo. Isto significa oFigura 1.1eFigura 1.1 (cont.)deve ser colocado em uma linha separada do conteúdo. Ajustei o comprimento para incluir esta linha e \abovecaptionskip.

\documentclass[12pt]{report}
\usepackage{blindtext}
\usepackage{graphicx}

%   Page Captioning
    \usepackage[font=footnotesize,labelsep=newline]{caption}
    \DeclareCaptionLabelFormat{continued}{#1 ˜#2 (cont.)} % Define a 'continued' label. Then what the label should look like
    \captionsetup[ContinuedFloat]{labelformat=continued} % Now use that label format for captions of continued floats

\renewcommand{\bottomfraction}{0.7}% for VERY large bottom floats

\newsavebox{\splitbox}
\newsavebox{\contbox}

\newcommand{\splitcaption}[3][\empty]% #1 = short caption (optional), #2 = caption, #3 = length before split
{\bgroup
  \footnotesize 
  \setbox0=\vbox{#2}%
  \dimen0=#3\relax
  \advance\dimen0 by -\baselineskip
  \advance\dimen0 by -\abovecaptionskip
  \setbox1=\vsplit0 to \dimen0
  \global\setbox\splitbox=\box1
  \global\setbox\contbox=\box0
\egroup
\ifx\empty#1\relax
  \caption[#2]{\usebox\splitbox}%
\else 
  \caption[#1]{\usebox\splitbox}%
\fi}

\newcommand{\contcaption}{\ifdim\ht\contbox>0pt
  \begin{figure}[b]\ContinuedFloat
    \footnoterule
    \caption[]{\usebox\contbox}% no entry in LOF
  \end{figure}
\fi}

%
%   Page Margins and Page Layout
%
    \usepackage[letterpaper]{geometry}

    % Make new variables for what the margins will be.
    \newcommand{\pageMargin}{1.0in}
    \newcommand{\pageMarginLeft}{1.5in}

    %For now, figure vertical offsets just match \pageMargin. And each figure needs to make it's own margin. This could be adjusted to something else though
    \newcommand{\fullFigVOffset}{\pageMargin} 

    % Define page geometry
    \geometry{margin=\pageMargin}

%   Page Spacing
    \usepackage{setspace}
    \doublespacing

\begin{document}
\listoffigures

\ref{GInt_01}

\chapter{Introduction}  

\blindtext[5]
        \begin{figure}[p]
    \vspace*{-\fullFigVOffset} % Note the negative

    \makebox[\textwidth]{\includegraphics[height=11in]{example-image}}

    \vspace*{-\fullFigVOffset} % 
    \vspace*{-\fullFigVOffset} % 

    \splitcaption[short caption]{\blindtext[3]}{1in}
    \label{GInt_01}% Label must come after figure Caption to reference correctly
\end{figure}
\contcaption

\blindtext[6]

\end{document}

informação relacionada