逐项列表中带有标题的图形未正确缩进

逐项列表中带有标题的图形未正确缩进

我正在尝试将带有标题的图像放在一个itemize环境中(另一个itemize环境中)。当我有无标题的图像时,只需使用\includegraphics,它就会缩进到与列表中其他元素相同的级别itemize。但是,当我因为想要标题而将其包装在一个figure环境中时,它会缩进到左边距,完全超出列表。

以下是我得到的信息:

\begin{itemize}
    \item Describing large-scale processor activity.

    \item To discuss digital systems of this scale and level of complexity
    we need a number of descriptive tools.

    \item For example:                                                 

    \begin{itemize}
        \item[a)] Circuit schematics highlight the circuit components and
        their connectivity.

        \begin{figure}[h]

            \includegraphics[width=10cm{assets/fig001.png}
            \caption{Transfer from R1 to R2 whenK1=1}
        \end{figure}
        \item[b)] Timing diagrams highlight the detailed time sequence of
        transfer between registers

        \includegraphics[width=10cm]{assets/fig002.png}

    \end{itemize}
\end{itemize}

结果如下:

在此处输入图片描述

我已经尝试过hh!H进行figure定位,但它仍然停留在原来的位置。

TL;DR:我怎样才能让此处的第一张图片像第二张图片一样缩进,但带有标题?

答案1

figure如果您希望图像出现在您写入的准确位置,请不要使用浮动环境(例如)。您可以使用命令(由包或包提供)minipage,如果需要标题。\captionofcapt-ofcaption

在下面的例子中,我说明了这种方法;我还使用了 enumitem 包来定制内部列表的标签:

\documentclass{article}
\usepackage[demo]{graphicx}% demo option just for the example
\usepackage{caption}
\usepackage{enumitem}
\begin{document}

\begin{itemize}
    \item Describing large-scale processor activity.
    \item To discuss digital systems of this scale and level of complexity
    we need a number of descriptive tools.
    \item For example:                                                 
    \begin{enumerate}[label=\alph*)]
        \item Circuit schematics highlight the circuit components and
        their connectivity.\par
        \begin{minipage}{\linewidth}
            \centering
            \includegraphics[width=10cm]{assets/fig001.png}
            \captionof{figure}{Transfer from R1 to R2 whenK1=1}
        \end{minipage}
        \item Timing diagrams highlight the detailed time sequence of
        transfer between registers.\par
        \includegraphics[width=10cm]{assets/fig002.png}
    \end{enumerate}
\end{itemize}

\end{document}

在此处输入图片描述

答案2

当使用 Gonzalo Medina 的解决方案时,hypcap 不知道实际的图形在哪里。图形列表中的超链接直接链接到标题,而不是图形的顶部。

这就是抛出此错误的原因:

包标题警告:选项“hypca=true”将被忽略....

一个更好的解决方案是\caption\captionsetup{type=figure}上面的结合使用。这标志着图形的开始,并允许在浮动环境之外\includegraphics使用。\caption

一个例子:

\documentclass{book}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{caption}
\begin{document}
    \listoffigures
    \newpage
    \chapter{List}
    \begin{itemize}
        \begin{minipage}{\linewidth}
            \item
                \captionsetup{type=figure}
                \includegraphics[width=0.5\linewidth]{picture}
                \caption{text}      
        \end{minipage}
    \end{itemize}
    \newpage
    Add space.
\end{document}

我找到了解决方案德国来源。

相关内容