
Meine allererste Frage hier. Ich möchte eine Nummerierung der Abbildungen basierend auf der Aufzählungsnummer, ähnlich wie, \numberwithin{figure}{section}
aber für die Aufzählungsumgebung.
Beispielcode:
\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}
Danke!
Antwort1
Im Prinzip handelt es sich dabei lediglich um eine Neudefinition der gedruckten Darstellung der Abbildungsnummer durch z. B.
\renewcommand{\thefigure}{Q\theenumi(\theenumii)}
(vorausgesetzt, Sie haben nur eine Zahl pro Aufzählungselement auf zweiter Ebene, sodass der tatsächliche Wert von figure
irrelevant ist). Wenn Sie jedoch an anderen Stellen in Ihrem Dokument Zahlen haben, erhalten Sie eine seltsame Nummerierung dieser. Daher sollte diese Änderung zunächst nur am Anfang von angewendet werden enumerate
.
enumerate
Allerdings überspringt nun die Anzahl der anderen Zahlen (außerhalb ) einige Werte. Eine Möglichkeit, dies zu umgehen, besteht darin, einen neuen Zähler zu definieren
\newcounter{curfigure}
Speichern Sie den ursprünglichen Wert des Zahlenzählers in dieser am Anfang der enumerate
Umgebung
\setcounter{curfigure}{\value{figure}}
und dann am Ende über die entsprechende wiederherstellen \setcounter{figure}{\value{curfigure}}
.
mit Querverweisen
Da Sie nicht möchten, dass Ihre Figuren schweben, sollten Sie eine center
Umgebung und \captionof{figure}{....}
das caption
Paket verwenden.
Die breiten Abbildungsnummern führen dazu, dass die Beschriftungen im Abbildungsverzeichnis in den Standardeinstellungen für den Text überlappen report
, daher habe ich das im folgenden Code ebenfalls angepasst.
\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}