
私は、itemize 環境内に画像を挿入する「普遍的な」方法を見つけたいと考えていました。最初は、図とサブ図を単純に使用しましたが、ページ区切りがある場合を除いてうまくいきました。画像は最初の項目の後に配置する必要があります。
\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}
必要かどうかに関係なく垂直方向のスペースを追加することに決めたとしても、ミニページ ソリューションはあらゆる意図と目的において問題なく機能することはわかっていますが、それでも私の OCD を少し引き起こします。そのため、他の人からの提案やアイデアを探しています。とはいえ、これが私と同じ状況にある他の人の役に立つことを願っています。
答え1
の目的は、figure
コンテンツをドキュメント フローから取り出し、h
現在の場所を含む可能性のある位置を含めた場合でも、他の場所に配置できるフローティング インサートにすることです。
そのため、LaTeXはタイプセッティングを標準化するためにかなりの努力をしており、ないたとえば、ソース コードがリストのソースにたまたま含まれているという理由だけで、ページ 4 の図をインデントしたくないので、リストの一部のように見える場合、現在のインデント レベルは破棄されます。
したがって、画像がラベル付けされたアイテムの一部である場合は、そのまま使用するのが最適です。\includegraphics
キャプションが本当に必要な場合は、示されているようにミニページを使用します\linewidth
。ただし、通常は、ミニページの前で\captionof
はなく段落区切り (空白行) を入れるか、ミニページの内側に入れて垂直オフセットを追加する方が適切です。\\
\begin{center}
答え2
このソリューションは、内でおよびmyfigure
を許可する環境を作成します。キャプション番号を強制的に順序付ける試みは行われませんでした。subfigure
\caption
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}