Étiqueter toutes les figures sous forme de tableau [dupliquer]

Nov 21 2020

J'ai trouvé ce code ici et j'ai besoin de savoir si quelqu'un sait comment étiqueter toutes les figures pour pouvoir y faire référence dans le texte et apparaître par exemple: "Dans la figure 1A ..."

\documentclass[12pt,a4paper]{article}
\usepackage{graphicx}
\usepackage{float}

\begin{document}

\begin{figure} [H]
\centering
\begin{tabular}{cccc}
\includegraphics[width=0.3\textwidth]{example-image-a} &
\includegraphics[width=0.3\textwidth]{example-image-b} &
\includegraphics[width=0.3\textwidth]{example-image-c} \\
\textbf{(a)}  & \textbf{(b)} & \textbf{(c)}  \\[6pt]
\end{tabular}
\begin{tabular}{cccc}
\includegraphics[width=0.3\textwidth]{example-image-a} &
\includegraphics[width=0.3\textwidth]{example-image-b} \\
\textbf{(d)}  & \textbf{(e)}  \\[6pt]
\end{tabular}
\caption{ \textbf{(a)} Some text
\textbf{(b)} Some text
\textbf{(c)} Some text
\textbf{(d)} Some text
\textbf{(e)} Some text}
\label{fig:Name}
\end{figure}

\end{document}

Réponses

2 gernot Nov 21 2020 at 18:57

Si vous avez le contrôle sur les images et leurs étiquettes, alors vous devez absolument utiliser l'approche décrite dans les réponses à la question Comment créer, légender, étiqueter et faire référence à une sous-figure? .

Si les cinq images et leurs légendes sont une seule image que vous ne souhaitez pas disséquer, vous pouvez définir une commande \extralabel{labelname}{subnumber}dans le préambule:

\makeatletter
\newcommand\extralabel[2]{{\edef\@currentlabel{\@currentlabel#2}\label{#1}}}
\makeatother

et plus tard peut faire référence labelnameavec \ref.

\documentclass{article}
\makeatletter
\newcommand\extralabel[2]{{\edef\@currentlabel{\@currentlabel#2}\label{#1}}}
\makeatother
\usepackage{graphicx}
\begin{document}
\begin{figure}
\centering
\begin{tabular}{cccc}
\includegraphics[width=0.3\textwidth]{example-image-a} &
\includegraphics[width=0.3\textwidth]{example-image-b} &
\includegraphics[width=0.3\textwidth]{example-image-c} \\
\textbf{(a)}  & \textbf{(b)} & \textbf{(c)}  \\[6pt]
\end{tabular}
\begin{tabular}{cccc}
\includegraphics[width=0.3\textwidth]{example-image-a} &
\includegraphics[width=0.3\textwidth]{example-image-b} \\
\textbf{(d)}  & \textbf{(e)}  \\[6pt]
\end{tabular}
\caption{ \textbf{(a)} Some text
\textbf{(b)} Some text
\textbf{(c)} Some text
\textbf{(d)} Some text
\textbf{(e)} Some text}
\label{fig:Name}
\extralabel{fig:Name:a}{(a)}
\extralabel{fig:Name:b}{(b)}
\extralabel{fig:Name:c}{(c)}
\extralabel{fig:Name:d}{(d)}
\extralabel{fig:Name:e}{(e)}
\end{figure}

See subfigures \ref{fig:Name:a}, \ref{fig:Name:b}, \ref{fig:Name:c}, \ref{fig:Name:d}, \ref{fig:Name:e}.


\end{document}

3 gernot Nov 21 2020 at 19:14

Si vous contrôlez les cinq images et leurs légendes, vous pouvez laisser le subcaptionpackage gérer les sous-légendes et les sous-libellés.

\documentclass{article}
\usepackage{subcaption}
\usepackage{graphicx}
\begin{document}
\begin{figure}
  \centering  
\begin{tabular}{ccc}
  \subcaptionbox{\label{fig:Name:a}}{\includegraphics[width=0.3\textwidth]{example-image-a}} &
  \subcaptionbox{\label{fig:Name:b}}{\includegraphics[width=0.3\textwidth]{example-image-b}} &
  \subcaptionbox{\label{fig:Name:c}}{\includegraphics[width=0.3\textwidth]{example-image-c}}
\end{tabular}
\medskip

\begin{tabular}{cc}
  \subcaptionbox{\label{fig:Name:d}}{\includegraphics[width=0.3\textwidth]{example-image-a}} &
  \subcaptionbox{\label{fig:Name:e}}{\includegraphics[width=0.3\textwidth]{example-image-c}}
\end{tabular}
\medskip

\caption{ \textbf{(a)} Some text \ref{fig:Name:b}
\textbf{(b)} Some text
\textbf{(c)} Some text
\textbf{(d)} Some text
\textbf{(e)} Some text}
\label{fig:Name}
\end{figure}

See subfigures \ref{fig:Name:a}, \ref{fig:Name:b}, \ref{fig:Name:c}, \ref{fig:Name:d}, \ref{fig:Name:e}.

\end{document}