„Universeller“ Ansatz für Unterabbildungen innerhalb einer Aufzählungs-/Auflistungsumgebung?

„Universeller“ Ansatz für Unterabbildungen innerhalb einer Aufzählungs-/Auflistungsumgebung?

Ich wollte eine „universelle“ Möglichkeit finden, Bilder in eine Itemize-Umgebung einzufügen. Zuerst habe ich einfach „Figuren+Unterfiguren“ verwendet und das hat gut funktioniert, außer wenn es einen Seitenumbruch gibt. Die Bilder sollten nach dem ersten Item stehen

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

Bildbeschreibung hier eingeben

Ich habe mich also für die Verwendung von Minipage entschieden, und bei Seitenumbrüchen hat es funktioniert. Allerdings funktioniert es nicht sofort, da Sie darauf achten müssen, dass es nicht zu nahe am obigen Absatz steht, wenn keine Seitenumbrüche vorhanden sind. Sie müssen einen vertikalen Abstand hinzufügen, sonst sieht es folgendermaßen aus:

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

Bildbeschreibung hier eingeben

Ich weiß, dass die Minipage-Lösung im Grunde genommen gut funktioniert, selbst wenn ich mich entscheide, vertikalen Platz hinzuzufügen, egal ob er benötigt wird oder nicht, aber es löst immer noch irgendwie meine Zwangsneurose aus. Daher suche ich nach Vorschlägen/Ideen von anderen. Trotzdem hoffe ich, dass dies anderen hilft, denen es genauso geht wie mir.

Antwort1

Der gesamte Zweck figurebesteht darin, den Inhalt aus dem Dokumentfluss zu entfernen und ihn zu einem schwebenden Einschub zu machen, der an einer anderen Stelle positioniert werden kann, auch wenn Sie ihn hso einschließen, dass die möglichen Positionen die aktuelle Position umfassen.

Latex unternimmt einige Anstrengungen, um den Schriftsatz zu normalisieren, so dass ernichtwie ein Teil der Liste aussehen, die aktuelle Einrückungsebene wird verworfen, beispielsweise, da Sie nicht möchten, dass eine Abbildung auf Seite 4 eingerückt wird, nur weil der Quellcode zufällig im Quelltext einer Liste stand.

Wenn die Bilder also Teil der beschrifteten Elemente sind, ist es naheliegend, sie \includegraphicsdirekt zu verwenden. Wenn Sie wirklich eine Überschrift möchten, verwenden Sie eine Miniseite mit „ \linewidthund \captionofwie gezeigt“, obwohl es normalerweise besser ist, einen Absatzumbruch (Leerzeile) nicht \\vor der Miniseite einzufügen oder sie innerhalb der Miniseite einzufügen, \begin{center}wodurch ein gewisser vertikaler Versatz hinzugefügt wird.

Antwort2

Diese Lösung erstellt eine myfigureUmgebung, die subfigures und \captions innerhalb eines zulässt minipage. Es wurde kein Versuch unternommen, die Reihenfolge der Untertitelnummern zu erzwingen.

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

verwandte Informationen