枚舉/逐項環境中子圖的「通用」方法?

枚舉/逐項環境中子圖的「通用」方法?

我想找到一種“通用”方法來在逐項環境中插入圖像。起初,我只是使用數字+子數字,並且效果很好,除非有分頁符號。影像應位於第一項之後

\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} 

在此輸入影像描述

所以我決定使用 minipage,它可以處理分頁符,但它不能開箱即用,因為您需要驗證它在沒有分頁符時是否與上面的段落太接近,必須添加垂直空間,否則看起來像這樣:

\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} 

在此輸入影像描述

我知道,出於所有意圖和目的,小型頁面解決方案工作得很好,即使我決定添加垂直空間,無論是否需要,但它仍然有點觸發我的強迫症。所以,我正在尋找其他人的建議/想法。儘管如此,我希望這能幫助其他和我有同樣處境的人。

答案1

的全部目的figure是將內容從文件流程中取出,使其成為可以放置在其他位置的浮動插入,即使您包含在內h以便可能的位置包括當前位置。

因此,乳膠會採取一定的長度來標準化排版,以便它能夠不是看起來像是清單的一部分,例如,當前的縮排等級將被丟棄,因為您不希望僅僅因為原始程式碼恰好位於清單的原始程式碼中而縮排第 4 頁上的圖。

因此,如果圖像是標記項目的一部分,那麼自然的事情就是\includegraphics直接使用,或者如果您確實想要一個標題,請使用您所顯示的小型頁\linewidth和,儘管通常最好在小型頁之前\captionof不要有一個段落分隔符(空行)\\,或將它們放在裡面\begin{center},這會增加一些垂直偏移。

答案2

該解決方案創建了一個myfigure環境,​​允許subfigures 和\captions 位於minipage.沒有嘗試強製字幕編號依序排列。

\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} 

相關內容