Abordagem "universal" para subfiguras dentro de um ambiente de enumeração/itemização?

Abordagem "universal" para subfiguras dentro de um ambiente de enumeração/itemização?

Eu queria encontrar uma maneira "universal" de inserir imagens dentro de um ambiente de itens. No começo eu simplesmente usei figuras+subfiguras e funcionou bem, exceto quando há quebra de página. As imagens devem estar após o primeiro item

\documentclass[12pt,a4paper,oneside]{report} % Tipo de documento
\usepackage[T1]{fontenc}    % Codificación del documento
\usepackage[utf8]{inputenc} % Codificación del documento
\usepackage{amsmath}        % Paquete de herramientas matemáticas
\usepackage{graphicx}       % Facilita la inclusión de imágenes 
\usepackage{float}          % Posición de figuras
\usepackage{enumitem}
\usepackage{caption} %% cambia los captiones de figras
\usepackage{subcaption}
\usepackage{lipsum}
\begin{document}
    \chapter{Chap test}
    \section{Section 1}
    \begin{enumerate}
        \item \lipsum[7-8]\\
        \begin{figure}[h!]
            \centering
            \begin{subfigure}[b]{0.45\textwidth}
                \centering
                \fbox{\includegraphics[width=\textwidth]{sinc1}}\\
                \caption{blablabla }
            \end{subfigure}
            \hspace{.5cm}
            \begin{subfigure}[b]{0.45\textwidth}
                \centering
                \fbox{\includegraphics[width=\textwidth]{sinc2}}
                \caption{bleblelbe}
            \end{subfigure}
            \caption{bliblibli}
            \label{fig}
        \end{figure}
        \item \lipsum[5]
    \end{enumerate}
\end{document} 

insira a descrição da imagem aqui

Então decidi usar minipágina e funcionou nas quebras de página, mas não funciona imediatamente, pois é preciso verificar se não está muito próximo do parágrafo acima quando não há quebras de página, tendo que adicionar um espaço vertical , caso contrário, ficará assim:

\documentclass[12pt,a4paper,oneside]{report} % Tipo de documento
\usepackage[T1]{fontenc}    % Codificación del documento
\usepackage[utf8]{inputenc} % Codificación del documento
\usepackage{graphicx}       % Facilita la inclusión de imágenes 
\usepackage{enumerate}      % Conf. extra a las enumeraciones
\usepackage{caption} %% cambia los captiones de figras
\usepackage{subcaption}
\usepackage{lipsum}
\usepackage{amsmath}   

\begin{document}
    \chapter{Chap test}
    \section{Section 1}
    \begin{enumerate}
        \item \lipsum[5-3]\\
        \begin{minipage}{\linewidth}
            \centering
            \captionsetup{type=figure,justification=centering}
            \begin{minipage}[b]{0.4\linewidth}
                \centering
                \fbox{\includegraphics[width=\linewidth]{sinc1}}
                \subcaption{blalblabla}
                \label{fig1}
            \end{minipage}
            \hfill
            \begin{minipage}[b]{0.4\linewidth}
                \centering
                \fbox{\includegraphics[width=\linewidth]{sinc2}}
                \subcaption{bleblelbebe}
                \label{fig2}
            \end{minipage}
            \captionof{figure}{bliblbibli}
            \label{fig3}
        \end{minipage}
        \item \lipsum[5]
    \end{enumerate}
\end{document} 

insira a descrição da imagem aqui

Eu sei que, para todos os efeitos, a solução de minipágina funciona muito bem, mesmo se eu decidir adicionar espaço vertical, independentemente de ser necessário ou não, mas ainda assim desencadeia meu TOC. Então, estou procurando sugestões/idéias de outras pessoas. No entanto, espero que isso ajude outras pessoas no mesmo barco que eu.

Responder1

O objetivo figureé retirar o conteúdo do fluxo do documento, tornando-o um inserto flutuante que pode ser posicionado em outro lugar, mesmo que você inclua hpara que as posições possíveis incluam a localização atual.

Como tal, o látex faz de tudo para normalizar a composição tipográfica, de modo quenãoparecer parte da lista, o nível de recuo atual é descartado, por exemplo, pois você não deseja que uma figura na página 4 seja recuada apenas porque o código-fonte estava na origem de uma lista.

Portanto, se as imagens fazem parte dos itens rotulados, o natural é usar \includegraphicsdiretamente ou se você realmente deseja uma legenda, use uma minipágina de \linewidthe \captionofcomo mostra, embora geralmente seja melhor ter uma quebra de parágrafo (linha em branco) não \\antes da minipágina , ou coloque-os dentro, \begin{center}o que adicionará algum deslocamento vertical.

Responder2

Esta solução cria um myfigureambiente para permitir subfigures e \captions dentro de um arquivo minipage. Nenhuma tentativa foi feita para forçar a ordem dos números das legendas.

\documentclass[12pt,a4paper,oneside]{report} % Tipo de documento
\usepackage[T1]{fontenc}    % Codificación del documento
\usepackage[utf8]{inputenc} % Codificación del documento
\usepackage{graphicx}       % Facilita la inclusión de imágenes 
\usepackage{enumerate}      % Conf. extra a las enumeraciones
\usepackage{caption} %% cambia los captiones de figras
\usepackage{subcaption}
\usepackage{lipsum}
\usepackage{amsmath}

\makeatletter
\newenvironment{myfigure}{\par\vskip\intextsep\minipage{\linewidth}%
  \def\@captype{figure}}%
{\endminipage\par\vskip\intextsep}
\makeatother

\begin{document}
    \chapter{Chap test}
    \section{Section 1}
    \begin{enumerate}
        \item \lipsum[5-3]
        \begin{myfigure}
            \centering
            \captionsetup{type=figure,justification=centering}
            \begin{subfigure}[b]{0.4\linewidth}
                \centering
                \fbox{\includegraphics[width=\linewidth]{example-image-a}}
                \subcaption{blalblabla}
                \label{fig1}
            \end{subfigure}
            \hfill
            \begin{subfigure}[b]{0.4\linewidth}
                \centering
                \fbox{\includegraphics[width=\linewidth]{example-image-b}}
                \subcaption{bleblelbebe}
                \label{fig2}
            \end{subfigure}
            \caption{bliblbibli}
            \label{fig3}
        \end{myfigure}
        \item \lipsum[5]
    \end{enumerate}
\end{document} 

informação relacionada