带有 enumitem 的 Numberwithin

带有 enumitem 的 Numberwithin

由此话题,我已经实现了 Mico 的答案。现在,我也想引用这个枚举。例如,

\documentclass{article}
\usepackage{enumitem,cleveref}

\newlist{myenum}{enumerate}{3}
\setlist[myenum,1]{label=\textbf{\arabic*.},
                   ref  =\textbf{\arabic*.}}
\setlist[myenum,2]{label=\textbf{(\alph*)},
                   ref  =\themyenumi\textbf{(\alph*)}}
\setlist[myenum,3]{label=\bfseries(\roman*),
                   ref  =\themyenumii\textbf{.(\roman*)}}

\crefname{myenumi}{item}{items}
\crefname{myenumii}{item}{items}
\crefname{myenumiii}{item}{items}

\usepackage{graphicx,amsmath}
\numberwithin{figure}{myenumi}

\begin{document}

\begin{myenum}
\item 
   \begin{figure}
      \caption{The Universe.\label{fig:universe}}
      \includegraphics{universe}
   \end{figure}
\end{myenum}

As shown in \cref{fig:universe}.

\end{document}

但是,这些行给我带来了这个错误:“缺少 \endcsname 插入。\caption”。有什么办法可以解决这个问题吗?谢谢。

答案1

正如@barbarabeeton 在评论中指出的那样,不能figure在枚举中使用 LaTeX“浮点”对象(例如环境)。为了解决这个问题,我建议您加载caption包并使用\captionof{figure}{...}指令来生成标题。我还建议您使用minipage环境来包裹图形及其相关\captionof指令。这样,您就可以确保标题位于相应图形上方的中心。

另外,我还想建议交叉引用不以粗体显示

在此处输入图片描述

最后一条评论,呼应@AlanMunn 的评论:除非全部图表与 1 级枚举项相关联,您提议的设置没有太多(印刷)意义。事实上,应该避免这种情况。

\documentclass[demo]{article} % remove 'demo' option in real doc.
\usepackage{graphicx,amsmath,enumitem}

\usepackage[skip=0.333\baselineskip]{caption} % for "\captionof" macro
\usepackage{cleveref}

\newlist{myenum}{enumerate}{3}
\setlist[myenum,1]{label=\textbf{\arabic*.},
                   ref  =\arabic*}
\setlist[myenum,2]{label=\textbf{(\alph*)},
                   ref  =\themyenumi.(\alph*)}
\setlist[myenum,3]{label=\bfseries(\roman*),
                   ref  =\themyenumii.(\roman*)}
\crefname{myenumi}{item}{items}
\crefname{myenumii}{item}{items}
\crefname{myenumiii}{item}{items}

\numberwithin{figure}{myenumi}
\begin{document}

\begin{myenum}
\item  
   \begin{minipage}[t]{0.5\linewidth} % choose width suitably
      \captionof{figure}{The Universe.}
      \label{fig:universe}
      \includegraphics[width=\textwidth]{universe}
   \end{minipage}
\end{myenum}

As shown in \cref{fig:universe}, \dots
\end{document}

相关内容