我正在尝试将带有标题的图像放在一个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}
结果如下:
我已经尝试过h
,h!
并H
进行figure
定位,但它仍然停留在原来的位置。
TL;DR:我怎样才能让此处的第一张图片像第二张图片一样缩进,但带有标题?
答案1
figure
如果您希望图像出现在您写入的准确位置,请不要使用浮动环境(例如)。您可以使用命令(由包或包提供)minipage
,如果需要标题。\captionof
capt-of
caption
在下面的例子中,我说明了这种方法;我还使用了 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}