Legenda da figura no ambiente enumerado

Legenda da figura no ambiente enumerado

Minha primeira pergunta aqui. Quero a numeração dos números com base no número enumerado, mais ou menos como \numberwithin{figure}{section}para o ambiente enumerado.

Código de amostra:

\documentclass[10pt,a4paper]{report}
\usepackage{graphicx}
\renewcommand\labelenumi{Q\theenumi.}
\begin{document}
    \begin{enumerate}
    \item 
    \begin{enumerate}
        \item Question 1 Part (a)
        \item Question 1 Part (b)
        \begin{figure}[h]
            \centering
            \includegraphics[width=0.2\linewidth]{imageQ1b}
            \caption[Figure Q1(b)]{The caption should be appear as Figure Q1(b) instead of Figure 1: }
        \end{figure}
        \item Question 1 Part (c)
        \begin{figure}[h]
            \centering
            \includegraphics[width=0.2\linewidth]{imageQ1c}
            \caption{The caption should be appear as Figure Q1(c) instead of Figure 2: }
        \end{figure}
    \end{enumerate}
    \item 
    \begin{enumerate}
        \item Question 2 Part(a)
        \begin{figure}[h]
            \centering
            \includegraphics[width=0.2\linewidth]{imageQ2a}
            \caption{The caption appear as Figure Q2(a) instead of Figure 3: }
        \end{figure}
        \item Question 2 Part(b)
    \end{enumerate}
    \end{enumerate}
\end{document}

Obrigado!

Responder1

Em princípio, trata-se apenas de uma questão de redefinir a representação impressa do número da figura, por exemplo

\renewcommand{\thefigure}{Q\theenumi(\theenumii)}

(supondo que você tenha apenas um número por item de enumeração de segundo nível, portanto o valor real de figureé irrelevante). No entanto, se você tiver números em outras partes do documento, obterá uma numeração estranha deles. Então, em primeiro lugar, essa alteração deve ser aplicada apenas no início do enumerate.

Porém, agora o número dos outros números (fora enumerate) salta alguns valores. Uma maneira de contornar isso é definir um novo contador

 \newcounter{curfigure}

salve o valor original do contador de figuras neste início do enumerateambiente

\setcounter{curfigure}{\value{figure}}

e restaure-o no final através do arquivo \setcounter{figure}{\value{curfigure}}.

Figuras de amostra

com referências cruzadas

Referências de amostra

Como você não quer que suas figuras flutuem, você deve usar um centerambiente e \captionof{figure}{....}da captionembalagem.

Os números largos das figuras significam que os rótulos na lista de figuras se sobrepõem ao texto nas configurações padrão de report, portanto, no código abaixo, também ajustei isso.

\documentclass[10pt,a4paper]{report}

\usepackage{graphicx,caption}

\renewcommand\labelenumi{Q\theenumi.}
\newcounter{curfigure}

\makeatletter
\renewcommand{\l@figure}{\@dottedtocline{1}{1.5em}{3em}}
\makeatother

\begin{document}

\listoffigures

\clearpage

\begin{figure}
  \centering
  Test figure.
  \caption{Test figure.}
  \label{fig:test}
\end{figure}

\begin{enumerate}
\setcounter{curfigure}{\value{figure}}
\renewcommand{\thefigure}{Q\theenumi(\theenumii)}
\item
  \begin{enumerate}
  \item Question 1 Part (a)
  \item Question 1 Part (b)
    \begin{center}
      \centering
      \includegraphics[width=0.2\linewidth]{example-image-a}
      \captionof{figure}{The caption appears as Figure
      Q1(b): instead of Figure 1:}\label{fig:1b}
    \end{center}
  \item Question 1 Part (c)
    \begin{center}
      \centering
      \includegraphics[width=0.2\linewidth]{example-image-b}
      \captionof{figure}{The caption appears as Figure Q1(c): instead
      of Figure 2:}\label{fig:1c}
    \end{center}
  \end{enumerate}
\item
  \begin{enumerate}
  \item Question 2 Part(a)
    \begin{center}
      \centering
      \includegraphics[width=0.2\linewidth]{example-image-a}
      \captionof{figure}{The caption appears Figure Q2(a): instead of
      Figure 3:}\label{fig:2a}
    \end{center}
  \item Question 2 Part(b)
  \end{enumerate}
\end{enumerate}
\setcounter{figure}{\value{curfigure}}

\begin{figure}
  \centering
  Test figure two.
  \caption{Test figure two.}
  \label{fig:test-2}
\end{figure}

\begin{figure}
  \centering
  Test figure three.
  \caption{Test figure three.}
  \label{fig:test-3}
\end{figure}

The figures in the questions are \ref{fig:1b}, \ref{fig:1c}
and~\ref{fig:2a}.

The other figures are \ref{fig:test}, \ref{fig:test-2}
and~\ref{fig:test-3}.

\end{document}

informação relacionada